標籤:des style blog http java color
atitit.提升開發效率---MDA 軟體開發方式的革命(3)----自動化建表
1. 建模在後自動建表 1
1. 傳統上,需要首先建表,在業務編碼.. 1
2. 模型驅動建表---更多簡化法是在建模在後自動建表 1
2. 自動建表的原理: 1
3. 自動建表工具::hibernate.hbm2ddl 跟Hibernate4.1 2
4. hbm2ddl最佳實務 2
3. hibernate.hbm2ddl.auto 2
5. Java語句執行 3
6. 使用Ant 執行hbm2ddl 3
7. QA 4
4. Table ‘gialenweixin.gv_material‘ doesn‘t exist 4
5. hibernate Attribute "value" must be declared for element type "property". 4
8. 參考 4
1. 建模在後自動建表1. 傳統上,需要首先建表,在業務編碼..
1. 摘要:很多程式只有原始碼,沒有配套的資料庫sql語句。這樣就很不容易示範或操作
2. 模型驅動建表---更多簡化法是在建模在後自動建表
作者:: 老哇的爪子 Attilax 艾龍, EMAIL:[email protected]
轉載請註明來源: http://blog.csdn.net/attilax
2. 自動建表的原理:
Sql產生:讀取註解,產生sql,執行sql
3. 自動建表工具::hibernate.hbm2ddl 跟Hibernate4.1
配好的hibernate庫和資料庫的串連驅動。
資料庫必須串連上,可以沒有表。
Hibernate4.1已經可以自動建表,所以開發時只需要自己開發類然後配置好就OK。不需要考慮怎麼建表
Hibernate設定檔產生sql檔案
4. hbm2ddl最佳實務
update只是更新表結構,但不能產生..所以,你可以先用create屬性,然後運行一次後改用update,以免資料丟收
3. hibernate.hbm2ddl.auto
<property name="hibernate.hbm2ddl.auto" value="update" />
update:
最常用的屬性,第一次載入hibernate時根據model類會自動建立起表的結構(前提是先建立好資料庫),以後載入 hibernate時根據 model類自動更新表結構,即使表結構改變了但表中的行仍然存在不會刪除以前的行。要注意的是當部署到伺服器後,表結構是不會被馬上建立起來的,是要等 應用第一次運行起來後才會。
validate :
每次載入hibernate時,驗證建立資料庫表結構,只會和資料庫中的表進行比較,不會建立新表,但是會插入新值
hbm2ddl 工具是個jar
hbm2ddl
5. Java語句執行
config = new Configuration()
.configure(new File("src/hibernate.cfg.xml"));
SchemaExport schemaExport = new SchemaExport(config);
schemaExport.setOutputFile("E:\\sql1.txt");
schemaExport.create(true, false);
System.out.println("Table created.");
6. 使用Ant 執行hbm2ddl
· <!-- create ddl form *.hbm.xml -->
· <target name="hbm2ddl"
· description="Generate DB schema from the O/R mapping files">
· <taskdef name="hbm2ddl"
· classname="org.hibernate.tool.ant.HibernateToolTask"
· classpathref="libraries"/>
· <hbm2ddl destdir="${ddlsqldir}">
· <configuration configurationfile="${basedir}/hibernate.cfg.xml" />
· <hbm2ddl export="true" console="false" create="true" update="false" drop="false" outputfilename="ddl.sql"/>
· </hbm2ddl>
· </target>
·
7. QA4. Table ‘gialenweixin.gv_material‘ doesn‘t exist
update只是更新表結構,但不能產生..所以,你可以先用create屬性,然後運行一次後改用update,以免資料丟收
5. hibernate Attribute "value" must be declared for element type "property".
<property name="hibernate.hbm2ddl.auto" value=”update” />
Change to... Hb ver hb4
<property name="hibernate.hbm2ddl.auto" >update</property>
8. 參考
hibernate4.0+版本和3.0+版本的區別總結_xidianzxm_新浪部落格.htm
Hibernate利用@DynamicInsert和@DynamicUpdate產生動態SQL語句 - QuantSeven - 部落格園.htm
Hibernate設定檔產生sql檔案_zjha4148_新浪部落格.htm