【发布时间】:2015-12-17 17:30:48
【问题描述】:
代码生成工作正常。 db char(1) field1,field2 映射到代码库中的布尔值。
<forcedTypes>
<forcedType>
<name>BOOLEAN</name>
<expressions>field1,field2
</expressions>
</forcedType>
</forcedTypes>
但是在插入数据库时,我得到了
A truncation error was encountered trying to shrink CHAR 'false' to length 1. Error
JOOQ生成的sql是insert into mytable ("field1", "field2", ) values (cast(? as boolean), cast(? as boolean))
这是试图在数据库中插入假/真,但我想插入 1 或 0。 需要帮忙。
我有用于开发功能测试的 Derby 和用于其他环境的 oracle。我为两个数据库使用相同的 JOOQ 生成的存根(使用 Derby DB 生成)。这似乎对 Oracle 工作正常,但对 Derby 则不然。
http://blog.jooq.org/tag/boolean-data-type/ 声明 Oracle 支持,而 Derby 将不支持这种转换。需要变通。
【问题讨论】: