japa 주석이 필드 또는 getter 메소드에 적용되는 이유는 무엇입니까? setter 메서드에서 주석을 적용하려고하면 컴파일러에서 오류를 생성합니다. 컴파일러가 setter 메서드에서 주석을 무시하기 때문입니다. 그들 뒤에있는 이유는 무엇입니까?JPA : 주석이 getter 또는 필드에 적용되는 이유
3
A
답변
10
이것이 지정된 방법입니다. JPA Specification 당 : 필드 기반의 접근이 사용되는 경우
- 는 엔티티 클래스의 객체/관계형 매핑 주석 인스턴스 변수 주석 및 지속성 제공 런타임 직접 인스턴스 변수에 액세스한다. Transient 주석으로 주석 처리되지 않은 모든 비 일시적인 인스턴스 변수는 지속됩니다.
- 속성 기반 액세스가 사용될 때 엔티티 클래스의 객체/관계 매핑 주석은 getter 속성 접근 자 [7]에 주석을 추가하고 지속성 공급자 런타임은 속성 접근 자 메서드를 통해 지속 상태에 액세스합니다. Transient 주석으로 주석 처리되지 않은 모든 속성은 영구적입니다.
- 과도 또는 일시적인 필드 또는 속성에는 매핑 주석을 적용하지 않아야합니다.
두 가지 옵션이 있습니다. 필드 레벨 주석 또는 속성 (getter 메소드) 주석을 사용하십시오. 세 번째 옵션은 없습니다.
1
getter에 주석을 추가하면 JPA는 getters를 통해 속성에 액세스합니다. setter에 주석을 넣을 필요가 없습니다.
1
개체의 경우 특성에 직접 액세스하거나 간접적으로 필드에 액세스하는 두 가지 방법 만 있기 때문에.
엔티티 bean의 경우, annotation은 속성을 열에 매핑하는 방법을 지정하며 JPA는 엔티티의 이러한 상태에 액세스해야하기 때문에 필자는이 필드를 주석 필드에 직접 입력하거나 가져 오는 가장 직관적 인 방법이라고 생각합니다.
관련 문제
- 1. @Size 주석이 인식되지 않음 (JPA)
- 2. 스프링 데이터 jpa 스키마 생성시 @Column 또는 @Basic JPA 주석이 무시되었습니다.
- 3. 주석이 달린 필드에 자바의 주석이 달린 클래스를 포함하도록합니다.
- 4. 필드에 주석이 달린 경우 생성자 유지
- 5. 많은 필드에 적용되는 CakePHP 유효성 검사 배열
- 6. 본문 클래스가 바닥 글보다 우선 적용되는 이유
- 7. iPad 인라인 CSS 규칙이 적용되는 이유 중요!
- 8. 스프링 데이터의 감사 필드에 getter/setter를 제공해야합니까?
- 9. getter/setter 또는 속성에 대한지도
- 10. Liquibase 및 JPA 주석이 달린 엔티티
- 11. JPA, 일시적 주석이 덮어 쓰지 않음 OneToOne?
- 12. 경고 이유 : 정적 필드에는 자동 연결 주석이 지원되지 않습니다.
- 13. Getter 또는 생성자의 멤버 초기화
- 14. 속성 (또는 getter)을 조롱하다
- 15. javax.persistence 필드, getter 또는 setter에 대한 주석?
- 16. JPA 엔티티의 한 필드에 여러 관계가 있음
- 17. 커밋 또는 롤백없이 DB에 적용되는 트랜잭션 업데이트
- 18. 캐시가 적용되는 위치 - Apache 또는 브라우저?
- 19. JPA : @OneToMany 필드에 사용자 정의 제약
- 20. JPA : 단일 필드에 정수 목록 저장
- 21. JPA 쿼리의 여러 필드에 어떻게 액세스합니까?
- 22. 내 Visual Studio 작업 표시 줄 아이콘에 애니메이션이 적용되는 이유
- 23. JPA 외관이 엔티티를 생성하지 못합니다 (이유)?
- 24. JPA 및 EclipseLink가 몇 회원들이 주석이 경우 재정 FetchType.Eager
- 25. 하나의 외부 열에 만 참여하는 JPA 주석이 있습니까?
- 26. 엔티티가 여러 개일 때 JPA @Version 주석이 작동하는 방식
- 27. JPA 쿼리가 다른 객체를 반환하는 이유
- 28. Spring + JPA - java.lang.NoSuchMethodError 오류가 발생하는 이유 : javax.persistence.PersistenceContext.properties()?
- 29. JPA 또는 HIBERNATE의 straight_join
- 30. JPA createQuery 또는 @NamedQuery