【问题标题】:Get Id after saving a row in database using hibernate使用hibernate在数据库中保存一行后获取ID
【发布时间】:2016-08-11 18:42:57
【问题描述】:

我正在使用此代码在数据库中保存一行。 id不是从hibernate自行生成的。我在数据库中有一个触发器正在生成id。 一旦我通过休眠将行保存在数据库中,我需要获取触发器为该行生成的 id。

public long saveInspectionMaster(HInspectionMaster s) {
    Session session = this.sessionFactoryCommon.openSession();
    session.getTransaction().begin();
    session.save(s);
    System.out.println("--------------------------------------");
    session.getTransaction().commit();
    return 0;
}

有没有办法在保存行后获取id。因为数据库中除了ID之外没有其他唯一键。

【问题讨论】:

    标签: hibernate spring-mvc oracle11g


    【解决方案1】:

    尝试刷新/刷新方法,然后返回 id

    public long saveInspectionMaster(HInspectionMaster s) {
        Session session = this.sessionFactoryCommon.openSession();
        session.getTransaction().begin();
        session.save(s);
        System.out.println("--------------------------------------");
        session.getTransaction().commit();
    
    
        session.flush():
        session.refresh(HInspectionMaster s):
    
    
        return s.getId();
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-05-28
      • 1970-01-01
      • 2020-07-23
      • 2016-03-17
      • 1970-01-01
      • 1970-01-01
      • 2011-10-19
      • 1970-01-01
      相关资源
      最近更新 更多