现在,我的Java类中变量的数据类型是" boolean"。我想将它存储在PostgreSQL表中。我想要存储数据的列的数据类型定义为" bit"。但是当我尝试保存具有此布尔变量的对象时,我得到错误:
ERROR: column "isdeleted" is of type bit but expression is of type boolean
我使用Hibernate存储数据。 我的代码片段用于定义和映射我的变量:
@Column(name = "isDeleted")
private boolean isDeleted;
如何保存我的对象?谢谢!
答案 0 :(得分:1)
尝试使用BOOLEAN数据类型,定义你的@Column注释:
function buildIndex(…) {
…
var promises = paths.map(function(path) {
if (isDir(path)) {
return buildIndex(…);
} else {
return JSDOM.fromFile(…).then(…);
}
});
return Promise.all(promises).then(…);
}
另外,我认为在NHibernate中,列类型是TrueFalse,它期望' T'或者' F'。 您需要将列类型更改为布尔值。试试这个link
答案 1 :(得分:1)
请在Postgres中使用正确的boolean
类型。虽然可以在比特流中存储布尔值,但后来的使用会变得复杂。
通常boolean
你可以这样做:
SELECT * FROM table WHERE isdeleted;
对于bit
类型,您必须执行按位操作:
SELECT * FROM table WHERE isdeleted > B'0'
答案 2 :(得分:0)
尝试在代码中添加PostgreSQL方言 “ org.hibernate.dialect.PostgreSQLDialect”