【问题标题】:How to store Boolean type data into a column in a PostgreSQL db table with data type "bit" using HIbernate?如何使用 HIbernate 将布尔类型数据存储到数据类型为“位”的 PostgreSQL 数据库表中的列中?
【发布时间】:2018-01-03 05:14:36
【问题描述】:

我的实体类中有一个名为“isActive”的布尔类型变量。它通过名称“is_active”映射到数据类型为位的列。

@Column(name = "is_active")
private boolean isActive;

但是当我尝试保存对象的 isActive 属性时,我得到一个错误:

column "is_active" is of type bit but expression is of type character 
varying Hint: You will need to rewrite or cast the expression.

如何存储 isActive 的值?当“isActive”为真时,我想在数据库中存储“1”,当“isActive”为假时,我想在数据库中存储“0”。

谢谢!

【问题讨论】:

  • 你不使用boolean 类型的列吗? bitboolean 不同,您也没有在 Java 中使用 integer
  • @a_horse_with_no_name :我必须使用“1”表示真值,“0”表示假值。这是给我的代码规范。
  • 您的问题是“如何将布尔类型存储到列中”。答案是“使用定义为boolean 的列”

标签: postgresql hibernate


【解决方案1】:

你可以像这样使用Hibernate's NumericBooleanType

@Type(type = "numeric_boolean")
@Column(name = "is_active")
private boolean isActive;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-02-14
    • 2015-08-25
    • 1970-01-01
    • 2018-04-09
    • 2013-09-23
    • 2013-10-13
    • 2010-09-22
    相关资源
    最近更新 更多