Hibernate常用Annotation標簽說明


@ javax.persistence.Entity

實體類定義,該標簽表示當前類是一個Hibernate的數據庫實體,對應着數據庫中的某個表

位置:用於類級別

參數:無

樣例:@Entity

注意:導入標簽類時可能會有多個,這里使用的是javax.persistence.Entity

@javax.persistence.Table

實體類定義,該標簽表示當前類是一個Hibernate的數據庫實體,對應着數據庫中的某個表

位置:用於類級別

參數:name – 用於指定表名,如果不指定則表名與類名相同,考慮到不同數據庫的解析方式可能不一樣,建議手工指定表名。表名統一用大寫字母,單詞之間用下划線分隔。

樣例:@Table(name=”DAT_USER_INFO”)

注意:導入標簽類時可能會有多個,這里使用的是javax.persistence.Table

 

@ javax.persistence.Id

該標簽用於標識數據實體的主鍵

位置:用於主鍵屬性的Get方法,QFrame約定為getId()方法

參數:無

樣例:@Id

@ javax.persistence.GeneratedValue

定義主鍵生成方式,通常和@ org.hibernate.annotations.GenericGenerator一同使用,用於生成主鍵。

位置:用於主鍵屬性的Get方法,QFrame約定為getId()方法。

參數:strategy -構造方式;generator -構造器名稱。

樣例:

1、 由Hibernate自動生成主鍵:@GeneratedValue(strategy=GenerationType.AUTO)

2、 根據主指構造器生成主鍵:@GeneratedValue(generator="assigned")

@ org.hibernate.annotations.GenericGenerator

Hibernate提供的主鍵構造器。通常與@GeneratedValue配合使用。

位置:用於主鍵屬性的Get 方法。

參數:name -構造器名稱,在@GeneratedValue 中引用;strategy -構造方式。

樣例:

1.      手工指定的主鍵:
@GeneratedValue(generator="assigned")
@GenericGenerator(name = "assigned", strategy = "assigned")

2.      從Sequence 獲取主鍵:
@GeneratedValue(strategy=GenerationType.SEQUENCE,generator="TASK_SEQ")
@SequenceGenerator(name="TASK_SEQ",sequenceName="SEQ_GROUP_SEND_TASK")

@ javax.persistence.Column

用於表示實體屬性對應數據庫表的哪個字段。

位置:用於屬性的Get 方法

參數:

name – 字段名,默認為屬性名,建議手工指定,字段名統一使用大寫字母

nullable -boolean 值,表示該屬性是否可以為空,默認為true。

insertable -boolean 值,表示該屬性是否在insert語句中包含,默認為true。

updatable -boolean 值,表示該屬性是否在update 語句中包含,默認為true。

length -int值,表示該屬性值的長度,通常用於字符串屬性,默認為255。

unique -boolean 值,表示該屬性值是否建立唯一索引,默認為false。

@ javax.persistence.Transient

用於標識不在數據庫表中映射的屬性。

位置:用於屬性的Get 方法

參數:無

@ org.hibernate.annotations.Type

自定義類型,將屬性用於自定義類型。通常用於定義枚舉類型。

位置:用於屬性的Get 方法

參數:type -類型完成名稱(包含包名)

樣例:@Type(type="net.osjava.xsmfms.entity.SendTypeDataType")

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM