Invocation of init method failed; nested exception is org.hibernate.AnnotationException: Property of @IdClass not found in
Property of @IdClass not found in entity ••• [field name]
IdClass에서의 field name과 entity의 field name이 다를 때 나타나는 에러
idclass에서의 필드명은 classification1,2,3,4 ,,, 로 작명
그러나 엔티티에서의 필드명은 itemClassification1,2,3,4,,, 로 idClass에서 정의한 필드명과 다른 것을 확인할 수 있었습니다.
따라서 위 두 필드명을 itemClassification으로 통일해주었습니다.
https://kha0213.github.io/jpa/jpa-composite-key/
https://www.programmergirl.com/jpa-hibernate-identifiers/
- @EmbeddedId or @IdClass 의 annotation을 붙여야한다.
- public 의 no-args constructor 가 있어야 한다.
- Serializable 를 implement 받아야 한다.
- equals() 와 hashCode() method를 override해야 한다. (Id Class도)