📄 category.java
字号:
package net.jeffrey.hibernate;import java.io.Serializable;import java.util.ArrayList;import java.util.List;import javax.persistence.Entity;import javax.persistence.OneToMany;import net.jeffrey.hibernate.history.Historizable;import org.hibernate.annotations.Cascade;/** * 商品分类 * @author jeffrey */@Entitypublic class Category extends AbstractEntity implements Serializable, Historizable { private String name; @OneToMany(mappedBy = "category") // 定义级联,必须使用hibernate的级联annotation,JPA的Cascade不起作用 @Cascade(org.hibernate.annotations.CascadeType.ALL) private List<Product> products = new ArrayList<Product>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public List<Product> getProducts() { return products; } public void setProducts(List<Product> products) { this.products = products; } /* Helper方法,在添加商品的同时建立双方的关联关系 */ public void addProduct(Product p) { if (p != null) { p.setCategory(this); this.products.add(p); } } /* Helper方法,在删除商品的同时解除双方的关联关系 */ public void removeProduct(Product p) { if (p != null) { p.setCategory(null); this.products.remove(p); } } @Override public String toString() { return "Category[" + id + "," + name + "]"; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Category other = (Category) obj; if (this.id != other.id && (this.id == null || !this.id.equals(other.id))) { return false; } return true; } @Override public int hashCode() { int hash = 3; return hash = 47 * hash + id; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -