#java #hibernate #orm
Вопрос:
У меня следующая ошибка, и я пытаюсь выяснить причину. Насколько я знаю, это вызвано не гибернацией, а тем, как я управляю/использую вызовы методов (временный экземпляр сущности, сохранение, отсоединение, а затем объединение). Я не понимаю, почему возникает эта проблема. Я был бы очень признателен за ваше объяснение.
Ошибка: HHH000099: произошел сбой утверждения (это может указывать на ошибку в режиме гибернации, но, скорее всего, из-за небезопасного использования сеанса): org.hibernate.AssertionFailure: возможный не поточно-безопасный доступ к сеансу
К вашему сведению: Версия Java: 1.8 Версия гибернации: https://hibernate.org/orm/releases/5.5/
package lk.mysite.demo.orm;
import lk.mysite.demo.orm.entity.Customer;
import lk.mysite.demo.orm.util.HibernateUtil;
import org.hibernate.HibernateException;
import org.hibernate.Session;
import org.hibernate.SessionFactory;
public class ContextDemo16 {
public static void main(String[] args) {
try (SessionFactory sf = HibernateUtil.getSessionFactory();
Session session = sf.openSession();) {
session.beginTransaction();
Customer customer = new Customer(5, "John", "New York");
session.save(customer);
session.detach(customer);
session.merge(customer);
// prompt an error
session.getTransaction().commit();
} catch (HibernateException e) {
e.printStackTrace();
}
}
}