什么是" BIT VARYING"数据类型应该在Hibernate POJO类中声明

时间:2015-12-30 10:25:58

标签: java hibernate postgresql

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

Objectbyte[]无效。

1 个答案:

答案 0 :(得分:0)

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

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;

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