複合主キーとJPA 2/Hibernateで動作する外部キーを取得できません。私は、国と地方との単純なシナリオを作成しようとしています:JPA 2 - 複合主キーの1つのフィールドのみを含む外部キー?
国エンティティ:
@Entity
@Table(name = "country")
public class Country extends DomainObjectBase implements Serializable {
@Id
@Basic(optional = false)
@Column(name = "code")
private String code;
@Basic(optional = false)
@Column(name = "name")
private String name;
@OneToMany(cascade = CascadeType.ALL, mappedBy = "country")
private List<Province> provinces;
}
省主キー:
@Embeddable
public class ProvincePK implements Serializable {
@Basic(optional = false)
@Column(name = "code")
private String code;
@Basic(optional = false)
@Column(name = "country_code")
private String countryCode;
}
省エンティティ:
@Entity
@Table(name = "province")
public class Province extends DomainObjectBase implements Serializable {
@EmbeddedId
protected ProvincePK provincePK;
@Basic(optional = false)
@Column(name = "name")
private String name;
@MapsId("country_code")
@JoinColumn(name = "country_code", referencedColumnName = "code", insertable = false, updatable = false)
@ManyToOne(optional = false)
private Country country;
}
この1つの例外を除いて私のために正しい表を作成してください:
国表:
- コードPK
- 名
省の表
- コードPK FK - 問題はへの作成外部キー参照であるところです国テーブルのコード欄
- coun try_code FK これは私が
- 名
がどのように私は私のエンティティ/私が欲しいのスキーマを生成するために、休止状態のための複合キーをマップしますか?したいだけの外部キー参照ですかその国には州コードが含まれていることを期待しているため、現在、私は州にデータを挿入できません!
ありがとうございました。