发出带有插入的DBQuery后,如何获取生成的id,以便将其添加回DAO?

时间:2016-02-13 20:05:13

标签: jodd

它不仅仅是插入,真的。如果我已经有一个部分加载的DAO,我该如何加载其余的DAO?

我要做的是做一个select查询,然后使用BeanCopy。我宁愿让结果集映射器直接在DAO上设置属性。

1 个答案:

答案 0 :(得分:0)

好的,让我试着回答这个问题。对于所有生成的值(如自动生成的ID),您可以使用以下流程:

    q = DbEntitySql.insert(foo).query();
    // ... or any other way to get DbQuery

    q.setGeneratedColumns("ID");
    q.executeUpdate();
    DbOomUtil.populateGeneratedKeys(dao, q);

基本上,对于每个查询/ dao,需要来指定自动生成的字段。目前没有这样做的注释 - 我们试图尽可能减少注释数量。我们正在努力使其更加自动化。

现在,填充DAO。我不会使用BeanCopy - 只需加载新的DAO实例并抛弃旧的DAO实例。因此,在执行完整选择查询后,您将获得完整的DAO加载,并继续使用它。