인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

exbe님의 프로필 이미지
exbe

작성한 질문수

실전! 스프링 데이터 JPA

entity 복제 방법

작성

·

61

·

수정됨

0

안녕하세요!

이번에 jpa 엔티티를 복제할 일이 생겼습니다

제가 복제해야 할 엔티티는 자기참조도 하고, 1:n 관계의 조인도 되어있는 복잡한 엔티티 입니다

이런 경우 하나하나 deep copy 를 하려니 양방향 연관관계 등 로직이 너무 복잡해지는 부분이 존재하는 것 같습니다

그래서 찾아보니 entity 복제를 위해 여러가지 방법이 있다는 것을 알게되었습니다

https://www.baeldung.com/java-jpa-clone-entity

요약해보면

  1. 수동 복제

  2. Cloneable 인터페이스 사용

  3. BeanUtils 사용

  4. ModelMapper 사용

  5. detach() 메서드 사용

다양한 방법이 있는 것 같은데 현업에서는 주로 어떤 방식을 사용하나요?

 

답변 1

3

김영한님의 프로필 이미지
김영한
지식공유자

안녕하세요. exbe님

엔티티를 복제하는 이유를 정확히는 잘 모르겠지만, 엔티티 -> 엔티티로 복제하는 경우에는 수동 복제를 사용하는 편입니다.

엔티티를 별도의 DTO로 복제하는 경우에는 수동 복제를 사용하거나 ModelMapper 같은 툴의 사용을 고려할 수 있습니다.

감사합니다.

exbe님의 프로필 이미지
exbe
질문자

엔티티를 복제하는 이유는 폴더 복제 기능이 생겨서 입니다!

감사합니다!

exbe님의 프로필 이미지
exbe

작성한 질문수

질문하기