如果我有一个带有静态方法的util类,它将调用Hibernate函数来完成基本数据访问.我想知道使用方法synchronized
是否是确保线程安全的正确方法.
我想这样做是为了防止信息访问同一个DB实例.然而,我现在可以确定,当特定类调用getObjectById
时,下面的代码是否阻止了所有类调用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
}