Spring整合Hibernate中 不能自动建表问题
2012-12-26 13:19
525 查看
刚好遇到这个问题,在网上看到了解决方法,就复制过来放着以防以后忘记了...
1、在单独的使用Hibernate时,在Hibernate映射文件(hibernate.hbm.xml)中配置好各个类的关系,然后再Hibernate配置文件(hibernate.cfg.xml)中添加属性可以自动在数据库中创建表结构(注:只能创建表,而非创建库)。
主要代码如下:
<!--自动在数据库中建立表 -->
<property name="hbm2ddl.auto">update</property>(还有几个属性,自己查文档)
2、在我使用spring 整合hibernate时,代码如下:
<property name="hibernateProperties">
<props>
<prop key="dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="show_sql">true</prop>
<prop key="hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
运行程序,提示表不存在,可见自动建表并未成功。
3、解决方法。
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
分析:可能是在spring配置文件中,并不识别“hbm2ddl.auto”项,所以该项配置根本没起到作用,而使用“hibernate.hbm2ddl.auto”,spring的配置文件是可以识别的,问题得到解决。期待有更权威的解释。
注:我之前一直按照这个方法来,没复制,把<prop key="hibernate.hbm2ddl.auto">create</prop>中的hbm2ddl写成了hbm2dll,悲剧好久。。
转自http://hi.baidu.com/tanyunjian789/item/4402231ee1a02d6671d5e8af
1、在单独的使用Hibernate时,在Hibernate映射文件(hibernate.hbm.xml)中配置好各个类的关系,然后再Hibernate配置文件(hibernate.cfg.xml)中添加属性可以自动在数据库中创建表结构(注:只能创建表,而非创建库)。
主要代码如下:
<!--自动在数据库中建立表 -->
<property name="hbm2ddl.auto">update</property>(还有几个属性,自己查文档)
2、在我使用spring 整合hibernate时,代码如下:
<property name="hibernateProperties">
<props>
<prop key="dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="show_sql">true</prop>
<prop key="hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
运行程序,提示表不存在,可见自动建表并未成功。
3、解决方法。
<property name="hibernateProperties">
<props>
<prop key="hibernate.dialect">org.hibernate.dialect.SQLServerDialect</prop>
<prop key="hibernate.show_sql">true</prop>
<prop key="hibernate.hbm2ddl.auto">create</prop>
</props>
</property>
</bean>
分析:可能是在spring配置文件中,并不识别“hbm2ddl.auto”项,所以该项配置根本没起到作用,而使用“hibernate.hbm2ddl.auto”,spring的配置文件是可以识别的,问题得到解决。期待有更权威的解释。
注:我之前一直按照这个方法来,没复制,把<prop key="hibernate.hbm2ddl.auto">create</prop>中的hbm2ddl写成了hbm2dll,悲剧好久。。
转自http://hi.baidu.com/tanyunjian789/item/4402231ee1a02d6671d5e8af
相关文章推荐
- spring和hibernate整合时不能自动创建表的问题
- SSH整合中在Hibernate不能自动创建表的问题
- Hibernate3.x,hibernate3.x,Hibernate3.x整合Spring3.x不能实现自动创建表结构的解决办法:
- 关于Spring整合Hibernate中自动建表问题(hbm2ddl.auto)
- 使用Spring整合Hibernate出现无法自动建立表的问题
- spring整合Hibernate事务不能自动回滚
- Hibernate与spring整合不能建表的问题
- 解决spring整合hibernate后不能用getCurrentSession()的问题
- 【Java EE 学习 53】【Spring学习第五天】【Spring整合Hibernate】【Spring整合Hibernate、Struts2】【问题:整合hibernate之后事务不能回滚】
- 探讨Spring与Hibernate的整合所遇到的管理Session的问题
- 关于Spring整合Hibernate事务问题
- 在spring,hibernate,struts2框架整合中出现的no session问题
- spring整合hibernate使用getHibernateTemplate().save()方法不能输入数据库
- Tapestry+spring+hibernate整合使用时HQL语句问题!
- hibernate中关于数据库方言导致不能自动生成数据库表的问题
- SpringMVC+Spring+Hibernate整合出现Executing an update/delete query问题
- Spring2.5、Struts2.1、Hibernate3.2、sitemesh、freemarker整合开发常见问题及解决方案
- struts2+hibernate+spring整合过程中遇到的问题
- Spring3.0+Struts2.2+Hibernate3.6整合与常见问题
- 解决问题(八)——jsf+spring+hibernate整合(二)