2010-02-19 4 views
1

JPA에서 동작에 대한 정의가있는 경우 어떤 속성에 대해서도 같음 값을 설정하면 궁금합니다. 나는 명세서에서 어떤 단어도 찾지 못했다.동일한 값을 다시 설정하기위한 JPA 동작을 정의합니까?

TopLink Essentials 및 Hibernate를 사용하여 테스트 한 결과, 데이터베이스에서 엔티티를로드하고 동일한 값으로 특성을 다시 설정하면 어떻게됩니까?

@Entity 
public class MyEntity { 
    @Id 
    @GeneratedValue(strategy = GenerationType.IDENTITY) 
    private Integer id; 

    @Column(length = 20) 
    private String value; 

    @Version 
    private long version; 

    // Define setter and getter... 
} 

버전 값을 변경하지 않습니다

entity.setValue(new String(myChars)); 

와 같은 값을 설정.

모든 구현에 대해이 동작을 기대할 수 있습니까? 나는 그렇게 생각하지 않는다 ...

답변

1

값을 같은 것으로 설정 했으므로 변경되지 않았으므로 아무 일도 일어나지 않을 것이다. DataNucleus는 아무 것도 변경하지 않으므로 아무 것도 변경하지 않습니다. QED

+0

모든 구현에 따라 달라질 수도 있습니다. – marabol

+0

JPA 스펙은 여러 가지로 유명하기 때문에 악명이 높습니다. 특정 액션에 대해 구체적인 내용을 찾을 수 없으므로 아무 것도 계산하지 않습니다. – DataNucleus