본문 바로가기
Spring/Spring Data JPA

JPA Hibernate Multi PK 주의점 (정적 내부 클레스)

by 아이티.파머 2018. 10. 8.
반응형

Hibernate 사용시 주의점 


Hibernate: No default constructor for entity Inner Class

https://stackoverflow.com/questions/28053135/hibernate-no-default-constructor-for-entity-inner-class


 내부 클래스 이용시 

 하이버네이트 내부에서 프록시(리플레케이션)으로 기본 생성자를 콜 한다. 

 이때 내부 클레스를 사용 하게 되면 실제로 내부클레스는 디폴트 생성자가 없기때문에

 에러가 나가 된다. 

 이에 문제를 해결하기 위해서는 정적 내부 클레스를 이용한다. 


해결 방안 : 정적 내부클레스 이용 


@Embeddable

public class ClassName {

 @EmbeddeId

 public static class ClassNamePK {

  ...

 }

 ...

}


ClassName.ClassNamePK instanceName =  new ClassName.ClassNamePK();



반응형