我得到的错误:
ERROR 42821: Columns of type 'BOOLEAN' cannot hold values of type 'INTEGER'.
对于 JPQL 查询:
SELECT b.id FROM Bar b WHERE b.latest = true
显然是因为 Hibernate 将布尔字段(即“最新”)映射到 JavaDB/Derby 的整数列。但这仅在 JPQL 中访问该列时发生。使用 Criteria API 时的结果相同。
Hibernate 已设置为org.hibernate.dialect.DerbyDialect和驱动程序org.apache.derby.jdbc.EmbeddedDriver。
其他版本的 JDBC 驱动程序的结果相同。
据推测,解决方法是将列映射到包含“Y”和“N”的单个字符。但我宁愿做得好。
有没有人也遇到过这个问题?