我无法在此处或在Google上找到答案。
我的问题如下:
我有一个带有yes_no类型列的实体
public class MyEntity {
@Column(name = "IS_DELETED")
@Type(type = "yes_no")
private Boolean itemDeleted = Boolean.FALSE;
}
在数据库中,该列是CHAR(1)
IS_DELETED CHAR(1) CHECK ("IS_DELETED" IN ('Y', 'N'))
以下代码在我的JUnit测试中在H2中出现问题(在应用程序运行时它与Oracle运行良好):
myEntityRepositoryService.save(myEntity);
不 yes_no类型的所有列都已正确更新。我启用了一些hibernate日志来检查提交是否发生,如果事务被释放,......一切正常。所有列都已更新,但不是yes_no列。
我试图在保存之前的代码中的其他字段(如随机数)中设置一些随机值。它可以工作,保存值但不保存布尔列。
请注意,存储库服务扩展 org.springframework.data.jpa.repository.JpaRepository
Hibernate YesNoType是否存在已知问题?难道我做错了什么? H2需要特殊配置吗?
答案 0 :(得分:0)
问题不是H2。相反,你的JpaRepository可能没有利用Hibernate。请确保它使用Hibernate EntityManager而不是其他一些实现(例如EclipseLink)。