엔티티 스타일 개체에 테이블 값의 일부만 가져옵니다. 이 값은 그래픽 인터페이스에서 조작됩니다.부분적으로 채워진 엔티티 개체 및 업데이트 중에 일관된 데이터 유지
문제는 수정하지 않은 값을 변경하지 않고 덮어 쓰는 대신 업데이트를 덮어 쓸 수 있다는 것입니다.
이 문제를 해결할 적절한 방법은 무엇입니까? 부분 업데이트를 수행하거나 편집 목적으로 새로운 엔티티 객체를 만드는 메소드를 작성해야합니까?
엔티티 스타일 개체에 테이블 값의 일부만 가져옵니다. 이 값은 그래픽 인터페이스에서 조작됩니다.부분적으로 채워진 엔티티 개체 및 업데이트 중에 일관된 데이터 유지
문제는 수정하지 않은 값을 변경하지 않고 덮어 쓰는 대신 업데이트를 덮어 쓸 수 있다는 것입니다.
이 문제를 해결할 적절한 방법은 무엇입니까? 부분 업데이트를 수행하거나 편집 목적으로 새로운 엔티티 객체를 만드는 메소드를 작성해야합니까?
나는 이것이 어떻게 가장 잘 처리되는지 궁금합니다. 어떤 프로젝트에서, "bean의 null 값은 값을 건드리지 않았다는 것을 의미합니다"와 같은 가정을 할 수있는 프로젝트에서, 모든 필드를 "업데이트"하기 위해 UPDATE 문을 작성하고, null이 아닌 경우 해당 값을 bean의 값으로 설정했습니다 그렇지 않으면 열 값을 db의 기존 열 값으로 설정합니다.
UPDATE entity
SET propertyA = NVL(newPropertyA, propertyA)
,propertyB = NVL(newPropertyB, propertyB)
,propertyC = NVL(newPropertyC, propertyC)
,...
귀하의 태그에서 귀하의 프로젝트에서 ibatis (mybatis)를 사용하고 있음을 이해합니다.
그래서 당신은 같은 당신의 업데이트 매퍼에서 추가 검사 할 수 있습니다 :
<update id="update" parameterType="Client">
update user
<set>
<if test="Name != null">
NAME=#{Name},
</if>
<if test="First_Name != null">
FIRST_NAME=#{First_Name}
</if>
</set>
</update>
을