Gfh_i18n
複合キー ( @IdClass
)を持つエンティティがあります。
@Entity @IdClass(es.caib.gesma.petcom.data.entity.id.Gfh_i18n_id.class)
public class Gfh_i18n implements Serializable {
@Id @Column(length=10, nullable = false)
private String localeId = null;
@Id <-- This is the attribute causing issues
private Gfh gfh = null;
....
}
そしてidクラス
public class Gfh_i18n_id implements Serializable {
private String localeId = null;
private Gfh gfh = null;
...
}
これが書かれているように、これは機能します。問題は、次の関係をGfh
持つクラスもあるということです:@OneToMany
Gfh_i18n
@OneToMany(mappedBy="gfh")
@MapKey(name="localeId")
private Map<String, Gfh_i18n> descriptions = null;
Eclipse Dali を使用すると、次のエラーが表示されます。
In attribute 'descriptions', the "mapped by" attribute 'gfh' has an invalid mapping type for this relationship.
私がやろうとすると、Gfh_1i8n
@Id @ManyToOne
private Gfh gfh = null;
それは前のエラーを解決しますが、次のGfh_i18n
ように述べています
The attribute matching the ID class attribute gfh does not have the correct type es.caib.gesma.petcom.data.entity.Gfh
この質問は私のものと似ていますが、なぜ使用する必要があるのか (または を使用する@EmbeddedId
方法があるかどうか) を完全には理解していません。@IdClass
@ManyToOne
Hibernate(JBoss 6.1)でJPA 2.0を使用しています
何か案は?前もって感謝します。