2012-12-25 2 views

답변

10

이것이 지정된 방법입니다. JPA Specification 당 : 필드 기반의 접근이 사용되는 경우

  • 는 엔티티 클래스의 객체/관계형 매핑 주석 인스턴스 변수 주석 및 지속성 제공 런타임 직접 인스턴스 변수에 액세스한다. Transient 주석으로 주석 처리되지 않은 모든 비 일시적인 인스턴스 변수는 지속됩니다.
  • 속성 기반 액세스가 사용될 때 엔티티 클래스의 객체/관계 매핑 주석은 getter 속성 접근 자 [7]에 주석을 추가하고 지속성 공급자 런타임은 속성 접근 자 메서드를 통해 지속 상태에 액세스합니다. Transient 주석으로 주석 처리되지 않은 모든 속성은 영구적입니다.
  • 과도 또는 일시적인 필드 또는 속성에는 매핑 주석을 적용하지 않아야합니다.

두 가지 옵션이 있습니다. 필드 레벨 주석 또는 속성 (getter 메소드) 주석을 사용하십시오. 세 번째 옵션은 없습니다.

1

getter에 주석을 추가하면 JPA는 getters를 통해 속성에 액세스합니다. setter에 주석을 넣을 필요가 없습니다.

1

개체의 경우 특성에 직접 액세스하거나 간접적으로 필드에 액세스하는 두 가지 방법 만 있기 때문에.

엔티티 bean의 경우, annotation은 속성을 열에 매핑하는 방법을 지정하며 JPA는 엔티티의 이러한 상태에 액세스해야하기 때문에 필자는이 필드를 주석 필드에 직접 입력하거나 가져 오는 가장 직관적 인 방법이라고 생각합니다.

관련 문제