您好,登錄后才能下訂單哦!
這篇文章主要介紹Hibernate自動生成工具Schema怎么用,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
Hibernate Schema自動生成可以從你的映射文件使用一個Hibernate工具生成DDL。 生成的schema包含有對實體和集合類表的完整性引用約束(主鍵和外鍵)。涉及到的標示符生成器所需的表和sequence也會同時生成。
在使用這個工具的時候,你必須 通過hibernate.dialet屬性指定一個SQL方言(Dialet),因為DDL是與供應商高度相關的。
首先,要定制你的映射文件,來改善生成的Hibernate schema。對Hibernate schema定制化(Customizing the schema)
很多Hibernate映射元素定義了可選的length、precision 或者 scale屬性。你可以通過這個屬性設置字段的長度、精度、小數點位數。
<property name="zip" length="5"/> <property name="balance" precision="12" scale="2"/>
有些tag還接受not-null屬性(用來在表字段上生成NOT NULL約束)和unique屬性(用來在表字段上生成UNIQUE約束)。
<many-to-one name="bar" column="barId" not-null="true"/> <element column="serialNumber" type="long" not-null="true" unique="true"/>
unique-key屬性可以對成組的字段指定一個***鍵約束(unique key constraint)。目前,unique-key屬性指定的值在生成DDL時并不會被當作這個約束的名字,它們只是在用來在映射文件內部用作區分的。
<many-to-one name="org" column="orgId" unique-key="OrgEmployeeId"/> <property name="employeeId" unique-key="OrgEmployee"/>
index屬性會用對應的字段(一個或多個)生成一個index,它指出了這個index的名字。如果多個字段對應的index名字相同,就會生成包含這些字段的index。
<property name="lastName" index="CustName"/> <property name="firstName" index="CustName"/>
foreign-key屬性可以用來覆蓋任何生成的外鍵約束的名字。
<many-to-one name="bar" column="barId" foreign-key="FKFooBar"/>
很多映射元素還接受
<property name="name" type="my.customtypes.Name"/> <column name="last" not-null="true" index="bar_idx" length="30"/> <column name="first" not-null="true" index="bar_idx" length="20"/> <column name="initial"/> property>
default屬性為字段指定一個默認值 (在保存被映射的類的新實例之前,你應該將同樣的值賦于對應的屬性)。
<property name="credits" type="integer" insert="false"> <column name="credits" default="10"/> property> <version name="version" type="integer" insert="false"> <column name="version" default="0"/> property>
sql-type屬性允許用戶覆蓋默認的Hibernate類型到SQL數據類型的映射。
<property name="balance" type="float"> <column name="balance" sql-type="decimal(13,3)"/> property>
check屬性允許用戶指定一個約束檢查。
<property name="foo" type="integer"> <column name="foo" check="foo > 10"/> property> <class name="Foo" table="foos" check="bar < 100.0"> ... <property name="bar" type="float"/> class>
以上是“Hibernate自動生成工具Schema怎么用”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。