如何使用JOOQ确定固定长度数组数据库列的大小?

时间:2017-03-01 04:50:58

标签: java sql postgresql jooq

鉴于此PostgreSQL表具有固定长度的数组列:

CREATE TABLE test (
    id         integer,
    values     integer[4],
);

JOOQ代码生成是否会创建一个java常量或方法,提供可以存储在values列中的最大元素数(即4)?

在阅读了关于代码生成和SQL数组支持的JOOQ文档之后,我找不到任何关于固定长度数组的具体内容。此外,在生成的提供此信息的代码中没有任何内容跳出来。

2 个答案:

答案 0 :(得分:1)

不,jOOQ的3.9版本不知道数据库阵列的任何固定大小或大小限制(PostgreSQL数组类型和Oracle VARRAY类型都没有。)

我已为此注册了功能请求#5932

答案 1 :(得分:1)

我问这个问题部分是因为我担心PostgreSQL数据库中的数组溢出。在研究了使用直接SQL来确定大小约束的方法之后,我注意到PostgreSQL ARRAY文档做了声明:

  

然而,和以前一样,PostgreSQL在任何情况下都不会强制执行大小限制。

基于该语句,似乎不需要使用数组约束来强制执行大小,因为所有数组列似乎都被视为可变长度。因此,即使可以通过JOOQ,Straight SQL或任何其他方法检索PostgreSQL数组大小约束,为什么还要麻烦?

相关问题