hibernate 屬性定義為Enum型

2021-07-24 08:41:52 字數 1578 閱讀 3515

public enum gender 

public integer getconstant()

public void setconstant(integer constant)

public string getmessage()

public void setmessage(string message)

}

@entity

@table(name = "t_teacher")

public class teacher

public teacher(string name, gender gender)

@id@generatedvalue(strategy = generationtype.auto)

private integer id;

@column

private string name;

@column

private gender gender;

@orderby(value = "id")

private listcourselist;

// 此處 省略getter和setter方法

}

@service("queryservice")

public class queryservice extends basedao

@test

@transactional

public void insertdatas()

}

為了便於測試,我使用了junit,在這裡執行insertdatas方法

idname

gender

1王可可02

李小麗1

hibernate中直接使用enum作為實體類的字段型別,資料庫中該字段會按照enum值的順序(從0開始)儲存資料。

例:gender的定義順序是 >male  >female, 所以male對應值(0),female對應值(1)。

@entity

@table(name = "t_teacher")

public class teacher

public teacher(string name, gender gender)

@id@generatedvalue(strategy = generationtype.auto)

private integer id;

@column

private string name;

@column

@enumerated(enumtype.string)

private gender gender;

@orderby(value = "id")

private listcourselist;

// 省略 setter和getter方法

}

列舉類的註解增加

@enumerated(enumtype.string)。

3.檢視資料庫

Hibernate 配置屬性

屬性名用途 hibernate.dialect 允許 hibernate 針對特定的關聯式資料庫生成優化的 sql 的org.hibernate.dialect.dialect的類名。例如 full.classname.of.dialect 在大多數情況下,hibernate 可以根據 jdbc 驅...

Hibernate事務屬性

事務也是 hibernate 持久層訪問的重要方面,hibernate 不僅提供了區域性事務支援,也允許使用容器管理的全域性事務。hibernate 關於事務管理的屬性有如下幾個。hibernate.transaction.factory class 指定hibernate 所用的事務工廠的型別,該...

Hibernate 檢索策略屬性

一.在裡面設定lazy屬性,如果是true是指延遲檢索,如果是false是立即檢索 注意 這個屬性只適用於session.load 方法,對於session.get 方法和hql查詢都是立即檢索也就是不起作用 二.一對多和多對多的檢索策略 1.在set中使用lazy屬性,lazy取值為false時是...