> Java > java지도 시간 > 본문

어떤 Hibernate 절약 전략이 귀하에게 적합합니까?

Mary-Kate Olsen
풀어 주다: 2024-11-17 08:42:03
원래의
783명이 탐색했습니다.

Which Hibernate Saving Strategy is Right for You?

Hibernate의 저장 전략: 차이점 풀기

Hibernate에서 개발자는 데이터베이스에 객체를 유지하기 위해 원하는 대로 사용할 수 있는 다양한 방법을 제공합니다. 이 문서에서는 각 메소드의 복잡성을 설명하고 언제, 왜 사용해야 하는지에 대한 지침을 제공합니다.

save(), update(), saveOrUpdate() 및 saveOrUpdateCopy()

save (): 엔터티를 데이터베이스에 저장하고 존재하지 않는 경우 식별자를 할당합니다. 기본적으로 식별자가 이미 존재하는 경우 업데이트를 수행합니다.

update(): 기존 식별자를 사용하여 엔터티를 유지하려고 시도합니다. 식별자가 없으면 일반적으로 예외가 발생합니다.

saveOrUpdate(): save()update() 중에서 동적으로 선택합니다. 엔터티에 식별자가 있는지 여부.

saveOrUpdateCopy(): (더 이상 사용되지 않음) merge()로 대체됨.

merge()

merge(): 일시적(관리되지 않음) 또는 분리된 엔터티를 처리할 때 업데이트에 사용됩니다. 변경 사항을 세션에 병합하고 그에 따라 데이터베이스를 업데이트합니다.

persist()

persist(): merge()와 유사합니다. 그러나 생성된 식별자를 반환하지 않고 임시 엔터티를 저장하는 데 엄격하게 사용됩니다.

올바른 방법 선택

선택은 엔터티의 상태와 원하는 동작에 따라 다릅니다.

  • save(): 새 엔터티를 저장하는 데 적합
  • update(): 식별자로 기존 엔터티를 업데이트하는 데
  • saveOrUpdate(): 식별자의 존재를 알 수 없는 경우에 편리합니다
  • merge(): 임시 또는 분리된 엔터티와 함께 ​​사용됩니다(직접 update()하는 경우) 해당 없음)
  • persist(): 생성된 식별자를 검색하지 않고 임시 엔터티를 저장하는 경우

위 내용은 어떤 Hibernate 절약 전략이 귀하에게 적합합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
저자별 최신 기사
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿