自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Hibernate自動(dòng)生成工具-Schema

開(kāi)發(fā) 后端
Hibernate Schema自動(dòng)生成可以從你的映射文件使用一個(gè)Hibernate工具生成DDL。 生成的schema包含有對(duì)實(shí)體和集合類表的完整性引用約束(主鍵和外鍵)。涉及到的標(biāo)示符生成器所需的表和sequence也會(huì)同時(shí)生成。

本文我們主要介紹Hibernate Schema自動(dòng)生成(Automatic schema generation)技術(shù),希望對(duì)大家的學(xué)習(xí)帶來(lái)幫助。

Hibernate Schema自動(dòng)生成可以從你的映射文件使用一個(gè)Hibernate工具生成DDL。 生成的schema包含有對(duì)實(shí)體和集合類表的完整性引用約束(主鍵和外鍵)。涉及到的標(biāo)示符生成器所需的表和sequence也會(huì)同時(shí)生成。

在使用這個(gè)工具的時(shí)候,你必須 通過(guò)hibernate.dialet屬性指定一個(gè)SQL方言(Dialet),因?yàn)镈DL是與供應(yīng)商高度相關(guān)的。

首先,要定制你的映射文件,來(lái)改善生成的Hibernate schema。對(duì)Hibernate schema定制化(Customizing the schema)

很多Hibernate映射元素定義了可選的length、precision 或者 scale屬性。你可以通過(guò)這個(gè)屬性設(shè)置字段的長(zhǎng)度、精度、小數(shù)點(diǎn)位數(shù)。

  1. <property name="zip" length="5"/> 
  2. <property name="balance" precision="12" scale="2"/> 

有些tag還接受not-null屬性(用來(lái)在表字段上生成NOT NULL約束)和unique屬性(用來(lái)在表字段上生成UNIQUE約束)。

  1. <many-to-one name="bar" column="barId" not-null="true"/> 
  2. <element column="serialNumber" type="long" not-null="true" unique="true"/> 

unique-key屬性可以對(duì)成組的字段指定一個(gè)***鍵約束(unique key constraint)。目前,unique-key屬性指定的值在生成DDL時(shí)并不會(huì)被當(dāng)作這個(gè)約束的名字,它們只是在用來(lái)在映射文件內(nèi)部用作區(qū)分的。

  1. <many-to-one name="org" column="orgId" unique-key="OrgEmployeeId"/> 
  2. <property name="employeeId" unique-key="OrgEmployee"/> 

index屬性會(huì)用對(duì)應(yīng)的字段(一個(gè)或多個(gè))生成一個(gè)index,它指出了這個(gè)index的名字。如果多個(gè)字段對(duì)應(yīng)的index名字相同,就會(huì)生成包含這些字段的index。

  1. <property name="lastName" index="CustName"/> 
  2. <property name="firstName" index="CustName"/> 

foreign-key屬性可以用來(lái)覆蓋任何生成的外鍵約束的名字。

  1. <many-to-one name="bar" column="barId" foreign-key="FKFooBar"/> 

很多映射元素還接受子元素。這在定義跨越多字段的類型時(shí)特別有用。

  1. <property name="name" type="my.customtypes.Name"/> 
  2.     <column name="last" not-null="true" index="bar_idx" length="30"/> 
  3.     <column name="first" not-null="true" index="bar_idx" length="20"/> 
  4.     <column name="initial"/> 
  5. property> 

default屬性為字段指定一個(gè)默認(rèn)值 (在保存被映射的類的新實(shí)例之前,你應(yīng)該將同樣的值賦于對(duì)應(yīng)的屬性)。

  1. <property name="credits" type="integer" insert="false"> 
  2.     <column name="credits" default="10"/> 
  3. property> 
  4. <version name="version" type="integer" insert="false"> 
  5.     <column name="version" default="0"/> 
  6. property> 

sql-type屬性允許用戶覆蓋默認(rèn)的Hibernate類型到SQL數(shù)據(jù)類型的映射。

  1. <property name="balance" type="float"> 
  2.     <column name="balance" sql-type="decimal(13,3)"/> 
  3. property> 

check屬性允許用戶指定一個(gè)約束檢查。

  1. <property name="foo" type="integer">   
  2.     <column name="foo" check="foo > 10"/>   
  3. property>   
  4. <class name="Foo" table="foos" check="bar < 100.0">   
  5.     ...    
  6.     <property name="bar" type="float"/>   
  7. class>  

【編輯推薦】

  1. 分析Hibernate插入操作
  2. 剖析Hibernate批量更新
  3. 全面講解Hibernate二級(jí)緩存
  4. 講述Hibernate核心接口
  5. 概括Hibernate批量處理
責(zé)任編輯:仲衡 來(lái)源: 7yue的博客
相關(guān)推薦

2009-06-26 10:12:00

Hibernate自動(dòng)

2009-09-22 17:47:03

Hibernate s

2011-09-02 16:21:08

Sencha Touc自動(dòng)生成工具

2009-09-22 09:31:15

Hibernate主鍵

2009-09-24 10:07:21

Hibernate M

2009-09-25 13:33:43

Hibernate主鍵

2009-07-16 11:40:23

ibatis自動(dòng)生成abator

2009-06-25 17:24:06

Hibernate主鍵

2009-06-29 08:50:20

Hibernate主鍵

2009-09-23 13:21:32

Hibernate O

2009-09-28 10:52:33

Hibernate主鍵主鍵生成

2025-04-27 07:57:50

大模型工具JSON

2009-09-24 16:22:50

Hibernate自動(dòng)

2016-08-04 11:15:24

GitHubMySQLSchema

2009-07-15 17:31:08

iBATIS Ecli

2009-07-14 17:12:26

ibatis自動(dòng)代碼生

2009-09-22 13:25:54

Hibernate M

2009-06-29 08:56:49

Hibernate主鍵生成主鍵

2009-06-26 16:21:22

Oracle自動(dòng)增長(zhǎng)Hibernate

2012-02-09 13:31:03

HibernateJava
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)