>Java >java지도 시간 >Hibernate의 `save`, `persist`, `update`, `saveOrUpdate` 및 `merge`: 언제 어느 것을 사용해야 합니까?

Hibernate의 `save`, `persist`, `update`, `saveOrUpdate` 및 `merge`: 언제 어느 것을 사용해야 합니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-15 07:38:02325검색

Hibernate's `save`, `persist`, `update`, `saveOrUpdate`, and `merge`: When to Use Which?

Hibernate의 저장 옵션

Hibernate는 각각 특정 목적을 위해 데이터를 데이터베이스에 유지하기 위한 여러 가지 방법을 제공합니다. 최적의 데이터베이스 상호 작용을 위해서는 이러한 차이점을 이해하는 것이 중요합니다.

save

새 엔터티를 유지하고 존재하지 않는 경우 고유 식별자를 할당합니다. 식별자가 있으면 업데이트 작업을 수행합니다.

update

기존 식별자를 사용하여 엔터티를 유지하려고 시도합니다. 식별자가 없으면 예외가 발생합니다.

saveOrUpdate

식별자의 존재에 따라 save 또는 update를 동적으로 호출합니다. 식별자가 없으면 저장을 사용합니다. 그렇지 않으면 업데이트를 사용합니다.

saveOrUpdateCopy

더 이상 사용되지 않으며 병합으로 대체됩니다.

merge

임시 또는 분리된 엔터티를 업데이트하거나 저장하는 데 사용됩니다. 임시 객체는 지속된 적이 없는 새로운 객체이며, 분리된 객체는 이전에 지속되었지만 더 이상 Hibernate 세션과 연결되지 않습니다.

지속

다음을 위해 특별히 설계되었습니다. 임시 개체 저장. 저장과 달리 생성된 식별자를 반환하지 않습니다.

올바른 방법 선택

save: 새 엔터티를 저장하거나 다음을 기반으로 레코드를 업데이트합니다. 식별자.

update: 기존 항목을 명시적으로 업데이트하는 경우 엔터티.

saveOrUpdate: 엔터티가 새 엔터티인지 기존 엔터티인지 확실하지 않은 시나리오의 경우.

merge: 업데이트 또는 임시 저장용 또는 분리된 엔터티.

persist: 별도의 엔터티 없이 새 엔터티를 저장합니다. 식별자 검색.

위 내용은 Hibernate의 `save`, `persist`, `update`, `saveOrUpdate` 및 `merge`: 언제 어느 것을 사용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.