我在我的Java bean中有多對多的關係。當我使用List
來定義我的變量,如:休眠多對多關係設置或列表?
@Entity
@Table(name="ScD")
public class Group extends Nameable {
@ManyToMany(cascade = {CascadeType.PERSIST, CascadeType.MERGE}, fetch = FetchType.EAGER)
@JoinColumn(name="b_fk")
private List<R> r;
//or
private Set<R> r;
我得到這個錯誤:
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0'
...
當我使用Set
一切似乎運作良好。
我想用多對多的關係,使用哪一個邏輯consept List
或Set
(因爲名單可能有重複和設置,但性能如何等問題)的時候問這個?
除了多對多的關係(一對一,多對一,多對多),我應該使用Set而不是List來獲得好的設計模式嗎? – kamaci
是的,因爲'列表'表明項目的順序是不正確的。我知道,我知道它有稍微簡單的API。 –
都投票接受作爲答案的詳細信息和良好的聯繫。 – kamaci