我在 PostgreSql 数据库中有一个使用 boolean[]
类型定义的列。我希望使用 Hibernate 3.3.x 将其映射到 Java 实体属性。但是,我找不到 Hibernate 乐意映射到的合适 Java 类型。我认为 java.lang.Boolean[] 是显而易见的选择,但 Hibernate 提示道:
Caused by: org.hibernate.HibernateException:
Wrong column type in schema.table for column mycolumn. Found: _bool, expected: bytea
at org.hibernate.mapping.Table.validateColumns(Table.java:284)
at org.hibernate.cfg.Configuration.validateSchema(Configuration.java:1130)
我还尝试了以下属性类型,但没有成功:
java.lang.String
java.lang.boolean[]
java.lang.Byte[]
如何映射此列?
最佳答案
您需要实现自己的 UserType。这个article非常方便。我添加此链接是因为原始文章中的链接已损坏。
您可以通过覆盖某些 open source UserTypes 来实现您的客户用户类型。
关于java - 使用 Hibernate 映射 boolean[] PostgreSql 列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2803433/