【发布时间】:2013-12-11 16:50:40
【问题描述】:
我是 JOOQ 的新手,这似乎有点奇怪,为什么它将我的许多列类型安全地设置为整数,而在不久的将来它们很容易成为 Longs。
即使count(*) 结果也必须转换为整数!
在当前项目中是否有设置默认长或任何方式设置全局长? (这可能适用于任何地方)
如果这不可能.. 是否有理由将其设为 Integer?'
这是Scala中的一些代码示例:
def loggedInUserOwnsAccount(userId: Long) = {
selectCount().
from(LOGGED_IN, EMAIL_ACCOUNT).
where(LOGGED_IN.USER_ID.equal(EMAIL_ACCOUNT.PASS_ID)).
and(LOGGED_IN.USER_ID.equal(userId.toInt)).asInstanceOf[ResultQuery[Record]]
}
请注意,重要的部分是我需要使用此代码userId.toInt将Long转换为Int,否则将无法编译
【问题讨论】:
-
除了
DSL.count()函数,它确实可以返回Long而不是Integer,你有什么想法,即是什么让你认为有任何这样的事情a "默认为整数"? -
我只是找不到从
Integer更改为Long的明显方法。有一些方法采用 Long 参数,现在我正在从硬编码的 sql 字符串迁移到 jooq,我不想更改接口。所以我现在实际上将 Long 转换为 Integer,如果以后 id 太大,它可能会引发异常。希望我能覆盖你 -
你能编辑你的问题并展示一个实际的例子吗?我仍然不确定问题是什么......
-
是的,我只是添加了一个实际示例。谢谢你的提问:)
-
我明白了,我想我现在明白了……
标签: java sql integer long-integer jooq