我试图将新数据插入到两个数据库服务器中。 这个适用于Oracle 11g,但在PostgreSQL 9+中不起作用。 我无法追踪错误所说的问题:
列“BOOLEAN_VALUE”的类型为numeric,但表达式的类型为boolean Hint:您需要重写或转换表达式。
该列可以为空,在下面的代码中,我们不设置任何数据。
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作为默认值,但没有一个工作。 希望有人能给我一些启示。
答案 0 :(得分:1)
PostgreSQL不会自动将int自动转换为布尔值,最终你可以创建自己的转换函数。
请参阅:https://www.postgresql.org/docs/9.4/static/sql-createcast.html