1.两个实体类:类目,属性
2.关系多对多
3.类目Category类
@ManyToMany(cascade = CascadeType.ALL)
@JoinTable(
name="category_items",//第三张表名
joinColumns=@JoinColumn(name="cate_id"),//当前类在两张表关系表中的字段名
inverseJoinColumns=@JoinColumn(name="item_id")//另一个类在第三张表中的字段
)
4.属性Item类
//多个属性可能属于多个类目
@ManyToMany(targetEntity = Category.class,mappedBy = "items" ,cascade = CascadeType.ALL,fetch = FetchType.LAZY)
Set<Category> categories ;
5.此处属性由类目维护(mappedby)
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();