我有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