一:今天遇到一个诡异的问题,就是关于hibernate3.x实现表结构自动创建,一般我们在用Struts2,Hibernate3.x,Spring3.x搭建框架,尤其在开发阶段都希望在启动Web容器时就可以根据Bean实体自动创建数据表结构,但是今天发现不行,经过查找,最终解决,现在记录一下:
二:首先是实体Bean类:这里我们以User.java为例:
User.java
package net.lampbrother.survey.domain;
import java.util.Date;
import java.util.HashSet;
import java.util.Set;
/**
* 用户实体
*/
public class User {
private Integer id;
private String email;
private String password;
private String nickName;
private Date regDate = new Date();
private Set<Survey> surveys = new HashSet<Survey>();
public Integer getId() {
return id;
}
public void setId(Integer id) {
this.id = id;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getNickName() {
return nickName;
}
public void setNickName(String nickName) {
this.nickName = nickName;
}
public Date getRegDate() {
return regDate;
}
public void setRegDate(Date regDate) {
this.regDate = regDate;
}
public Set<Survey> getSurveys() {
return surveys;
}
public void setSurveys(Set<Survey> surveys) {
this.surveys = surveys;
}
}
三:接下来是User.hbm.xml文件:
<?xml VERSION="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
<hibernate-mapping>
<class NAME="net.lampbrother.survey.domain.User" TABLE="USERS">
<id NAME="id" TYPE="java.lang.Integer">
<COLUMN NAME="USER_ID" />
<generator class="native" />
</id>
<property NAME="email" TYPE="java.lang.String">
<COLUMN NAME="EMAIL" />
</property>
<property NAME="password" TYPE="java.lang.String">
<COLUMN NAME="PASSWORD" />
</property>
<property NAME="nickName" TYPE="java.lang.String">
<COLUMN NAME="NICK_NAME" />
</property>
<property NAME="regDate" TYPE="java.util.Date">
<COLUMN NAME="REG_DATE" />
</property>
</class>
</hibernate-mapping>
四:接下来就是hibernate的配置文件:hibernate.cfg.xml
<?xml VERSION="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
<SESSION-factory>
<property NAME="show_sql">TRUE</property>
<property NAME="format_sql">TRUE</property>
<property NAME="hbm2ddl.auto">UPDATE</property>
<!-- 上面的这个不能自动创建表结构 -->
<!-- 根据Bean自动生成数据库表,MySql5.5以后要使用org.hibernate.dialect.MySQL5InnoDBDialect才能创建成功! -->
<!-- <property name="dialect">org.hibernate.dialect.MySQLInnoDBDialect</property> -->
<property NAME="dialect">org.hibernate.dialect.MySQL5InnoDBDialect</property>
<property NAME="jdbc.fetch_size">200</property>
<property NAME="jdbc.batch_size">50</property>
<!-- 加入 Hibernate 映射文件 -->
<mapping resource="net/lampbrother/survey/domain/User.hbm.xml"/>
</SESSION-factory>
</hibernate-configuration>
五:究其原因是:MySQL5.5版本以后就不能用:org.hibernate.dialect.MySQLInnoDBDialect方言来实现自动建表了,必须改用:org.hibernate.dialect.MySQL5InnoDBDialect来实现自动建表。
分享到:
相关推荐
springmvc 和 spring,都是5.0版本,hibernate5.x版本,详细curd,实体反转。
因为struts2+Hibernate+Spring整合J2EE企业级开发框架新手会有很多错误.所以特为新手写了一个框架.在附件里面有oracle最新的jar包和sqlserver2008的连接驱动.
Spring3.x_Struts2.x_Hibernate3.x整合实例
spring 、 Spring MVC 、 Hibernate 4.x 整合案例 增删查改的封装,,里面是代码包括简单的框架搭建,只需下载后就可以允许,,正在对分页查询进行封装
Struts2 2.3.15 + Hibernate 3.x.x + Spring 3.2.3整合JAR包
此处提供三个文档,有用配置文件直接配的,有借助eclipse工具生成的,对最近的Struts+Spring+Hibernate进行带图文的详细整合接受,此文档由本人进行整理,希望对大家有所帮助。
Spring3.1.1+Struct+hibernate3.x必须的jar包
Struts1.x Spring2.x Hibernate3.x DWR2.x整合工具文档v1.00 方便学生使用的工具文档 里面有比较全的经典配置文件示例 更多请见我博客 http://blog.csdn.net/shadowkiss
基于eclipse的struts2.x+hibernate3.x+spring3.x整合文档及实例源码,亲自测试成功,下载后,只需修改数据库的用户名及密码和端口即可,(附上sql文件)
spring-hibernate3.jar包,直接导入路径即可,解决Class 'org.springframework.orm.hibernate3.LocalSessionFactoryBean' not found这个错误
Class'org.springframework.orm.hibernate3.LocalSessionFactoryBean'not found 解决办法
案例8:Spring整合Spring MVC与Hibernate + EasyUI实现电子商城后台订单管理.docx案例8:Spring整合Spring MVC与Hibernate + EasyUI实现电子商城后台订单管理.docx案例8:Spring整合Spring MVC与Hibernate + EasyUI...
案例8:Spring整合Spring MVC与Hibernate + EasyUI实现电子商城后台订单管理.pdf案例8:Spring整合Spring MVC与Hibernate + EasyUI实现电子商城后台订单管理.pdf案例8:Spring整合Spring MVC与Hibernate + EasyUI...
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in class path resource [org/springframework/boot/autoconfigure/orm/jpa/...
spring mvc spring4.x hibernate4.注解方式注入 简单的例子.spring mvc spring4.x hibernate4.注解方式注入 简单的例子.
本jar包是struts1.x+spring 2.x+hibernate3.x jar
一、整合开发时Hibernate、Spring需要的JAR文件。 hibernate核心安装包下的(下载路径:http://www.hibernate.org/,点击“Hibernate Core”右边的“Downloads”): hibernate3.jar lib\bycode\cglib\hibernate-...