User라는 Entity가 있다고 가정하자.
DB에 데이터가 없을때 영속, 준영속 상태의 객체는 아무것도 없다.
처음 시작은 비영속 상태로 시작한다.
객체생성(new User())을 하면 비영속 상태의 객체가 생성된다. // 말이 비영속이지 데이터베이스에 없는 객체임.
비영속 상태의 객체를 save하면 DB에 객체가 저장되고, transactional 상태에서는 영속성 컨택스트에 존재하면서 영속 객체로 바뀐다.
transactional scope를 벗어나게되면, detached 객체(준영속) 객체가되고, 이 객체를 다시 save하면 데이터베이스에 저장된다. << 이 말은 즉슨, save하지 않으면 DB에 저장되지 않고, 데이터는 소멸된다.
Transtional scope를 유지하려면 클래스에 @Transactional 어노테이션을 넣어주던가, 메소드에 눈치껏 @Transactional을 넣어주자.