접근 방식
- JPA는 필드와 메서드의 두 가지 방식으로 매핑을 처리할 수 있다.
- @Access를 사용하여 접근 방식을 설정한다.
왜 필드 접근 방식을 사용해야 할까?
- 메서드 접근 방식으로 설정 시 get, set 메서드가 구현되면서 객체가 아닌 데이터 기반으로 엔티티를 구현할 가능성이 높아진다.
- 특히 set 메서드가 구현된다면 외부에서 내부 데이터를 변경할 수 있는 여지가 남겨져 캡슐화를 깨는 원인이 될 수 있다.
- 엔티티를 객체가 제공할 기능 중심으로 구현하도록 유도하려면 JPA 매핑 처리를 프로퍼티 방식이 아닌 필드 방식으로 선택해서 불필요한 get, set 메서드를 구현하지 말아야 한다.
@Entity
@Access(AccessType.FIELD)
public class Order {
...
}