저번에 다룬다고 말했던 Entity의 생명주기를 다룰 예정입니다.
영속성 컨텍스트
User user = new User();
user.setEmail("user1@google.com");
user.setUsername("user1");
User user = new User();
user.setEmail("user1@google.com");
user.setUsername("user1");
entityManager.persist(user);
entityManager.detach(user);
entityManager.remove(user);
참고로 JpaRepository를 상속한 인터페이스에서도
EntityManager의 활동을 이어 받는다.
Jpa 에서도 Transactional 선언이 가능하다.
말그대로 Lombok 어노테이션을 달아준다면 전체로직이 성공이 될때까지 DB에 적용하지 않는다.
RuntimeException 에서는 롤백이 되지만,
Exception 의 경우, 개발자가 모든 예외 권한을 가지게되며 롤백은 진행되지 않는다.