W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗(yàn)值獎勵(lì)
枚舉類型的映射無需指定特殊的 ?TypeHandler
?在 HasorDB 中它會自動被處理,具體映射規(guī)則為:
字符串
?,而字段值內(nèi)容是映射到枚舉的枚舉的 ?name
?上@Table(mapUnderscoreToCamelCase = true)
public class TestUser {
private UserType userType;
// getters and setters omitted
}
將數(shù)值類型映射成為枚舉值,需要枚舉類型實(shí)現(xiàn)? net.hasor.db.types.EnumOfValue
? 接口。
public enum LicenseEnum implements EnumOfValue<LicenseEnum> {
Private(0),
AGPLv3(1),
GPLv3(2),
;
private final int type;
LicenseEnum(int type) {
this.type = type;
}
public int codeValue() {
return this.type;
}
public LicenseEnum valueOfCode(int codeValue) {
for (LicenseEnum item : LicenseEnum.values()) {
if (item.getType() == codeValue) {
return item;
}
}
return null;
}
}
?Code
?是一個(gè)字符串值,區(qū)別于枚舉的 ?name
?屬性,它可以由用戶自定義規(guī)則。從而不再擔(dān)心枚舉元素的變更。
將 Code 類型映射成為枚舉值,需要枚舉類型實(shí)現(xiàn) ?net.hasor.db.types.EnumOfCode
? 接口。
public enum LicenseEnum implements EnumOfCode<LicenseEnum> {
Private("Private"),
AGPLv3("AGPLv3"),
GPLv3("GPLv3"),
private final String type;
LicenseEnum(String type) {
this.type = type;
}
public String codeName() {
return this.type;
}
public LicenseEnum valueOfCode(String codeValue) {
for (LicenseEnum item : LicenseEnum.values()) {
if (item.codeName().equalsIgnoreCase(codeValue)) {
return item;
}
}
return null;
}
}
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: