본문 바로가기
자바/JPA

[JPA/Java] For property-based access both setter and getter should be present 문제 해결 @Access or @Column

by drCode 2023. 3. 13.
728x90
반응형

임베디드 타입 변수를 사용하고자 할 때,

 

Embedable 클래스에 응용 함수를 만들고자 할 때,

 

getter를 사용하다보면 아래와 같은 상황이 발생한다.

 

For property-based access both setter and getter should be present

 

이와 같은 이슈는 어떻게 해결할까?

 

JPA 강사 김영한 님이 위의 이슈에 대한 질문에 대한 답을 남겨주었다.

https://www.inflearn.com/questions/78106/embeddable-%EC%82%AC%EC%9A%A9%EC%8B%9C-%EC%A7%88%EB%AC%B8-%EC%9E%85%EB%8B%88%EB%8B%A4

 

@Embeddable 사용시 질문 입니다. - 인프런 | 질문 & 답변

안녕하세요 강사님 @Embeddable 어노테이션 관련 부분을 실습 하고 있는데요 @Getter@Setter@Embeddablepublic class Ex18Period {// @Column(name = 'STARTDATE') private LocalDateTi...

www.inflearn.com

 

프로퍼티 접근이 최근에는 지원되지 않기 때문에 위처럼 오류가 난 것인데,

 

위의 이슈를 해결하려면

 

(1) @Access로 필드를 접근시킨다

@Embeddable
@Access(AccessType.FIELD)
public class Address {

 

@Access(AccessType.FIELD)

 

(2) 첫 컬럼에 @Column으로 필드 접근 방식을 사용하고 있음을 암시한다.

@Embeddable
public class Address {

    @Column
    private String city;

 

첫 컬럼에 @Column을 붙인다.

728x90
반응형

댓글