2

美好的一天! 我triing救我的實體模型,通過總是得到一個錯誤一對多玩法框架中的同一個實體類

Error inserting bean [class models.CategoryEntity] with unidirectional relationship. For inserts you must use cascade save on the master bean [class models.CategoryEntity].] 

這裏我班

@Entity 
public class CategoryEntity extends Model { 
    @Id 
    private String categoryId; 

    private String Name; 
    private Integer level; 

    @OneToMany(targetEntity = CategoryEntity.class, cascade = CascadeType.ALL) 
    private List<CategoryEntity> categories; 
//GETERS SETRES 
} 

我試圖挽救頭類,但錯誤是一樣的

回答

6

如果我理解正確的問題,你想要的是,每個CategoryEntity包含其他CategoryEntities的清單,2種可能的方式浮現在腦海中(雖然他們都沒有使用@OneToMany):

方法1:
您可以創建一個@ManyToMany關係,以及定義@JoinTable而命名的鍵:

@Entity 
public class CategoryEntity extends Model { 
    @Id 
    private String categoryId; 

    private String name; 
    private Integer level; 

    @ManyToMany(cascade=CascadeType.ALL) 
    @JoinTable(  name = "category_category", 
       joinColumns = @JoinColumn(name = "source_category_id"), 
      inverseJoinColumns = @JoinColumn(name = "target_category_id")) 
    public List<CategoryEntity> category_entity_lists = new ArrayList<CategoryEntity>(); 
} 



方法2:
或者你可以創建一個類的實體名單一個新的實體,並創建一個@ManyToMany關係,如:

@Entity 
public class CategoryList extends Model 
{ 
    @Id 
    public Long id; 

    @ManyToMany 
    @JoinTable(name="categorylist_category") 
    public List<CategoryEntity> category_list = new ArrayList<CategoryEntity>(); 
} 

然後在你的模型:

@Entity 
public class CategoryEntity extends Model { 
    @Id 
    private String categoryId; 

    private String name; 
    private Integer level; 

    @OneToOne 
    public CategoryList this_category_list; 

    @ManyToMany(mappedBy="category_list") 
    public List<CategoryList> in_other_category_lists = new ArrayList<CategoryList>(); 
} 

未測試代碼,但應該做的是每個CategoryEntity可以是幾個CategoryList的一部分。每個CategoryList都包含一個CategoryEntities列表。

您將不得不初始化this_category_list並將CategoryEntities添加到其category_list字段。

+0

@nabiullinas你成功與哪種方法? – myborobudur 2013-06-02 19:48:59

-3

你的模型沒有意義。 爲什麼你有作爲班級屬性的類本身?

清單不應該在同一個班級

+4

爲什麼不呢?一個人實體可以有朋友,其他人 – myborobudur 2013-06-02 19:44:15

相關問題