hibernate多對多,中間表無資料問題
阿新 • • 發佈:2019-01-07
1.兩個實體類:類目,屬性
2.關係多對多
3.類目Category類
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name="category_items",//第三張表名
[email protected](name="cate_id"),//當前類在兩張表關係表中的欄位名
[email protected](name="item_id")//另一個類在第三張表中的欄位
)
4.屬性Item類
5.此處屬性由類目維護(mappedby)//多個屬性可能屬於多個類目 @ManyToMany(targetEntity = Category.class,mappedBy = "items" ,cascade = CascadeType.ALL,fetch = FetchType.LAZY) Set<Category> categories ;
6.儲存測試資料
Category category = new Category(); category.setName("耳環"); Item item = new Item(); item.setName("sq"); Set<Category> categories = new HashSet<Category>(); categories.add(category); item.setCategories(categories); Set<Item> items = new HashSet<Item>(); items.add(item); category.setItems(items); sessionFactory.getCurrentSession().save(category); sessionFactory.getCurrentSession().flush();