Java 使用Hibernate映射布尔[]PostgreSql列
我在PostgreSql数据库中有一列,它是用类型Java 使用Hibernate映射布尔[]PostgreSql列,java,hibernate,postgresql,arrays,types,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 mycolum
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[]
如何映射此列?您需要实现自己的用户类型。这很方便。我包括这个链接,因为原始文章中的链接已断开
您可以通过覆盖某些可能的重复项来实现您的客户用户类型,我同意这是一个重复项-感谢您在@Pascal找到它。然而,原文上的链接被破坏了,这个问题从@Kartik那里得到了一个很好的答案,因此我不确定是否应该关闭它(?)理想情况下,我认为Kartik应该在前面的问题上添加他的答案,而这个问题应该关闭。但是我不是一个人来决定这件事的,所以,让社区来决定吧。谢谢@Kartik-提供的链接使我能够实现一个解决方案。