java
JPA 사용시 특정 컬럼만 UPDATE 하는 방법..
무세1
2016. 4. 1. 16:55
기본적으로 JPA를 사용하면 update시 PK를 제외한 전체 컬럼을 업데이트 한다.
Oracle의 경우 테이블 파티션을 나누는데,
파티션의 키가 되는 컬럼을 업데이트 할때 partition move가 되는 경우 오류가 발생한다.
개발DB는 보통 파티션을 하지 않거나, 파티션 무브를 허용하지만,
운영DB는 보통 파티션 무브를 허용하지 않는다고 한다...
운영파티션무브를 허용하거나,
또는
Domain에 다음과 같이 어노테이션을 추가하여 변경된 컬럼만 업데이트 하도록 하여 해결하면 된다.
@org.hibernate.annotations.DynamicUpdate
@Entity
@org.hibernate.annotations.DynamicUpdate
public class Member {
@id
private long id;
private String name;
..
..
}