免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Hibernate Annotation應(yīng)用介紹一
 EJB3注釋進(jìn)行映射

 

  現(xiàn)在EJB3實(shí)體Bean是純粹的POJO。實(shí)際上表達(dá)了和Hibernate持久化實(shí)體對(duì)象同樣的概念。他們的映射都通過(guò)JDK5.0注釋來(lái)定義(EJB3規(guī)范中的XML描述語(yǔ)法至今還沒(méi)有定下來(lái))。注釋分為兩個(gè)部分,分別是邏輯映射注釋和物理映射注釋,通過(guò)邏輯映射注釋可用描述對(duì)象模型,類之間的關(guān)系等等,而物理映射注釋則描述了物理的schema,表,列,索引等等。下面外面在代碼中將混合使用這兩種類型的注釋

 

(一)聲明實(shí)體

@Entity

POJO@Entity進(jìn)行實(shí)體注釋

@Table

        @Table是類的一級(jí)注釋,通過(guò)它可用為實(shí)體指定表(Table),目錄(Catalog),和schema的名字,如果沒(méi)有@Table,那么系統(tǒng)自動(dòng)使用默認(rèn)值:實(shí)體的短類名(不帶包名)

@Version

        可用在實(shí)體Bean中使用@Version添加樂(lè)觀鎖支持。

        根據(jù)EJB3規(guī)范,Version列可以使用numeric類型(推薦方式)也可以使用timestamp類型。Hibernate支持任何自定義類型,只要該類型實(shí)現(xiàn)了UserVersionType.

 

(二)映射簡(jiǎn)單屬性

實(shí)體Bean中的所有非static、非transient的屬性都可以被持久化。同時(shí)使用@Transient對(duì)屬性進(jìn)行注解同樣不不會(huì)被持久化。

@Column

使用@Column可將屬性映射到列。

@Column(name = “列名” length = 長(zhǎng)度)

例如:

   @Column(name = NAME length = 20)

   public String getName() {

     return this.name;

}

 

注意:

  當(dāng)POJO用有屬性不需要映射的時(shí)候一定要用@Transient修飾  

        @Lob注解表示將屬性持久化為Blob或者Clob類型,具體取決于屬性的類型,java.sql.Clob,Character[ ] char[] java.lang.String這些屬性都被持久化為Clob類型,而java.sql.Blob,Byte[],byte[] serializable類型在被持久化為Blob類型

 

(三)映射主鍵屬性

@Id

使用@Id注解可以將實(shí)體Bean中的某個(gè)屬性定為為標(biāo)識(shí)符(identifier)。該屬性值可以通過(guò)應(yīng)用自身創(chuàng)建,也可以通過(guò)Hibernate生成(推薦)。使用@GeneratedValue注釋利用定義標(biāo)識(shí)符的生產(chǎn)策略:

 

*AUTO        可以是一下三種任意一種類型,取決于地層數(shù)據(jù)庫(kù)的不同

*TABLE       使用表保存id

*IDENTITY    identity column

*SEQUENCE   sequence

 

@Id

@GeneratedValue(strategy = GenerationType.IDENTITy)

Public Integer getId() {… …}

 

Hibernate的應(yīng)用中提供了更加豐富的主鍵生產(chǎn)策略。

@org.hibernate.annotations.GenericGeneracor允許定義一個(gè)Hibernate特定的id生成器。

:

 

@Id 
@GeneratedValue(generator 
= "system-uuid")[該屬性名自定義]
@GenericGenerator(name 
= " system-uuid ", strategy = "uuid")
[name可自定義,但是strategy屬性必須是Hibernate中有效的主鍵策略]
@Column (name 
= "user_id")
 
private Integer userId;

 

@Id 
@GeneratedValue(generator 
= "hilo")
@GenericGenerator(name 
= "hilo", strategy = "hilo")
@Column (name 
= "user_id")
private Integer userId;

 

 

 



Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1561685

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Hibernate4實(shí)戰(zhàn)之Hibernate4注解零配置
Hibernate實(shí)體映射配置1(java@注解方式)
Hibernate 注解映射繼承時(shí) Cannot use identity column key generation with <union-subclass>
Hibernate框架學(xué)習(xí)之注解映射實(shí)體類
動(dòng)態(tài)模型(Dynamic models)
Hibernate中實(shí)體對(duì)象的生命周期
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服