我有Postgres DB,Java和JPA 2.0以及eclipseLink。JPA Postgres插入位(4),默認值爲
在我要反對:
@Column(name = "mask")
private Boolean mask;
以dB爲單位: 屏蔽位(4)DEFAULT B'1000' :: 「位」,
當我想presist對象:
引起者:org.postgresql.util.PSQLException:錯誤:列「掩碼」是類型位,但表達式的類型爲布爾型 提示:您將需要重寫或轉換表達式。
我嘗試在上課: - 布爾 - 位集合(4) - 字符串 - 整數 - 字符
隨着BitSet中我嘗試這些: 反對: @Column(NAME =「掩碼「) 私有BitSet掩碼;
public BitSet getMask() {
BitSet work = new BitSet(4);
work.set(0);
if (mask == null){
return work;
}
return mask;
}
public void setMask(BitSet mask) {
BitSet work = new BitSet(4);
work.set(0);
if (mask== null) {
this.mask= work;
} else {
this.mask= mask;
}
}
我該如何讓它工作?
布爾方法不好,存儲1位。 我在谷歌搜索,失去了論壇。
5小時谷歌搜索後,我發現: http://archives.postgresql.org/pgsql-bugs/2005-05/msg00014.php
它大約一個Postgres BUG:
「說完稱爲JDBC類型‘位’,實際上映射到一個布爾類型是非常混亂。如果你認爲JDBC的BIT有沒有什麼與稱爲「bit」的服務器類型有關,並且它們只是一個巧合,它們具有相同的名稱,那麼事情應該更清楚。
如果我嘗試串,我發現在休眠的解決方案,itű1s使用@tpye。錯誤:列「掩碼」是類型位,但表達式是字符串類型 – Joseph 2012-08-01 09:28:20