POJO類以及映射設定檔,pojo映射設定檔

來源:互聯網
上載者:User

POJO類以及映射設定檔,pojo映射設定檔

對持久化對象的要求

1、 提供一個無參構造器,使Hibernate可以使用Constructor.newInstace()來執行個體化持久化對象

2、提供一個識別屬性(identifier property)。通常映射為資料庫表的主鍵欄位,如果沒有該屬性,一些功能將不起作用,如Session.saveOrUpdate()。

3、 為持久化類的欄位聲明存取方法(set/get)。Hibernate對javaBean風格的屬性實行持久化。

4、使用非final類,在運行時組建代理程式是Hibernate的一個重要功能,如果持久化類沒有實現任何介面,Hibernate使用CGLB組建代理程式,如果使用final類,則無法產生CGLIB代理。

5、重寫equals()和hashCode()方法,如果需要將持久化類放到Set中(當需要進行關聯映射時),則應該重寫這兩個方法。

對於映射設定檔中非主鍵元素使用<property>標籤映射,<property>標籤的type屬性用來指定持久化類和資料表中的類型。

可以寫Java中類的全名,也可以寫Hibernate類型。

映射主鍵屬性

主鍵如果是數字建議使用對應的封裝類型。

id元素用於映射主鍵,id元素子項目<generator>的class屬性用於指定主鍵建置原則。

其常用值如下:

identity:使用資料庫的自動成長策略,不是所有資料庫都支援,比如Oracle就不支援

sequence:在DB2,PostgreSQL,Oracle,SAPDB等中使用sequence。

hilo:使用高地位演算法產生主鍵,只需要一張額外的表,所有的資料庫都支援。

increment:由Hibernate維護的,先查詢當前最大的id值,在加1增長,不推薦使用,因為有安全執行緒問題。

assigned:手工指定主鍵。

 


myeclipse可以不可以由pojo類產生對應檔與資料庫表?

MYeclipse沒有這個功能,不過這個功能很特殊啊?
pojo直接組建組態檔案到表,不知道表名怎麼起。

知道hibernate有個工具可以把設定檔產生pojo和資料庫的schema,可以從schema組建組態檔案,沒聽說有從POJO轉的
 
myeclipse中,根據*hbmxml檔案產生POJO類?

根據表組建組態檔案,在根據業務需求修改設定檔,然後根據設定檔產生pojo
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.