Hibernate 自动创建表
前些天發(fā)現(xiàn)了一個(gè)巨牛的人工智能學(xué)習(xí)網(wǎng)站,通俗易懂,風(fēng)趣幽默,忍不住分享一下給大家。點(diǎn)擊跳轉(zhuǎn)到教程。
1. 在 hibernate.cfg.xml 添加這句話,可以自動(dòng)生成數(shù)據(jù)表 :
<property name="hibernate.hbm2ddl.auto">update</property>update:表示自動(dòng)根據(jù) model 對(duì)象來(lái)更新表結(jié)構(gòu),啟動(dòng) hibernate 時(shí)會(huì)自動(dòng)檢查數(shù)據(jù)庫(kù)。如果缺少表,則自動(dòng)建表;如果表里缺少列,則自動(dòng)添加列 。?
其他參數(shù):?
create:啟動(dòng) hibernate 時(shí),自動(dòng)刪除原來(lái)的表。新建所有的表,所以每次啟動(dòng)后的以前數(shù)據(jù)都會(huì)丟失。?
create-drop:啟動(dòng) hibernate 時(shí),自動(dòng)創(chuàng)建表。程序關(guān)閉時(shí),自動(dòng)把相應(yīng)的表都刪除。所以程序結(jié)束時(shí),表和數(shù)據(jù)也不會(huì)再存在。?
PS:數(shù)據(jù)庫(kù)要預(yù)先建立好,因?yàn)?hibernate 只會(huì)建表,不會(huì)建庫(kù)。
表結(jié)構(gòu)和數(shù)據(jù)總是在程序執(zhí)行的時(shí)候無(wú)端的修改要配置:? ? ?
<property name="hibernate.hbm2ddl.auto" value="update" />2. hibernate.hbm2ddl.auto Automatically validate or export schema DDL to the database when the SessionFactory is created. With create-drop, the database schema will be dropped when the SessionFactory is closed explicitly. eg. validate | update | create | create-drop
其實(shí)這個(gè)參數(shù)的作用主要用于:自動(dòng)創(chuàng)建|更新|驗(yàn)證數(shù)據(jù)庫(kù)表結(jié)構(gòu)。
如果沒(méi)有此方面的需求建議 set value="none".
其它參數(shù) :
validate 加載hibernate時(shí),驗(yàn)證創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu) create 每次加載hibernate,重新創(chuàng)建數(shù)據(jù)庫(kù)表結(jié)構(gòu) create-drop 加載hibernate時(shí)創(chuàng)建,退出是刪除表結(jié)構(gòu) update 加載hibernate自動(dòng)更新數(shù)據(jù)庫(kù)結(jié)構(gòu)?
ps : 如果發(fā)現(xiàn)數(shù)據(jù)庫(kù)表丟失或新增,請(qǐng)檢查 hibernate.hbm2ddl.auto 的配置?
可設(shè)置?<property?name="hibernate.hbm2ddl.auto"?value="none"?/>
轉(zhuǎn)自:https://blog.csdn.net/zwhfyy/article/details/4514966
總結(jié)
以上是生活随笔為你收集整理的Hibernate 自动创建表的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: C# 重写WndProc及发送消息
- 下一篇: c# 中重载WndProc,实现重写“最