解決策を見つける際に問題がありますが、それはまったく不可能かもしれないと思いますが、ここでも試してみます。私の注釈はTblOrderがTblOrderPosのセットを持つことができるようにしたいと見ているだろうか(ORDERIDでidentyfiedレガシーDBスキーマとコンポジットFKとPKを使用したHibernate
TblOrder
ORDERID (INT) PK
CUSTOMERID (INT) PK
REPID (INT) PK
ISORDER (INT) PK
other columns...
TblOrderPos
ORDERID (INT) PK
POSITIONID (INT) PK
other columns
: は、したがって、次の2つのテーブルを持っている(なしFKS)MyISAMテーブルでMySQLの私のレガシーDBスキーマをふりすることができます)とTblOrderPosプライベートTblOrderインスタンス?私は両方のテーブルのためにEmbeddedIdオブジェクトを作成しました。毎回@ManyToOneまたは@OoToManyで@JoinColumnsをオーバーライドするプロパティを作成しようとしました.HibernateはPK列の数が一致しない(よくできません)と不平を言います。
私は本当に誰かがアイデアを持っていると思っています。
-----------更新------------ TblOrderPosでTblOrder
@OneToMany(mappedBy="shoporder")
@JoinColumn(name="ORDERID")
public List<Orderposition> getOrderpositions(){
return this.positions;
}
public void setOrderPositions(List<Orderposition> positions){
this.positions = positions;
}
で
@ManyToOne
@JoinColumn(name="ORDERID")
public Shoporder getShoporder(){
return this.shoporder;
}
public void setShoporder(Shoporder order){
this.shoporder = order;
}
それは私が得るエラーです: TblOrderPosからのTblOrderを参照する外部キーの列数が間違っています。 4
おそらく、彼はする方法について、具体的求めていました注釈を使用してそれを行います。 –
はい、それは役に立ちます。アノテーションでは不可能な場合は、XMLの例も役立ちます。 – Michael