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.pswp.cn/news/443536.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/443536.shtml
英文地址,請注明出處:http://en.pswp.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;‘三’和‘祥’不…