我在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[]
如何映射此列?
答案 0 :(得分:1)
您需要实现自己的UserType。这个article非常方便。我包含此链接是因为原始文章中的链接已损坏。
您可以通过覆盖某些open source UserTypes
来实施客户用户类型