資料實體(Entity)
資料實體註解
@Entity:宣告一個類別為資料實體物件;
value:實體名稱(資料庫表名稱) ,預設採用目前類別名稱;
@Entity("tb_demo") public class Demo { //... }
#@Id:宣告一個類別成員為主鍵;
無參數,配合@Property註解使用;
@Entity("tb_demo") public class Demo { @Id @Property private String id; public String getId() { return id; } public void setId(String id) { this.id = id; } }
@Property:宣告一個類別成員為數據實體屬性;
name:實作屬性名稱,預設採用目前成員名稱;
autoincrement:是否為自動成長,預設為false;
sequenceName:序列名稱,適用於類似Oracle等資料庫,配合autoincrement參數一同使用;
nullable:允許為空,預設為true;
unsigned:是否為無符號,預設為false;
length:資料長度,預設0為不限制;
decimals:小數位數,預設0為無小數;
type:資料類型,預設為Type.FIELD. VARCHAR;
@Entity("tb_user") public class User { @Id @Property private String id; @Property(name = "user_name", nullable = false, length = 32) private String username; @Property(name = "age", unsigned = true, type = Type.FIELD.INT) private Integer age; // 省略Get/Set方法... }
#@PK:宣告一個類別為某資料實體的複合主鍵物件;
#無參數;
@PK public class UserExtPK { @Property private String uid; @Property(name = "wx_id") private String wxId; // 省略Get/Set方法... } @Entity("tb_user_ext") public class UserExt { @Id private UserExtPK id; @Property(name = "open_id", nullable = false, length = 32) private String openId; // 省略Get/Set方法... }
#@Readonly:宣告一個成員為唯讀屬性,資料實體更新時其將被忽略;
無參數,配合@Property註解使用;