[英]Include rowid in generated jOOQ Record
我在 Oracle DB 中使用 jOOQ,需要获取记录的 rowid。
是否可以在生成的 jOOq 记录中包含 rowid?
jOOQ 3.12 引入了Table.rowid()
和#7885 ,因此,做你想做的事情的必要基础设施。 但是,现在(从 jOOQ 3.12 开始),通常无法向代码生成器或UpdatableRecord
表明存在这样一个人工ROWID
列。 待处理的功能请求包括:
根据您尝试执行的操作,您可以编写以 1:1 为基础表示您的表的视图,将ROWID
列添加到每一行。 使用syntheticPrimaryKeys
和其他代码生成选项,您可以使这些视图在代码生成器中再次看起来像您的基表。
您还可以扩展jOOQ-meta
的类以在每个生成的记录上生成一个合成ROWID
列,如果需要,使用overridePrimaryKeys
告诉代码生成器ROWID
是主键,而不是实际的主键,如果这是什么你要。 当然,你必须确保你永远不会写信给那个专栏......
除此之外,您可以在所有手动构建的查询中手动获取Table.rowid()
。 不过,它们将与您的UpdatableRecord
实例分开。 您可以使用ResultQuery.fetchMap()
方法来生成ResultQuery.fetchMap()
和记录之间的映射。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.