如何配置休眠(使用JPA)来存储布尔类型的Y / N而不是0/1?

内容来源于 Stack Overflow,并遵循CC BY-SA 3.0许可协议进行翻译与使用

  • 回答 (2)
  • 关注 (0)
  • 查看 (52)

我可以将JPA / hibernate设置为持久化Boolean类型Y/N吗?

在数据库中(该列被定义为varchar2(1),它当前存储为0/1

该数据库是Oracle。

提问于
用户回答回答于

唯一方法是为我的类设置两个属性。一个作为编程API的布尔值,它不包含在映射中。它是getter和setter引用一个私有char变量,它是Y / N。然后我有另一个包含在hibernate映射中的受保护属性,它的getter和setter直接引用私有char变量。

用户回答回答于

Hibernate有一个内置的“yes_no”类型,可以做你想做的。它映射到数据库中的CHAR(1)列。

基本映射: <property name="some_flag" type="yes_no"/>

注释映射(Hibernate扩展):

@Type(type="yes_no")
public boolean getFlag();

扫码关注云+社区

领取腾讯云代金券