【发布时间】:2014-11-10 03:08:51
【问题描述】:
对于一个小的新项目,我决定尝试JDBI(通常我使用hibernate/jpa)。
我喜欢使用 @SqlUpdate/@SqlQuery 的轻量级、基于注释的 dao 创建。
但是:在某些情况下,我不确定是要创建实体还是更新现有实体。 我会放置一个“选择”语句,并根据其返回值使用插入或更新语句。
问题:jdbi 中的“仅接口”dao 是否以某种方式支持这一点?还是我必须自己编写一个“createOrUpdate”方法(使自动生成的 dao 或多或少过时)?
感谢任何提示。
【问题讨论】:
-
我们需要编写方法来处理这个问题。
-
所以不支持...“我们”是谁?
-
你在带注解的接口 DAO 中添加了一个 insert() 和 update() 方法。 CreateOrUpdate() 逻辑通过 select() 和 if/else 在 DAO 上方的层中实现。所以你的问题的答案是:接口DAO不支持“CreateOrUpdate”这个东西。
-
JDBI's Google user group 出现了一些问题。您可以将描述的抽象类解决方案与带注释的抽象方法一起使用,并为“createOrUpdate”方法添加具体实现。非常方便的海事组织。