我一直在尝试编写一些查询(针对 MySQL),但我不确定如何编写涉及 Integer 和 UInteger 类型的特定查询:
DSL.position(T1.FIELD, ":", -1).eq(T2.UINTFIELD)
position
返回 Field<Integer>
,所以我不能简单地将这个结果与我的 Field<UInteger>
进行比较。有没有简单的方法可以实现呢?我想保留正确的字段类型以供进一步验证。
最佳答案
您可以使用DSL.cast()
或DSL.coerce()
为了这。我建议强制。
DSL.cast()
生成 SQL 转换表达式和所需类型的 jOOQ 字段引用DSL.coerce()
不会影响生成的 SQL,但仍会生成所需类型的 jOOQ 归档引用。
例如:
position(T1.FIELD, ":", -1).eq(coerce(T2.UINTFIELD, SQLDataType.INTEGER))
关于java - 我应该在 JOOQ 上禁用 UInteger 类型吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56239501/