簡體   English   中英

Hibernate中的布爾值true

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM