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