標籤:
@ 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")
Hibernate常用Annotation標籤說明