programing

데이터베이스의 관점에서 REFRESH와 MERGE는 무엇을 의미합니까?

randomtip 2022. 9. 12. 11:25
반응형

데이터베이스의 관점에서 REFRESH와 MERGE는 무엇을 의미합니까?

궁금하고 빨리 이 답을 찾아야 해요.구글은 별로 도움이 되지 않을 것이다.

Java Persistence API에는 프레임워크에 관련된 엔티티에 대한 작업을 캐스케이드하도록 지시하는 다음 속성이 있습니다.

CascadeType.PERSIST
CascadeType.DELETE
CascadeType.MERGE
CascadeType.REFRESH

첫 번째 두 가지는 무엇을 의미하는지 알고 있습니다.B가 있는 오브젝트 A를 영속하면 B도 영속하고 A를 삭제하면 B도 삭제합니다.

하지만 다른 두 사람이 무엇을 성취했는지 전혀 이해할 수 없다.헬프?

다대다 관계에 대한 JPA 주석의 의미:

  • ALL - 소스 엔티티에서 실행 가능한 모든 캐스케이드 작업이 연결 대상에 캐스케이드됩니다.
  • MERGE - 소스 엔티티가 병합된 경우 병합이 연결 대상에 캐스케이드됩니다.
  • PUSTIVE - 소스 엔티티가 지속되면 지속성은 연결 대상에 캐스케이드됩니다.
  • REFRESH - 소스 엔티티가 새로 고쳐지면 새로 고침이 연결 대상에 캐스케이드됩니다.
  • REMOVE - 소스 엔티티가 제거되면 연결 대상도 제거됩니다.

나 자신도 이러한 식으로 본다(가독성이 향상됨).

  • MERGE - 기존 객체의 경우 테이블의 기존 데이터를 내 객체의 데이터와 병합합니다.(데이터베이스와 동기화)
  • PUSTIVE - 데이터베이스의 개체에서 새 레코드를 만듭니다.
  • REFRESH - 객체의 데이터를 새로 고칩니다.아마도 동기화할 필요가 있는 데이터베이스에 변경이 있었을 것입니다.(데이터베이스에서 동기화)
  • REMOVE - 삭제입니다.

REFRESH는 "데이터베이스의 모든 상태 변경을 내 표현으로 끌어오기"를 의미합니다.캐스케이드는 간단합니다.관련된 모든 엔티티가 갱신됩니다.

MERGE는 "저장"에 가깝지만 "이 분리된 엔티티를 관리된 상태로 되돌리고 상태 변경을 저장"에 가깝다는 의미입니다.캐스케이드란 모든 관련 엔티티가 동일한 방식으로 뒤로 밀리고 다시 찾은 관리 엔티티 핸들입니다..merge()에는 관련된 모든 관리 엔티티가 있습니다.

관련 문서의 1개 인스턴스에 대한 링크

언급URL : https://stackoverflow.com/questions/836569/what-do-refresh-and-merge-mean-in-terms-of-databases

반응형