新聞中心
本文我們主要介紹Hibernate Schema自動生成(Automatic schema generation)技術(shù),希望對大家的學(xué)習(xí)帶來幫助。

創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、永善網(wǎng)絡(luò)推廣、微信小程序開發(fā)、永善網(wǎng)絡(luò)營銷、永善企業(yè)策劃、永善品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營等,從售前售中售后,我們都將竭誠為您服務(wù),您的肯定,是我們最大的嘉獎;創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供永善建站搭建服務(wù),24小時服務(wù)熱線:13518219792,官方網(wǎng)址:www.cdcxhl.com
Hibernate Schema自動生成可以從你的映射文件使用一個Hibernate工具生成DDL。 生成的schema包含有對實體和集合類表的完整性引用約束(主鍵和外鍵)。涉及到的標(biāo)示符生成器所需的表和sequence也會同時生成。
在使用這個工具的時候,你必須 通過hibernate.dialet屬性指定一個SQL方言(Dialet),因為DDL是與供應(yīng)商高度相關(guān)的。
首先,要定制你的映射文件,來改善生成的Hibernate schema。對Hibernate schema定制化(Customizing the schema)
很多Hibernate映射元素定義了可選的length、precision 或者 scale屬性。你可以通過這個屬性設(shè)置字段的長度、精度、小數(shù)點(diǎn)位數(shù)。
有些tag還接受not-null屬性(用來在表字段上生成NOT NULL約束)和unique屬性(用來在表字段上生成UNIQUE約束)。
name="bar" column="barId" not-null="true"/> column="serialNumber" type="long" not-null="true" unique="true"/>
unique-key屬性可以對成組的字段指定一個***鍵約束(unique key constraint)。目前,unique-key屬性指定的值在生成DDL時并不會被當(dāng)作這個約束的名字,它們只是在用來在映射文件內(nèi)部用作區(qū)分的。
name="org" column="orgId" unique-key="OrgEmployeeId"/> name="employeeId" unique-key="OrgEmployee"/>
index屬性會用對應(yīng)的字段(一個或多個)生成一個index,它指出了這個index的名字。如果多個字段對應(yīng)的index名字相同,就會生成包含這些字段的index。
name="lastName" index="CustName"/> name="firstName" index="CustName"/>
foreign-key屬性可以用來覆蓋任何生成的外鍵約束的名字。
name="bar" column="barId" foreign-key="FKFooBar"/>
很多映射元素還接受 子元素。這在定義跨越多字段的類型時特別有用。
name="name" type="my.customtypes.Name"/> name="last" not-null="true" index="bar_idx" length="30"/> name="first" not-null="true" index="bar_idx" length="20"/> name="initial"/> - property>
default屬性為字段指定一個默認(rèn)值 (在保存被映射的類的新實例之前,你應(yīng)該將同樣的值賦于對應(yīng)的屬性)。
name="credits" type="integer" insert="false"> name="credits" default="10"/> - property>
name="version" type="integer" insert="false"> name="version" default="0"/> - property>
sql-type屬性允許用戶覆蓋默認(rèn)的Hibernate類型到SQL數(shù)據(jù)類型的映射。
name="balance" type="float"> name="balance" sql-type="decimal(13,3)"/> - property>
check屬性允許用戶指定一個約束檢查。
name="foo" type="integer"> name="foo" check="foo > 10"/> - property>
name="Foo" table="foos" check="bar < 100.0"> - ...
name="bar" type="float"/> - class>
【編輯推薦】
- 分析Hibernate插入操作
- 剖析Hibernate批量更新
- 全面講解Hibernate二級緩存
- 講述Hibernate核心接口
- 概括Hibernate批量處理
網(wǎng)頁名稱:Hibernate自動生成工具-Schema
當(dāng)前鏈接:http://www.dlmjj.cn/article/ccsghcg.html


咨詢
建站咨詢
