entity Item
package entity; import java.util.HashSet; import java.util.Set; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.JoinColumn; import javax.persistence.JoinTable; import javax.persistence.ManyToMany; import javax.persistence.Table; @Table(name = "tb_items") @Entity public class Item { private Integer id; private String itemName; /** * 多对多的关系 */ private Set<Category> categories = new HashSet<>(); @GeneratedValue @Id public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } @Column(name = "ITEM_NAME") public String getItemName() { return itemName; } public void setItemName(String itemName) { this.itemName = itemName; } // joinColumns:指定自己的外键和中间表之关联的之列 // @JoinColumn(name="ITEM_ID" 中间表的外键 // referencedColumnName="ID" 自己的主键 // ****inverseJoinColumns:指定与之相关表的外键和与之关联的之列 //name="ITEM_CATEGORY":指定中间表的表名 @JoinTable(name="ITEM_CATEGORY", joinColumns = { @JoinColumn(name = "ITEM_ID", referencedColumnName = "ID") }, inverseJoinColumns = {@JoinColumn(name = "CATEGORY_ID", referencedColumnName = "ID") }) @ManyToMany public Set<Category> getCategories() { return categories; } public void setCategories(Set<Category> categories) { this.categories = categories; } @Override public String toString() { return "Item [>; } }