1. 程式人生 > >Hibernate無法自動建立資料庫表

Hibernate無法自動建立資料庫表

今天在學習Hibernate的時候,通過JavaBean實體類和hbm對映檔案自動建立資料庫表,實體類和物件關係對映檔案寫的都沒有錯誤,執行時也不報錯,但是就是沒生成資料庫表,查了半天才發現是因為 hibernate.cfg.xml檔案中缺少了一個自動建立資料庫表的語句:

<property name="hibernate.hbm2ddl.auto">update</property>

因此,如果選擇使用Hibernate官方推薦的通過物件和關係對映檔案生成資料庫表的方式進行開發,一定不要忘記在hibernate.cfg.xml檔案中加上個語句。

hibernate.hbm2ddl.auto 是Hibernate的一個屬性,有四個值:create,create-drop,update,validate;

各自的具體含義如下:

<!-- 啟動時刪資料庫中的表,然後建立,退出時不刪除資料表
 
<property name="hibernate.hbm2ddl.auto">create</property>-->
 
<!-- 啟動時刪資料庫中的表,然後建立,退出時自動刪除所有表
 
<property name="hibernate.hbm2ddl.auto">create-drop</property>-->
 
<!-- 自動修改,如果表結構與實體類不一致,那麼就修改表使它們一致,資料會保留
 
<property name="hibernate.hbm2ddl.auto">update</property>-->
 
<!-- 自動校驗,如果表結構與實體類不一致,那麼不做任何操作,報錯
 
<property name="hibernate.hbm2ddl.auto">validate</property>-->
 
 
本來這個屬性的產生是為了測試資料的,我覺得利用這個自動建表非常方便。利用這段程式碼:
 
<property name="hibernate.hbm2ddl.auto">create</property>

但是,在實際開發中卻會碰到無法自動建立資料庫表的情況,其中一種情況是:由於實體類的屬性中出現了sql關鍵字,hibernate將不會生成ddl來建立表結構。

相關推薦

Hibernate無法自動建立資料庫

今天在學習Hibernate的時候,通過JavaBean實體類和hbm對映檔案自動建立資料庫表,實體類和物件關係對映檔案寫的都沒有錯誤,執行時也不報錯,但是就是沒生成資料庫表,查了半天才發現是因為 hibernate.cfg.xml檔案中缺少了一個自動建立資料庫表的語句:

Spring 整合hibernate 無法自動建立,控制檯沒有報錯

症狀 Spring 整合hibernate 無法自動建立表,控制檯沒有報錯 百度了幾天了 主要有一下幾個原因 1、  注意name="hibernate.dialect" 而不能是name="dialect"     &n

解決Hibernate不能自動建立資料庫的問題

HibernateTest(測試類):package club.mochunrong.hibernate.test; import java.io.PrintStream; import club.mochunrong.hibernate.bean.User; impor

springboot整合hibernate自動建立資料庫

新建一個maven專案,我習慣性的建web了,有些依賴是沒必要的,主要用到的依賴有:                     <dependency><groupId>org.springframework.boot</groupId>&l

springBoot下java自動建立資料庫

####SpringBoot環境啟動專案建立資料庫表 ####使用環境 windows+eclipse+mysql+navicat ####步驟 1.建立SpringBoot專案 2.新建資料庫,配置連線資訊 3.編寫初始化資料庫表類 4.執行檢視結果 1.建立

hibernate框架自動建立資料庫表格

1.修改hibernate.cfg.xml配置檔案 <?xml version='1.0' encoding='UTF-8'?> <!DOCTYPE hibernate-configuration PUBLIC           "-//Hibernat

Hibernate自動生成資料庫

  雖說整體上對SSH有一定的把控使用能力,但還是見微知著,點滴積累。Hibernate本意是冬眠,很好的封裝了JDBC和資料庫互動,實現了物件的持久化操作。所以也可以理解物件的持久化其實就是“冬眠”

Spring Data Jpa 實體類自動建立資料庫失敗

先說一下我遇到的這個問題,首先我是通過maven建立了一個spring boot的工程,引入了Spring data jpa,結果實體類建立好之後,執行工程卻沒有在資料庫中自動建立資料表。 找了半天發現是一個配置的問題: hibernate.ddl-auto節點的配置,這個配置有兩種方式去配置,我使用

把excel自動匯入資料庫 根據excel內容自動建立資料庫

用c#  把excel的資料自動匯入sql資料庫 並根據excel的內容自動建立資料庫表,經過網上查資料和自己的努力做了出來 ,只不過是實現了功能並未優化程式碼,下面分享我的程式碼 首先建一個網站專案 ,其.aspx程式碼如下<%@ Page Language="C#

jPA自動建立資料庫的一些配置

題目:jPA如何自動建立資料庫表(如何將EntityBean自動對映成資料庫表,而不需要先建立表再開發應用程式) 在persistence.xml裡邊加入如下的設定語句:<properties> <property name="hibernate.hbm2d

Hibernate入門之建立資料庫

前言 Hibernate 5.1和更早版本至少需要Java 1.6和JDBC 4.0,Hibernate 5.2和更高版本至少需要Java 1.8和JDBC 4.2,從本節開始我們正式進入Hibernate學習,所採用版本為5.4.12.Final穩定版本。 Hibernate建立資料庫表 首先我們通過ide

關於 Hibernate 5.1.x 無法自動建立問題

最近遇到了一個問題。在學習使用 Hibernate 5.1.x 版本中, hbm2ddl.auto -> update 無法建立新表,用 JUnit 單元測試報錯,表不存在。 排查過程中發現如下 INFO: HHH10001501: Connection obtai

hibernate auto=update 還是無法自動建立的原因

是因為這個屬性的配置:對映目錄要比實際少一層! <property name="packagesToScan"> <list><!-- 注意:配置對映目錄要比實際少一層

使用Spring整合Hibernate出現無法自動建立的問題

在使用Spring整合Hibernate時,出現一個莫名其妙的問題,Spring整合Hibernate出現無法自動建立表,花了好幾個小時也沒有查詢是怎麼回事。具體如下: 1、在Hibernate配置檔

使用hibernate自動建立Mysql失敗原因及解決方法

原因: hibernate裡的dialect和Mysql的版本不匹配,SQL語句裡的type=“****”使用在MySQL5.0之前,5.0之後就要是使用engine=“****”。 解決: 修改hibernate.cfg.xml檔案 MySql5.0之前的配置 <property

JAVA工程啟動時自動建立資料庫、資料

很多時候,我們會有這樣的需求: 系統首次部署時,自動建立資料庫、表 執行單元測試時,資料庫、表維持初始化狀態方便測試。 本文對這種需求的實現做了可行性驗證。 **** 注意這邊需要配置具有建庫建表許可權的資料庫使用者名稱、密碼***** 資料庫配置檔案 jdb

解決Hibernate自動建立資料庫時出現“建立不了資料庫的情況”

      小編在學習hibernate時,在把所有環境都搭配好了,配置檔案也弄好了,往事就緒時,測試所寫的程式時出錯了。錯誤提示說,未在資料庫找到相應的表,所以不能插入資料。嘗試了好多次都一樣,最後網上找了好多資料才發現,所使用的資料庫版本在5.0之後,在hibernate

使用Setup Factory 打包軟體,安裝時自動建立資料庫資料庫中的(效果類似sql server中的附加資料庫操作)

前提:已安裝Setup Fatory軟體、我使用的是 安裝工廠永樂漢化版,需要的請自行下載安裝 下面只列出關鍵性步驟,黃色字型較為關鍵,是一個出錯點   步驟一(關鍵):生成資料庫備份檔案,以及建表sql指令碼,和bat命令檔案 備份資料庫,生成檔案1,.bak檔

mybatis-generator自動建立資料庫中的,生成的檔案有實體類,mapper.xml配置檔案等

這兩天需要用到MyBatis的程式碼自動生成的功能,由於MyBatis屬於一種半自動的ORM框架,所以主要的工作就是配置Mapping對映檔案,但是由於手寫對映檔案很容易出錯,所以可利用MyBatis生成器自動生成實體類、DAO介面和Mapping對映檔案。這樣可以省去很多的

hibernate基於annotation(註解)的方式建立資料庫以及儲存資料到資料庫中(重要)

在這裡建立專案後要把相關jar包與資料庫相關的jar包引入,並且配置好hibernate.cfg.xml檔案,這個專案採用的資料庫名稱是hibernate_anno.再建立一個實體類User,我們用的是註解的方式,所以不用像上篇文章中建立一個實體類的配置檔案,可以直接在實體類