2011-02-27 3 views
3

하나 이상의 속성을 가진 hibernate 클래스가 있는데, NHibernate가 파일의 속성을 추적하고 변경된 속성 만 업데이트한다고 들었습니다. Hibernate에 비슷한 기능이 있습니까?최대 절전 모드로 단일 속성을 업데이트 할 수 있습니까?

나는 간단한 클래스로드를 사용하여 작동하게하려고했다. 그리고 나서 하나의 속성을 설정했다. 그런 다음 변경 사항을 플러시했다. 그러나 이것은 실패없이 클래스의 모든 속성을 업데이트합니다.

답변

4

Hibernate의 SQL 업데이트 문에서 수정되지 않은 속성을 제외하는 클래스 매핑 또는 주석을 통해 dynamic-update 속성을 true로 설정해야합니다. 좋은 참조 here을 찾을 수 있습니다. 기본적으로 동적 업데이트는 false로 설정되어 다소 새로운 기능이 도입 되었기 때문에 이전 버전과의 호환성을 유지합니다.

+0

을 엔티티를 얻을 수 있습니다. 그래서 거대한 속성이 없다면 멋지게 확장되지 않습니다. –

+0

고마워요. 내가 필요한 것입니다. –

0

당신은 또한 데이터베이스에 의해 수행 캐싱을 많이 부정 .. ... 업데이트이 예제를 시도하십시오 dB 처음부터

public final void updateEntity(EntityName entity){ 

    //get entity from db by id 
    EntityName dbEntity = session.get(EntityName.class, item.getProductId()); 

    //set property 
    dbEntity.setStatus(entity.getStatus()); 

    //and update 
    session.update(dbEntity); 

} 
관련 문제