Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/hibernate/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用Hibernate映射布尔[]PostgreSql列_Java_Hibernate_Postgresql_Arrays_Types - Fatal编程技术网

Java 使用Hibernate映射布尔[]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

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

如何映射此列?

您需要实现自己的用户类型。这很方便。我包括这个链接,因为原始文章中的链接已断开


您可以通过覆盖某些

可能的重复项来实现您的客户用户类型,我同意这是一个重复项-感谢您在@Pascal找到它。然而,原文上的链接被破坏了,这个问题从@Kartik那里得到了一个很好的答案,因此我不确定是否应该关闭它(?)理想情况下,我认为Kartik应该在前面的问题上添加他的答案,而这个问题应该关闭。但是我不是一个人来决定这件事的,所以,让社区来决定吧。谢谢@Kartik-提供的链接使我能够实现一个解决方案。