我在用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,请救救我吧,这个问题困扰了我一个上午,以前建数据库时好像与今天没有什么不同,为什么今天就不行了呢?
错误日志信息:**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 + JSF
谢谢,不过我很清楚update和create的区别,早就设置了。问题出在,那是我以前创建的数据库,而且已经手动删除(虽然没有彻底删除),所以,Tomcat启动时,还是会认为没有数据库而去创建,但是创建时却发现,无法成功创建,我就理解到这里,再深入的,我就不清楚了。这可能就要涉及到Hibernate创建数据库和MySql的实现机制了……