참고: https://www.youtube.com/watch?v=Ou_-DFaAUhQ
- @ManyToOne과 지연로딩
@ManyToOne에서 지연로딩을 쓰고 싶을 때
-> 모든 클래서 및 프로퍼티에 open 키워드를 붙여주거나
-> allOpen 플러그인을 사용해야함
사유: 지연로딩 시 프록시객체를 가져오는데 이 프록시객체는 원래 객체를 상속해서 만듦. 근데 코틀린은 상속 금지 final이 기본이라 이 기본 설정을 바꿔어주어야 지연로딩으로 프록시 객체만 가져오는게 가능
- @OneToMany에서 타입 주의
코틀린에서 List, Set 이런 애들은 전부 immutable임 mutable인 MutableList 이런 친구들을 사용하거나 List<@JvmSuppressWildCards Person> 이런 식으로 어노테이션을 타입 앞에 붙여주어야 함
자바 호환성 문제가 있을 땐 바이트코드 확인하셈