使用Hibernate映射boolean [] PostgreSql列

时间:2010-05-10 14:34:00

标签: java hibernate postgresql arrays types

我在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[]

如何映射此列?

1 个答案:

答案 0 :(得分:1)

您需要实现自己的UserType。这个article非常方便。我包含此链接是因为原始文章中的链接已损坏。

您可以通过覆盖某些open source UserTypes

来实施客户用户类型