我试图将新数据插入两个数据库服务器。
这适用于Oracle 11g,但不适用于PostgreSQL 9+。
由于错误提示,我无法跟踪问题:

列“BOOLEAN_VALUE”的类型为数字,但表达式的类型为布尔值提示:您将需要重写或强制转换表达式。

该列为空,在下面的代码中,我们未设置任何数据。

Table Def:(Numeric)
"BOOLEAN_VALUE" NUMBER(1,0)

Domain:
@Column(name = "BOOLEAN_VALUE")
public Boolean getBooleanValue() {
    return booleanValue;
}

public void setBooleanValue(Boolean booleanValue) {
    this.booleanValue = booleanValue;
}

How data insertion:
MyData myData = new MyData();
myData.setMoneyValue("$ 120")
myServiceRepository.save(myData);

我们确实传递了0或1作为默认值,但是没有一个起作用。
希望有人能给我一点光。

最佳答案

PostgreSQL不会自动将int自动转换为布尔值,最终您可以创建自己的强制转换函数。

另请:https://www.postgresql.org/docs/9.4/static/sql-createcast.html

10-04 12:39