Jooq Postgres Varying Bit

时间:2016-11-25 08:11:12

标签: java postgresql bit jooq

我正在调查Jooq并且发现了一些我可以找到很少文档的东西 - 没有一个能够诚实地回答我的问题。

我想要做的是在表格中添加一列 权限变化位(2000)(Postgres 9.5 +)

Jooq对此做了什么,是将它视为varchar ......即使在生成时这显然是不正确的。在这样的事情上成功的最短途径是什么。

1 个答案:

答案 0 :(得分:1)

我不确定将PostgreSQL的"bit string"类型映射到java.lang.String的设计决策是什么。我甚至不排除对即使他们称为"位字符串" 这一事实的疏忽,他们也不是真正的字符串。

我怀疑代表这个的最合适的Java类型是BitSet。因此,您理想的前进方式是实现data type binding形式:

public class VaryingBitBinding extends Binding<String, BitSet> {
    // ...
}

并在JDBC级别实现它。然后,您可以将此绑定挂钩到代码生成器中:

<forcedType>
    <userType>java.util.BitSet</userType>
    <binding>com.example.VaryingBitBinding</binding>
    <types>varying\ bit</types>
</forcedType>