Hibernate3.x,hibernate3.x,Hibernate3.x整合Spring3.x不能实现自动创建表结构的解决办法:...

一:今天遇到一个诡异的问题,就是关于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来实现自动建表。


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/443536.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux s t i a权限,关于Linux下s、t、i、a权限

关于Linux下s、t、i、a权限文件权限除了r、w、x外还有s、t、i、a权限&#xff1a;s&#xff1a;文件属主和组设置SUID和GUID&#xff0c;文件在被设置了s权限后将以root身份执行。在设置s权限时文件属主、属组必须先设置相应的x权限&#xff0c;否则s权限并不能正真生效(c h m …

linux ssh禁止用户访问任何目录,怎么限制远程ssh用户访问特定的文件

比如我要实现以下目标&#xff0c;通过配置linux限制SSH用户指定目录user 1 只可以访问 /Media, /Documents以及它的家目录User 2 只可以访问/Folder21, 以及它的家目录,User 3 只可以访问 /Documents, /Folder21 以及他的家目录,ssh如何限制指定目录2. 通过配置Linux权限限制S…

linux配置定时删除日志文件,Linux使用shell脚本定时删除历史日志文件

Linux使用shell脚本定时删除历史日志文件,文件,小时,时间,目录,脚本Linux使用shell脚本定时删除历史日志文件易采站长站&#xff0c;站长之家为您整理了Linux使用shell脚本定时删除历史日志文件的相关内容。1、tools目录文件结构[rootwww tools]# tree tools/tools/├── bin│…

linux awk执行shell命令,awk调用shell命令

在awk内部可利用管道和getline函数来调用shell命令&#xff0c;并可得到返回的具体结果&#xff0c;进行相应处理。例子如下&#xff1a;1) {while ( ("ls" | getline) >0 )print}输出当前目录下的所有文件&#xff0c;并打印到标准输出上。| 是管道&#xff0c;g…

linux添加启动脚本文件夹,linux – 将脚本中的符号链接添加到rc.d文件夹中以在系统启动期间启动进程...

我正在使用fedora 15.我试图添加MYSql守护进程在系统strtup期间启动.我已经明白我必须将它添加到rc5.d,因为它是默认目标&是graphical.target.来自inittab&#xff1a;systemd uses ‘targets’ instead of runlevels. By default, there are two main targets:multi-user.…

org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException:

一&#xff1a;今天在使用struts2做文件上传时出现了该异常&#xff1a; 警告: Unable to parse request org.apache.commons.fileupload.FileUploadBase$SizeLimitExceededException: the request was rejected because its size (5897994) exceeds the configured maximum (2…

linux天气软件,类似智能手机!Linux中安装Conky天气插件

如今&#xff0c;智能手机中很多都安装相匹配外观的天气小插件&#xff0c;而对于喜欢操作系统平台的用户而言&#xff0c;可以在你的Linux桌面中拥有像智能手机一样的天气外观。通过Flair Weather Conky可以将使用一个GUI工具Conky Manager在Linux中轻松地管理Conky。这里介绍…

linux go 安装路径,在Alpine Linux D的路径中找不到已安装的Go二进制文件

我有一个Go二进制文件&#xff0c;试图在Alpine Docker映像上运行。这对于Docker Go二进制文件很好用。docker run -it alpine:3.3 shapk add --no-cache curlDOCKER_BUCKETget.docker.comDOCKER_VERSION1.9.1curl -fSL "https://${DOCKER_BUCKET}/builds/Linux/x86_64/do…

linux安装下载中文包,linux下安装中文包和字体

在虚拟机中使用中文输入法和中文显示使用的是rhel5的镜像我把其镜像挂载在/mnt/cdrom中&#xff0c;然后切换到/Server目录下&#xff0c;安装支持中文字体Mount /dev/cdrom /mnt/cdromCd /mnt/cdrom/serverrpm -ivh fonts-chinese-3.02-9.6.el5.noarch.rpmrpm -ivh fonts-ISO8…

Java-Jdbc,JDBC连接Oracle11g实例:

很长时间没用Oracle数据库了&#xff0c;今天在公司的电脑上装了一个Oracle11g&#xff0c;安装完成后&#xff0c;顺便写了个简单的Jdbc连接Oracle的例子&#xff0c;现在记录一下&#xff0c;方便以后查看&#xff1a; 例子很简单&#xff0c;直接上代码&#xff1a; (注意&…

linux无桌面重做系统,Linux不需要重做系统

感谢hsyyf的投递但从系统构架上来讲&#xff0c;总所周知&#xff0c;Linux的稳定性远大于windows&#xff0c;单纯的使用不会引起系统的损坏。当不进行危险操作时&#xff0c;例如执行sudo rm-rf/*之类的命令&#xff0c;或者混用分区工具&#xff0c;是不会引起各种彻底性损坏…

linux远程连接工具putty使用方法,linux远程登陆工具putty使用

#putty工具百度下载即可&#xff0c;最好从官网下。安装时&#xff0c;除安装位置外&#xff0c;其余默认即可。1、使用命令ifconfig命令&#xff0c;记下eth0的IP&#xff0c;我的是192.168.1.1692、打开putty&#xff0c;并将查到的ip写在图中位置&#xff0c;下侧的Saved Se…

linux来源usb驱动在哪下载,Linux USB驱动程序基础

非常好的linux驱动入门,介绍详尽Linux USB驱动程序基础来源: ChinaUnix博客日期&#xff1a;2008.04.10 23:55(共有条评论) 我要评论(Linux USB Driver BasicsIntroductionDrivers are software components that operating systems use to providehardware specific services t…

linux中ss实现原理,ss 详解

ss用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息&#xff0c;它可以显示和netstat(参考https://www.jianshu.com/p/7630474c39b1)类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息&#xff0c;而且比netstat更快速更高效。当服…

Hibernate3.X实现基于CLOB字段类型的注解方式:

一&#xff1a;Hibernate3.X实现基于CLOB字段类型的注解方式的例子&#xff1a;下面直接上代码&#xff1a; 二&#xff1a;UserInfo.java package cn.gov.csrc.cms.model;import javax.persistence.Basic; import javax.persistence.Column; import javax.persistence.Entity;…

linux mint安装步骤,Linux mint 安装步骤

##Linux mint 安装步骤##家里的笔记本以前一直用Deepin系统&#xff0c;但是Deepin系统的wifi实在是太慢了。还有就是启动软件是有时候总没响应&#xff0c;卡死机。 最近重装系统&#xff0c;选择了mint ,在这里记录下安装步骤。###1.制作U盘启动盘###下载iso文件&#xff0c;…

linux 商业游戏,Ubuntu下安装试玩原生Linux版商业游戏Braid

这款原生Linux版商业游戏Braid国外出售价大约在80美元左右。每年在Linux平台上发布的原生商业游戏是屈指可数&#xff0c;而且这些游戏的质量也是参差不齐。不过这款原生Linux版商业游戏Braid还是值得一玩的&#xff0c;这款Braid游戏创意十足&#xff0c;您可以通过拼图和时间…

linux centos 7 crontab 启动,CentOS 7 Linux执行crontab 计划任务实操 - 好应网

[inlosc_lg_title]一、环境准备[/inlosc_lg_title]yum install vixie-cron #安装定时任务插件yum install crontabs #安装定时任务crontabs/bin/systemctl restart crond.service #启动服务/bin/systemctl reload crond.service #重新载入配置/bin/systemctl status crond.serv…

变量的初始化与使用C语言程序注释,c - (为什么)使用未初始化的变量未定义行为?...

C标准为编译器提供了很大的优势来执行优化。 如果您假设一个简单的程序模型&#xff0c;其中未初始化的内存被设置为某个随机位模式&#xff0c;并且所有操作都按照它们的写入顺序执行&#xff0c;那么这些优化的后果可能会令人惊讶。注意&#xff1a;以下示例仅有效&#xff0…

三羊献瑞c语言编程入门,蓝桥杯-三羊献瑞,

蓝桥杯-三羊献瑞&#xff0c;更多精彩文章请关注公众号『大海的BLOG』问题观察下面的加法算式&#xff1a;祥 瑞 生 辉 三 羊 献 瑞----------------三 羊 生 瑞 气其中&#xff0c;相同的汉字代表相同的数字&#xff0c;不同的汉字代表不同的数字&#xff0c;‘三’和‘祥’不…