준영속
과 비영속
의 차이점영속상태가 되어본 경험
이다.영속상태
가 되기 위해서는 식별자가 반드시 필요
하다. 준영속 상태
의식별자가 존재
한다.비영속 상태
의 엔티티는 식별자가 존재할 수도, 존재하지 않을 수도 있다.
em.persist
em.merge
변경감지
를 사용해야한다.준영속 상태의 Item을 영속상태로 만들어서, set을 해준다.
컨트롤러에서 서비스로 파라미터 전달
서비스에서 select문을 통해 Item 객체를 영속상태로 만들어준다.
-> 영속상태가 된 후에 set을 해주게 되면, 변경감지를 통해 update가 이루어진다.
merge할때는 비영속상태로 merge를 했을 때, Item 객체에서 변경하지 않는 값을 set을 누락한다면 null로 넘어왔지만, 여기서는 영속상태로 만들어 주었기 때문에, 변경하지 않는 값을 set해주지 않아도 기존값이 그대로 저장된다.
-> name값을 주석처리하여 set을 해주지 않았다.