1

Order と Items の 2 つのエンティティがあります。Order エンティティでは、ID は OrderId と UserId の複合主キーですが、Items では外部キーは Order Id のみです。

注文IDを使用してアイテムのリストを取得するにはどうすればよいですか

public class Order {
   @EmbeddedId
   private CompositePrimaryKey pk;

   @OneToMany
   @JoinColumn(name="ORDER_ID")
   private List<Items> itemsLst;
}

public Class Items {
   @Id
   @Column(name="ORDER_ID")
   private Integer orderId;
}

上記のコードは機能しません。テーブルのデザインが良くないことはわかっていますが、現在テーブルのデザインを変更するのは難しく、その変更は多くの場所に影響を与えます。したがって、現在のデザインを維持すると、これについて何でもできます。

私はmappedByを使用してみましたが、上記のようにどちらの場合もエラーが発生しています。

どんな助けでも大歓迎です。

4

1 に答える 1

0

Order と Item の間に OneToMany がある場合、ORDER_ID は一意ではないため、Item の主キーにすることはできません。他にも問題があるかもしれませんが、これはエラーが表示されなくてもわかる明らかな問題です。

于 2013-10-09T08:26:59.040 に答える