0

エンティティを生成するために seam を使用しました。しかし、従業員 ID と車両 ID を持つ多対多の複合テーブルがあり、ハッシュ セットが間違って生成されました。従業員オブジェクトで従業員のお気に入りの車両を選択できるようにしたいと考えています。でも; 従業員オブジェクトのハッシュセットに何かを追加して永続化すると、複合テーブルには何も追加されません。車両オブジェクトには、

@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)  
@JoinTable(name = "flower_store_emp_vehicle", schema = "dbo", catalog = "tyler", joinColumns = { @JoinColumn(name = "vehicle_id", nullable = false, updatable = false) }, inverseJoinColumns = { @JoinColumn(name = "employee_id", nullable = false, updatable = false) })

従業員オブジェクトには次のものがあります。

@ManyToMany(fetch = FetchType.LAZY, mappedBy = "flowerStoreEmployees")

ただし、これらは逆だと思います。私はシームが初めてで、mappedBy がすべて間違っていることなくそれらを切り替える方法を知りません。誰かがそれを助ける方法を知っていれば、それは大歓迎です。ありがとうございました

4

1 に答える 1

0

従業員を関連付けの所有者にしたい場合は、注釈を切り替えるだけです。

従業員:

@ManyToMany(fetch = FetchType.LAZY, cascade = CascadeType.ALL)  
@JoinTable(name = "flower_store_emp_vehicle", 
           schema = "dbo", 
           catalog = "tyler", 
           inverseJoinColumns = { @JoinColumn(name = "vehicle_id", nullable = false, updatable = false) }, 
           joinColumns = { @JoinColumn(name = "employee_id", nullable = false, updatable = false) })
private Set<Vehicle> vehicles;

車両:

@ManyToMany(fetch = FetchType.LAZY, mappedBy = "vehicles")
private Set<Employee> employees;
于 2012-06-07T17:11:23.857 に答える