我试图将新数据插入两个数据库服务器。
这适用于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