[英]Boolean true value in Hibernate
是否可以將hibernate設置為保存-1而不是1作為數據庫中布爾字段的真值? 我需要-1來保持與Delphi中的其他程序的兼容性。
@Type(type="com.sample.type.CustomClass")
@Column(name = "TEST_FLAG")
private boolean testFlag;
@Type
注釋需要實現userType接口的類的完整路徑; 這是用於生成映射列的目標類型的工廠
CustomClas.java實現了hibernate提供的UserType接口
UserType實現使開發人員可以掛鈎自定義邏輯/實現,並充當關系數據庫和類屬性之間的適配器。
您需要使用以下方法編寫轉換邏輯。
nullSafeGet()
:根據結果集返回的數據創建自定義對象 nullSafeSet()
:將自定義對象轉換為需要傳遞給nullSafeSet()
准備語句的值 檢查API以獲取有關hibernate站點的詳細信息。
為什么不使用Integer而不是Boolean?
Integer value;
public void setValue(Boolean b) {
this.value = (b != null ? (b ? -1 : 0) : null);
}
public Boolean getValue() {
return (this.value != null ? (this.value == -1 ? true : false) : null);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.