issues
search
arsgsg1
/
kotlin-practice
0
stars
0
forks
source link
kotlin + JPA 문제점
#1
Open
arsgsg1
opened
1 year ago
arsgsg1
commented
1 year ago
동적 프록시로 동작하기 때문에 코틀린의 철학과 어긋나는 면이 몇 개 있다.
코틀린의 기본 클래스는 final인데, 프록시 객체를 만들기 위해선 상속을 받아야 한다. 즉, open을 매번 붙여줘야 함 (플러그인으로 어느정도 해결)
val로 프로퍼티를 read-only하게 만들면 엔티티를 수정시킬 수 없음 (제일 중요) 그렇다고 var로 하자니 setter가 생성되어 수정의 여지가 생기고, 커스텀 setter를 만들자니 보일러 코드가 생성됨
결국 var로 setter를 열어야 하는데, 엔티티의 캡슐화가 보장되지 못함.
어쩔 수 없이 안고 가야하는 문제이고, 린트나 컨벤션으로 최대한 못 사용하게 막아야 하는게 최선
arsgsg1
commented
1 year ago
참고:
https://multifrontgarden.tistory.com/272