如果我有一個具有靜態方法的util類,它將調用Hibernate函數來完成基本的數據訪問。我想知道如果制定方法是確保線程安全的正確方法。同步靜態方法在Java中如何工作?
我希望這可以防止信息訪問到同一個數據庫實例。但是,現在我確定下面的代碼是否阻止getObjectById
在被特定類調用時調用所有類。
public class Utils {
public static synchronized Object getObjectById (Class objclass, Long id) {
// call hibernate class
Session session = new Configuration().configure().buildSessionFactory().openSession();
Object obj = session.load(objclass, id);
session.close();
return obj;
}
// other static methods
}
非常有幫助的回答!謝謝!所以Hibernate通過「樂觀鎖定」來處理cnocurrency。那麼就根本不需要使用「同步」方法來解決任何數據訪問的併發問題?僅當數據未存儲在數據庫中時才使用「同步」方法? ..你使用它們嗎? – tomato 2009-02-24 00:32:08