hibernate学习相关总结和问题解决
2016-09-09 10:43
323 查看
hibernate学习相关总结和问题解决
hibernate不自动建表问题
配置了<property name="hibernate.hbm2ddl.auto">update</property>之后,在数据库中不存在相应的数据表的时候,仍然无法自动创建表,可以查看是否是数据库方言的问题,
出错原因:原代码
<property name="hibernate.dialect">org.hibernate.dialect.MySQLInnoDBDialect</property>在mysql5.5以上版本,配置方言的时候mysql默认存储引擎为InnoDB,需创建新表(表名不存在),数据库方言只能选择MySQLDialect;
修改方案:修改配置为
<property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>(推荐)
或者
<property name="hibernate.dialect">org.hibernate.dialect.MySQDialect</property>
配置文件模板记录
<?xml version='1.0' encoding='utf-8'?> <!DOCTYPE hibernate-configuration PUBLIC "-//Hibernate/Hibernate Configuration DTD 3.0//EN" "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> <hibernate-configuration> <session-factory> <!-- Database connection settings --> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.url">jdbc:mysql://localhost:3306/baron</property> <property name="connection.username">root</property> <property name="connection.password">songjin</property> <!-- JDBC connection pool (use the built-in) --> <property name="connection.pool_size">1</property> <!-- SQL dialect --> <property name="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property> <!-- Enable Hibernate's automatic session context management --> <property name="current_session_context_class">thread</property> <!-- Disable the second-level cache --> <!-- <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> --> <!-- Echo all executed SQL to stdout --> <property name="show_sql">true</property> <!-- Drop and re-create the database schema on startup --> <property name="hbm2ddl.auto">update</property> <property name="hibernate.format_sql">true</property> <!-- <mapping resource="org/hibernate/tutorial/domain/Event.hbm.xml"/> --> <mapping resource="com/song/hb/model/user.hbm.xml"/> <mapping class="com.song.hb.model.Teacher"/> </session-factory> </hibernate-configuration>
hibernate4获取SessionFactory的方式变化
Configuration configuration = new Configuration().configure(); StandardServiceRegistry serviceRegistry = new StandardServiceRegistryBuilder().applySettings(configuration.getProperties()).build(); SessionFactory sessionFactory = configuration.buildSessionFactory(serviceRegistry);
相关文章推荐
- 学习总结之EXTJS相关了解和问题解决篇
- WCF学习总结——什么是WCF以及用WCF解决什么问题
- WP7入门篇(三)编程环境搭建以及相关学习资源(解决安装问题篇)
- Ubuntu学习总结-08 Ubuntu运行Shell脚本报 shell /bin/bash^M: bad interpreter错误问题解决
- SVN学习总结(4)——解决Win10 SVN图标不显示问题
- js事件跨浏览器解决问题的学习与总结
- ESXi(ESXi 4.1)相关问题解决方法和操作学习笔记
- 学习Hibernate碰到的问题以及解决问题的方法(长期更新)
- Mysql学习总结(34)——Mysql 彻底解决中文乱码的问题
- 如何建立第一个hibernate项目以及解决相关出现的问题
- cxfreeze打包工程文件生成.exe,运行exe出现闪退问题,相关解决办法总结
- Flex解决“无法为区域设置“zh_CN”解析资源束“ViewerStrings””问题总结(学习笔记)
- 最近在ArcGIS Engine开发中关于调用gp工具过程出现COM 组件的调用返回了错误 HRESULT E_FAIL 错误的解决方法 和 学习oracle中遇到的一些问题总结
- 学习hibernate又一些解决问题
- 学习struts2建bbs总结四:解决jsp/action中文传值乱码问题
- Mysql学习总结(34)——Mysql 彻底解决中文乱码的问题
- 【学习点滴-php】使用phpExcel类导出excel文件相关问题总结
- MySQL问题解决:-bash:mysql:command not found 分类: ubuntu 问题总结 python基础学习 software database 2014-01-22 16:00 3088人阅读 评论(1) 收藏
- C++学习笔记-类相关问题总结
- Spring学习总结(20)——Spring加载多个项目properties配置文件问题解决