Spring集成Hibernate无法创建数据库表?
我在用Spring集成Hibernate时,配置好了Hibernate.cfg.xml和applicationContext.xml都没用问题,但是在Tomcat启动的时候,无法创建数据库,这些Tomcat启动时的提示信息。我的OpenSessionInViewFilter等都配好了,经过之前的测试,都成功了,目前最怀疑的就是User.hbm.xml文件配置。其实,我的多个数据库表均无法生成,只列出User表无法创建的信息。另外我的entity.hbm.xml和Hibernate.cfm.xml都是通过Ant+Xdoclet生成的。
错误日志信息:
**11:46:40,328 INFO DatabaseMetadata:91 - table not found: T_User
**11:46:40,515 DEBUG SchemaUpdate:149 - create table T_User (id integer not null auto_increment, username varchar(255) not null unique, password varchar(255) not null, createTime datetime, expireTime datetime, person integer unique, primary key (id))
**11:46:40,593 ERROR SchemaUpdate:155 - Unsuccessful: create table T_User (id integer not null auto_increment, username varchar(255) not null unique, password varchar(255) not null, createTime datetime, expireTime datetime, person integer unique, primary key (id))
User.hbm.xml文件的主要配置为:
<hibernate-mapping>
<class table="T_User" name="com.shizhong.oa.model.User">
<id name="id">
<generator class="native"/>
</id>
<property name="username" not-null="true" unique="true"/>
<property name="password" not-null="true"/>
<property name="createTime" update="false"/>
<property name="expireTime"/>
<many-to-one unique="true" name="person"/>
</class>
</hibernate-mapping>
万能的CSDN,请救救我吧,这个问题困扰了我一个上午,以前建数据库时好像与今天没有什么不同,为什么今天就不行了呢?
------解决方案--------------------你先用spring框架在用hibernate,那个hibernate.cfg.xml不要了,只要那个applicationContext.xml配置不就行了
------解决方案--------------------<property name="hibernate.hbm2ddl.auto">update</property>
------解决方案--------------------hibernate.cfg.xml这个文件里的内容可以移植到applictioncontext-*.xml文件里
------解决方案--------------------楼主可以去试试用 spring结合hibernate中的这个 org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean
去连接数据库
------解决方案--------------------<property name="hibernate.hbm2ddl.auto">update </property>5楼正确
我们也在用 spring + hibernate + JSF