반응형
Notice
Link
목록JPA기능선택 (1)
스택큐힙리스트
JPA EntityManager: 왜 persist() 대신 merge()를 사용해야 하나요?
EntityManager.merge()은 새로운 객체를 삽입하고 기존 객체를 업데이트할 수 있습니다. persist()를 사용하려는 이유는 무엇일까요? (이 메서드는 새로운 객체만 생성할 수 있습니다)답변 1어느 방법이건 PersistenceContext에 엔티티를 추가하지만, 차이점은 그 후에 엔티티를 어떻게 다루는지입니다. Persist는 엔티티 인스턴스를 받아들이고, 컨텍스트에 추가하여 해당 인스턴스를 관리상태로 만듭니다. (즉, 엔티티에 대한 향후 업데이트가 추적됩니다). Merge는 상태가 병합된 관리상태의 인스턴스를 반환합니다. PersistenceContext에 있는 것을 반환하거나 엔티티의 새 인스턴스를 생성합니다. 어떤 경우에든 제공된 엔티티의 상태를 복사하고 관리되는 사본을 반환합니다...
카테고리 없음
2023. 10. 26. 12:26