jOOQ转换器和类型

时间:2014-09-29 15:14:04

标签: java derby jooq

在我的jOOQ配置文件中,我为DATE字段定义了一个转换器,但是我在forcedType的部分中定义了类型的条件时遇到了一些问题。

为了测试我表达了:

<expression>.*</expression>

和类型:

<types>DATE</types>

我希望匹配数据类型为DATE的所有列。 相反,它不匹配任何一个列,其中一个列的类型是DATE,就像它不匹配的其他列,但是这个列的列为def:CURRENT DATE,似乎它与此匹配。

为了使其有效,我必须使用:

<types>.*DATE.*</types>

有人可以解释一下吗? 我使用Derby作为db。

感谢您的帮助

使用示例进行更新

我在各种表中都有这些字段:

表A:

INSERT_DATE DATE NOT NULL

表B:

CREATION_DATE DATE NOT NULL

表C:

RELEASE_DATE DATE DEFAULT CURRENT DATE

将forcedTypes与<expression>.*</expression><types>DATE</types>

一起使用

在使用jOOQ生成代码后,只有表C上的字段正在使用转换器。 表A,B中的那些被忽略。我看到的唯一区别是&#34; CURRENT DATE&#34;

1 个答案:

答案 0 :(得分:1)

这似乎是jOOQ中的一个错误,我已在GitHub上注册,现在:

看起来馈入<forcedType/>评估的类型包含来自Derby的DDL的NOT NULL子句。在应用这些<forcedTypes/>时,有一个相关问题需要更多日志记录信息:

修复此错误之前的解决方法是使用正则表达式保持安全,类似于您使用的或更好的:

<types>DATE.*</types>