将PostgreSQL CITEXT扩展与jOOQ一起使用
Postgres CITEXT扩展有助于处理不区分大小写的数据。例如,这在处理电子邮件时非常有用。见和。我定义了下表:将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
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