将PostgreSQL CITEXT扩展与jOOQ一起使用

将PostgreSQL CITEXT扩展与jOOQ一起使用,postgresql,jooq,Postgresql,Jooq,Postgres CITEXT扩展有助于处理不区分大小写的数据。例如,这在处理电子邮件时非常有用。见和。我定义了下表: CREATE EXTENSION citext; CREATE TABLE user ( user_id INTEGER PRIMARY KEY, email CITEXT NOT NULL UNIQUE, password TEXT NOT NULL, salt TEXT NOT NULL ); 并将以下内容添加到po

Postgres CITEXT扩展有助于处理不区分大小写的数据。例如,这在处理电子邮件时非常有用。见和。我定义了下表:

CREATE EXTENSION citext;

CREATE TABLE user (
  user_id   INTEGER PRIMARY KEY,
  email     CITEXT  NOT NULL UNIQUE,
  password  TEXT    NOT NULL,
  salt      TEXT    NOT NULL
);
并将以下内容添加到pom.xml中的
部分:

<forcedType>
  <name>CLOB</name>
  <expression>public.user.email</expression>
  <types>CITEXT</types>
  </forcedType>
</forcedTypes>
我在将CITEXT Extension与jOOQ集成方面走对了吗


如果是,如何提供这些缺少的名称?

此问题有两个问题:

登录中
警告
级别可能有点过高。我已注册一个问题,以便将其还原为
INFO

你不必担心那些警告。PostgreSQL支持声明其参数未命名且只能由参数索引/位置引用的存储过程。jOOQ的代码生成器只表明这是“不寻常的”,并且生成了一个合成参数名

这不应影响将CITEXT与jOOQ一起使用

您的强制类型配置 当前存在一个错误,阻止您将用户定义的类型与
匹配:


只要删除您的
元素,它就会工作。

您使用的是什么jOOQ版本?我使用的是jOOQ 3.8.2、Maven 3.3.1和Java 1.8.0,谢谢!但仍然存在一个问题:CITEXT似乎不匹配。它生成的字段类型为“Object”,而不是“String”。当我只使用具有完全限定列名的时,它就起作用了。你能发现我的错误吗?没错。有两件事:1)模式区分大小写,因此小写
citext
可能会更好。2) 当前存在一个错误,阻止您将用户定义的类型与
匹配:。我会把这个加到我的答案中
[INFO] Generating routine       : CitextLt.java
[WARNING] Missing name          : Object citext_ne holds a column without a name at position 1