> Java > 본문

각 속성에 대한 업데이트 기능을 만들어야 합니까, 아니면 부분 업데이트를 허용해야 합니까?

WBOY
풀어 주다: 2024-02-05 21:33:07
앞으로
1385명이 탐색했습니다.
질문 내용

업데이트 프로세스는 어떻게 구현해야 하나요? 모든 속성을 강제 업데이트하는 것이 권장됩니까(첫 번째 예) 아니면 부분 업데이트를 허용하기 위해 null 확인 조건을 추가해야 합니까(두 번째 예)?

첫 번째 예

으아악

두 번째 예

으아악

이것은 조잡한 개인 프로젝트입니다. 게시 방법에 대해서도 동일한 질문이 있습니다.


정답


클래스와 관계가 정확하게 정의되어 있으면 깔끔하고 이해하기 쉬운 두 번째 방법을 사용하면 됩니다.

적절한 관계 정의란 클래스(일대일 또는 일대다 등)와 해당 계단식 유형 간의 매핑 을 의미합니다. 귀하의 경우에는 상위 클래스에서 수행된 모든 데이터베이스 작업을 하위 클래스에 전파하는 CascadeType.ALL을 사용할 수 있습니다. 따라서 상위 개체를 저장하면 하위 개체도 저장됩니다. 데이터베이스에 하위 클래스가 없더라도 자동으로 하위 클래스가 생성됩니다.

이제 첫 번째 접근 방식은 몇 가지 경우에도 작동합니다. 예를 들어, 특정 ID에 대해 제공된 이름이 데이터베이스의 이름과 다른 일부 도시 데이터가 포함된 요청을 보낸다고 가정해 보겠습니다. 따라서 접근 방식에서는 데이터베이스의 다른 이름을 업데이트하지 않고 데이터베이스에서 실제 데이터를 가져와 설정합니다. 하지만 두 번째 방법을 따르면 기존 도시 이름 데이터를 덮어쓰게 됩니다.
두 번째 접근 방식의 문제를 극복하려면 캐스케이드를 CascadeType.PERSIST로 변경할 수 있습니다. 그러면 업데이트나 삭제 작업이 아닌 저장 작업만 하위 클래스에 전파됩니다.

위 내용은 각 속성에 대한 업데이트 기능을 만들어야 합니까, 아니면 부분 업데이트를 허용해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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