Если у меня есть класс util со статическими методами, которые вызовут функции Hibernate для выполнения базового доступа к данным. Мне интересно, является ли метод synchronized
правильным методом обеспечения безопасности потоков.
Я хочу, чтобы это предотвращало доступ информации к тому же экземпляру БД. Тем не менее, теперь я уверен, что следующий код предотвращает вызов 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
}