0
간단한 테이블 (ActivityLog)이 있고 다른 테이블 (User)에 대한 FK 인 PK가 있어야합니다.Spring과 JPA 2.0 - OneToOne을 통한 단일 값 기본 키
내가 가지고있는 공통점이있는 것 같아서이 위키 책을 따르려고했습니다. Primary Keys through OneToOne and ManyToOne Relationships. 여기의 예에는 복합 키가 포함되어 있습니다. 불행하게도 내가 무엇입니까
@Entity
public class User {
@Id
private Long id;
// other stuff
}
@Entity
public class ActivityLog {
@Id
@OneToOne(optional = false)
@JoinColumn(name="user_id", referencedColumnName="id")
private User user;
// other stuff
}
: 난 그냥 기본 키가 필요합니다, 그래서 함께 결국
Caused by: java.lang.IllegalArgumentException: This class [class com.example.ActivityLog] does not define an IdClass
at org.hibernate.metamodel.internal.AbstractIdentifiableType.getIdClassAttributes(AbstractIdentifiableType.java:183)
at org.springframework.data.jpa.repository.support.JpaMetamodelEntityInformation$IdMetadata.<init>(JpaMetamodelEntityInformation.java:253)
내가 함께 ActivityLog에 주석을 시도 :
@IdClass(Long.class)
(심지어에서 비록 내가 이해할 수있는 것은 복합 키에만 적용됨), 똑같은 오류가 발생합니다.
필자가 언급 한 위키 책과 다른 점이 있습니까?
봄이 잘못입니까? (this question?에서 제안 된대로).
https://docs.jboss.org/hibernate/orm/current/userguide/html_single/ Hibernate_User_Guide.html # identifiers-derived –
감사합니다. @JBNizet. '@ MapsId'는 갈 길이었습니다! – tasza