我正在创建一个应用程序,但对jOOQ的当前状态有些困惑。这是我第一次将jOOQ用于包括CRUD在内的所有内容,因此我可能会缺少一些东西。
我知道DAO和Pojos可能正在使用deprecated,但是,我无法在数据库第一Design中解决这个问题。
我能做的最简单的事情是创建自己的Pojos,但是我们回到了普通的JPA实体文件,如果数据库发生了更改,这些文件将无法与Record正确映射。
1)是否弃用生成的pojos是否意味着将来我将不得不使用自己的Pojo源生成器?
2)我应该有一个自定义的映射器,当Pojo无法使用Record对象映射字段时会抛出异常吗?
3)目前最好的方法是继续使用生成的pojos吗?这不是一个巨大的应用程序,但是我必须选择一种策略并将其用于大多数数据库服务中。
答案 0 :(得分:0)
在jOOQ中执行CRUD的默认方法是使用代码生成器生成的UpdatableRecord
类。另请参阅:https://www.jooq.org/doc/latest/manual/sql-execution/crud-with-updatablerecords
Pojo并没有被弃用。 #5984的问题描述已过时,评论已更新。我已经更新了问题描述以反映这一点。
1)弃用生成的pojos是否意味着将来我将不得不使用自己的Pojo源生成器?
不,请参见上方。
2)我应该有一个自定义的映射器,当Pojo无法使用Record对象映射字段时会抛出异常吗?
这取决于您的pojos应该做什么。如果您使用jOOQ的生成器,那么开箱即用的DefaultRecordMapper
将始终能够映射它们
3)目前最好的方法是继续使用生成的pojos吗?这不是一个巨大的应用程序,但是我必须选择一种策略并将其用于大多数数据库服务中。
您可能不需要POJO,在大多数情况下,UpdatableRecord
就足够了。 POJO可以在没有jOOQ依赖的情况下传输数据,例如服务器之间。