課程
/后端開發
/Java
/Hibernate初探之單表映射
doWork方法在這里就只是為了輸出HashCode?前面說doWork會自動執行事務,什么時候可以自動執行事務!,而不要后面的一個transaction.commit();方法提交事務!
2016-03-15
源自:Hibernate初探之單表映射 2-6
正在回答
問題1回答:這里的doWork確實是要得到HashCode,用來比較是否是兩個不同的連接(說明getCurrentSession是單例模式,而openSession每次都要占用不同的連接)。
問題2回答:這里Work()的excute方法里有Connection對象的參數,可以通過:
session.doWork(new Work(){
public void execute(Connection Conn) throws SQLException {
// TODO Auto-generated method stub
Conn.setAutoCommit(true);
}
});
自動執行事務,這樣就不用transaction了。
SessionFactory中有兩個獲取Session的方法,openSession()和getCurrentSession()。其中,getCurrentSession()方法在事務提交或回滾之后會自動關閉,openSession()需要手動關閉。事務需要提交,而是說doWork()可以避免調用了openSession()而忘記執行session.close()。
舉報
Java持久化框架Hibernate入門教程,掌握Hibernate基本概念
6 回答大神們求解
1 回答求大神解答
6 回答求大神們解決!??!
4 回答運行不了,求大神解決
1 回答大神求助、
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號-11 京公網安備11010802030151號
購課補貼聯系客服咨詢優惠詳情
慕課網APP您的移動學習伙伴
掃描二維碼關注慕課網微信公眾號
2016-03-15
問題1回答:這里的doWork確實是要得到HashCode,用來比較是否是兩個不同的連接(說明getCurrentSession是單例模式,而openSession每次都要占用不同的連接)。
問題2回答:這里Work()的excute方法里有Connection對象的參數,可以通過:
session.doWork(new Work(){
public void execute(Connection Conn) throws SQLException {
// TODO Auto-generated method stub
Conn.setAutoCommit(true);
}
});
自動執行事務,這樣就不用transaction了。
2016-03-15
SessionFactory中有兩個獲取Session的方法,openSession()和getCurrentSession()。其中,getCurrentSession()方法在事務提交或回滾之后會自動關閉,openSession()需要手動關閉。事務需要提交,而是說doWork()可以避免調用了openSession()而忘記執行session.close()。