2016-04-19 2 views
0

このコードを使用してデータベースに行を保存しています。 idはhibernateから自己生成されません.IDを生成しているデータベースにトリガーがあります。 hibernateを介してデータベースに行を保存すると、その行のトリガーによって生成されたIDを取得する必要があります。hibernateを使用してデータベースに行を保存した後に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以外のデータベースには他のユニークキーが存在しないためです。

答えて

0

は、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(); 
} 
を返し、その後フラッシュ/リフレッシュ方法を試してみてください
関連する問題