在我的jOOQ配置文件中,我为日期字段定义了一个转换器,但是在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
将强制类型与
只有使用jOOQ生成代码后表C上的字段使用转换器。忽略表A、B中的那些。我看到的唯一区别是“当前日期”
这似乎是jOOQ中的一个bug,我已经在GitHub上注册过了,现在:
看起来像是被馈入的类型
https://github.com/jOOQ/jOOQ/issues/3661
在修复此错误之前,您的解决方法是使用正则表达式以保持安全,类似于您使用的正则表达式,或者更好:
<types>DATE.*</types>
我正试图在Jooq的帮助下实现一个软件,将数据读写到h2数据库中。我的PLC_数据表有一个带有时间戳的列,该列通常映射到LocalDateTime,但我需要将该数据映射到POJO中的Instant,因此我编写了自定义转换器: 我在我的文件中引用了forcedType: 我已经注释了我的POJO: 当我从DB读到我的POJO时,代码工作得很有魅力,如下所示: 但当我尝试在数据库中写入一些数据时,我在
我们有一些反映到多个数据库字段的自定义类型。例如 存储为3个单独的db字段。总是写作很无聊 然后从相应的记录字段中获取记录并创建PersonName类型。 其思想是定义一些多列自定义字段,在查询执行期间由jooq将其扩展为三个“真实”字段,并打包到结果中的一个PersonName对象。 看起来用可以做这样的事情,但我想知道,可能已经有解决这种情况的方法了。
在我的Oracle数据库中,我有存储为VARCHAR的数量值。从数据库中检索记录时,我希望将它们映射到一个POJO,其中金额值表示为double。不幸的是,我不能使用强制类型,因为在数据库中,所有内容都存储为VARCHAR,并且没有模式将列标识为包含金额值的列。 我正在查看jOOQ转换器,这似乎是我想要的。因此,我为此创建了一个jOOQ转换器: 然而,每当我想使用将数据库记录映射到我的POJO时,
我试图将PostgreSQL(9.4)UUID绑定到每个UUID周围的包装类数组。请注意,这些包装器在整个应用程序中都是集成的,因此删除它们不是一个选项。我正在使用jOOQ和它的maven插件(3.5.1)来生成PoJo、记录和表类。 我在绑定数据库模式时遇到问题的相关部分如下所示: 然后,我尝试使用forcedType元素转换该类,但它生成的类无法编译。放弃这一点,我只是将它们作为UUID生成,
这些转换器在所有数据库共享。 下面是实现LocationConverter,把位置转化成字符串: 作为3.0的TypeConverter可以在column-by-column基础上使用。
给出此SO线程中给出的最后一个示例。 我得到这个错误: 我应该使用jooq会满意的特殊映射器吗? 欢迎任何帮助 编辑: Jooq版本:3.14.3 Postgres:11 dto公司 我也尝试过使用SimpleFlatMapper 但是得到 我正在使用spring boot,以下是我对jackson的依赖: 堆栈跟踪: