【问题标题】:What is the "BIT VARYING" data type should be declared in Hibernate POJO class什么是“BIT VARYING”数据类型应该在 Hibernate POJO 类中声明
【发布时间】:2015-12-30 10:25:57
【问题描述】:

我正在尝试在休眠中映射 PostgreSQL 表。我正在写一个 POJO 类。有一列 BIT VARYING 类型。 POJO类中getter和setter方法如何声明java数据类型?

Objectbyte[] 不工作。

【问题讨论】:

    标签: java hibernate postgresql


    【解决方案1】:

    使用整数。以下面的简单示例为例,我将三个不同值的位表示为整数。

    create table bits_comparison_test (
      string VARCHAR(10),
      bits INTEGER
    );
    
    insert into bits_comparison_test (string, bits) values ('Studio', 1); -- binary 001
    insert into bits_comparison_test (string, bits) values ('Apartment', 2); -- binary 010
    insert into bits_comparison_test (string, bits) values ('House', 4); -- binary 100
    

    如果我们想要公寓和房屋,我们可以执行以下查询:-

    select * from bits_comparison_test where bits & 6 != 0;
    

    确保您的二进制表示,对于每种类型,只有一个 1 位。例如,如果您用 3(即 11 二进制)表示房屋,您无法知道用户是想要房屋还是只想要(工作室和公寓)。

    【讨论】:

    • 好提示。但最初的问题是关于 Hibernate 和 Java 类型的。
    猜你喜欢
    • 1970-01-01
    • 2016-12-12
    • 2020-05-12
    • 2017-11-02
    • 2012-11-17
    • 1970-01-01
    • 1970-01-01
    • 2019-04-30
    • 1970-01-01
    相关资源
    最近更新 更多