-1
하나의 테이블에 20 개의 열이 있습니다. 이제는 세 개의 열만 업데이트하려고합니다. 레코드의 수가 너무 커서 이름이 지정된 쿼리를 사용하지 않고 동일한 작업을 수행 할 수있는 방법이 있습니까? 업데이트해야하는 열은 각 레코드마다 다른 값을 갖습니다.JPA/Hibernate - 병합을 통해 엔티티의 제한된 열을 업데이트하는 방법
하나의 테이블에 20 개의 열이 있습니다. 이제는 세 개의 열만 업데이트하려고합니다. 레코드의 수가 너무 커서 이름이 지정된 쿼리를 사용하지 않고 동일한 작업을 수행 할 수있는 방법이 있습니까? 업데이트해야하는 열은 각 레코드마다 다른 값을 갖습니다.JPA/Hibernate - 병합을 통해 엔티티의 제한된 열을 업데이트하는 방법
단지 몇 가지 컬럼을 업데이트해야한다면 왜 병합을 사용하는지, DAO 레이어의 필드 만 설정하면됩니다.
@Entity
class Employee{
private String name;
private String id;
private String salary;
// getter setter
}
다음과 같이하면됩니다.
Employee emp = (Employee)session.get(Employee.class,id);
emp.setName("test");
트랜잭션이 끝나면 자동으로 플러시되므로 merge()를 사용할 필요가 없습니다.