2
나는 최대 절전 모드를 처음 사용합니다. 트랜잭션이 커밋되면 동작을 이해하고 싶습니다. 아래 코드를 고려하십시오.Hibernate에서 transaction.commit() 후에 엔티티 객체에 액세스하면 결과는 어떻게됩니까?
Employee 클래스는 개체가 데이터베이스에 삽입/삭제되는 클래스입니다.
public static void main(String[] args) {
SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
Session session = sessionFactory.getCurrentSession();
long id = 2;
try {
session.beginTransaction();
Employee employee = (Employee) session.get(Employee.class, id);
session.delete(employee);
session.getTransaction().commit();
employee.getName(); /*What will happen at this line*/
}
catch (HibernateException e) {
e.printStackTrace();
session.getTransaction().rollback();
}
}
감사를 살펴 보자. 이것은 커밋 후에 액세스되는 임시 객체가 정상적인 객체처럼 동작하고 getName()이 null 값을 반환한다는 것을 의미합니까? – CuriousDev
getName()가 commit() 전에 null가 아닌 경우는, commit() 후에 null가 아닙니다. – Flood2d