java表整形
我正在使用设计非常糟糕的数据库,在编写查询之前,我需要重新塑造表的形状
以下是我常见的问题:
- 时间戳分为两列(一列表示日期,另一列表示时间)李>
- 一些字符串列也被拆分为多个列李>
- 大多数弦都有固定长度&;空白填充,所以我需要修剪它们李>
我首先考虑调整Jooq生成器的输出。但是看一下createField(...)
方法,它将字段附加到fields0()
上,后者是包私有的。这使得SELECT *
查询所有(且仅)“原始”字段,而不是重新成形的字段
静态(即类/成员)或动态(即代码)声明此类模型的最佳方式是什么
# 1 楼答案
我最终使用以下类获得结果(为了简化,我忽略了模式处理、绑定和转换)
但是,它依赖于在jOOQ包中注入自定义类&;重用内部代码。这可能会导致安全性(如果密封罐/包)和可维护性问题。这就是为什么我不认为它是有效的,但可能的回答问题EME><
jOOQ hack:
我对常见问题的抽象:
表模型示例:
# 2 楼答案
在JPA中,您尝试使用^{} 注释进行建模。或者在Hibernate中,^{} 注释更为复杂。jOOQ在路线图上有类似的功能:
但是,从JOOQ3.5开始,您必须自己实现这个支持。{a6}看起来非常有用