0

問題は、異なる予約に対して同じ parachute_id を持つ可能性を持ちたいということですが、同じ parachute_id を持つ予約を保存すると、次のようになります。 org.hibernate.exception.ConstraintViolationException: Duplicate entry '78' for key 'parachute_id'

それが私のコードです:

@OneToMany  
@JoinTable(name="reservation_parachute")  
Collection<Parachute> parachute = new ArrayList<Parachute>();    

データベースの例:
Reservation_id parachute_id
130 76
129 75
127 51
127 63
126 10
126 2
126 1
131 77
133 78

4

2 に答える 2

0

説明している場合、多対多の結合テーブルは必要ありません。

パラシュートが異なる予約をするために私はします:

Resrvation.javaで

@ManyToOne
@JoinColumn(name = "parachuteID")
private Parachute parachute;

Parachute.javaで

@OneToMany(mappedBy = "parachute")
private List<Reservation> reservations;

このようにして、パラシュートには予約のリストがあります。

于 2013-01-27T11:11:50.103 に答える
0

@OneToManyと混ざっていると思います@ManyToMany

次のように読みます。

One予約「所有」Manyパラシュート

しかし、あなたは次のようなものが欲しいです:

Many予約「シェア」Manyパラシュート

それが役に立てば幸い。

于 2013-01-27T11:02:21.230 に答える