日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Hibernate注解(一)之持久化实体

發布時間:2023/12/3 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Hibernate注解(一)之持久化实体 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

翻譯自? ?Hibernate Annotations

1. 創建POJO作為持久化實體

每個持久化POJO類都是一個實體,并使用 @Entity注解(在類級別)聲明:

@Entity public class Flight implements Serializable {Long id;@Idpublic Long getId() { return id; }public void setId(Long id) { this.id = id; } }

@Entity將該類聲明為一個實體(即一個持久的POJO類),@Id聲明該實體的標識符屬性。其他映射聲明是隱式的。類Flight被映射到Flight表,使用列ID作為其主鍵列。


注意:JPA規范的核心是異常配置的概念。

根據是否注釋字段或方法,Hibernate使用的訪問類型將為field或 property。EJB3規范要求您對將要訪問的元素類型聲明注釋,例如,如果使用property訪問權限,則使用getter方法;如果使用訪問權限,則使用該字段field。應該避免在兩個字段和方法中混合注釋。Hibernate會從@Idor 的位置猜測訪問類型@EmbeddedId。


1.1. 定義表格

@Table被設置在課堂級別; 它允許您為實體映射定義表,目錄和模式名稱。如果no @Table定義,則使用默認值:實體的非限定類名稱。

@ Entity @ Table (name = “tbl_sky” ) public class Sky implements Serializable { ... }

該@Table元素包含一個 schema和catalog屬性,如果它們需要被定義。您還可以使用@UniqueConstraint注釋連同@Table(為了綁定到單個列的唯一約束,建議使用該 @Column.unique方法(參考以@Column獲取更多信息))來 為表定義唯一約束。

@ Table (name = “tbl_sky” ,uniqueConstraints = { @ UniqueConstraint (columnNames = { “month” ,“day” })} ) 一個唯一的約束被應用到元組month,day。請注意該columnNames數組引用邏輯列名稱。

邏輯列名由Hibernate NamingStrategy實現定義 。默認的JPA命名策略使用物理列名稱作為邏輯列名,但如果您使用自定義NamingStrategy 實現將fld_附加到所有列中,它可能會有所不同。請注意,當明確設置列名稱時,邏輯列名稱不一定等于屬性名稱esp。除非你重寫NamingStrategy,否則你不應該擔心。


1.2.??版本控制樂觀鎖定

您可以使用@Version注釋向實體添加樂觀鎖定功能 :

@Entity public class Flight implements Serializable { ...@Version@Column(name="OPTLOCK")public Integer getVersion() { ... } }

????????版本屬性將被映射到 OPTLOCK列,實體管理器將使用它來檢測沖突更新(防止丟失的更新,否則您可能會看到上次提交 - 贏取策略)。
?????版本列可以是數字(推薦的解決方案)或時間戳。Hibernate支持任何種類的類型,只要你定義并實現適當的 UserVersionType。
????????應用程序不得以任何方式更改由Hibernate設置的版本號。要人為增加版本號,請查看Hibernate Entity Manager的參考文檔 LockModeType.OPTIMISTIC_FORCE_INCREMENT或 LockModeType.PESSIMISTIC_FORCE_INCREMENT。








總結

以上是生活随笔為你收集整理的Hibernate注解(一)之持久化实体的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。