Java 位(1)休眠JPA映射

Java 位(1)休眠JPA映射,java,jpa,jdbc,types,hibernate-mapping,Java,Jpa,Jdbc,Types,Hibernate Mapping,在Postgresql中,我有一个类型为BIT(1)的列。在JPA映射中,它类似于: @Column(columnDefinition="bit(1)") private String type; 但是,当我执行测试时,会出现以下错误: 错误:“type”列的类型为bit,但表达式的类型为character variable 提示:您需要重写或强制转换表达式。 排名:117 我尝试过其他Java类型:char、int、Boolean和BitSet。但是,同样的错误也会发生 您知道如何将Post

在Postgresql中,我有一个类型为BIT(1)的列。在JPA映射中,它类似于:

@Column(columnDefinition="bit(1)")
private String type;
但是,当我执行测试时,会出现以下错误:

错误:“type”列的类型为bit,但表达式的类型为character variable 提示:您需要重写或强制转换表达式。 排名:117

我尝试过其他Java类型:char、int、Boolean和BitSet。但是,同样的错误也会发生


您知道如何将Postgresql类型位(1)映射到Hibernate JPA吗???

Hibernate不支持Postgresql类型位。 尝试在cast中使用springjpa的本机查询。例如:

@Modifying  @Query(value = "update table set is_active = cast(:is_activeas bit) where id = :id", nativeQuery = true)

int updateTable(@Param("is_active") int isActive, @Param("id") long id);

错误:列“type”的类型为bit,但表达式的类型为boolean提示:您需要重写或强制转换表达式。秩:这里是否有充分的理由使用位(1)?我想一个简单的布尔值会更严格。这是项目的一个要求。。。我只是在开发持久层。也许吧,但是我没有看到任何关于
位(1)
的有效用例-但是我很高兴学到一些新东西。这只是浪费空间(位(1)使用6字节的存储)。