📄 product.java
字号:
package net.jeffrey.hibernate;import java.io.Serializable;import java.util.HashSet;import java.util.Set;import javax.persistence.Entity;import javax.persistence.JoinColumn;import javax.persistence.JoinTable;import javax.persistence.ManyToMany;import javax.persistence.ManyToOne;import net.jeffrey.hibernate.history.Historizable;/** * 商品类 * @author jeffrey */@Entitypublic class Product extends AbstractEntity implements Serializable, Historizable { private String name; @ManyToOne private Category category; @ManyToMany @JoinTable( name = "product_tag", joinColumns = {@JoinColumn(name = "product_id")}, inverseJoinColumns = {@JoinColumn(name = "tag_id")} ) private Set<Tag> tags = new HashSet<Tag>(); public String getName() { return name; } public void setName(String name) { this.name = name; } public Category getCategory() { return category; } public void setCategory(Category category) { if (this.category != null) { this.category.getProducts().remove(this); } this.category = category; if (category != null) { category.getProducts().add(this); } } public Set<Tag> getTags() { return tags; } public void setTags(Set<Tag> tags) { this.tags = tags; } public void addTag(Tag tag) { if (tag != null) { this.tags.add(tag); tag.getProducts().add(this); } } public void removeTag(Tag tag) { if (tag != null) { this.tags.remove(tag); tag.getProducts().remove(this); } } @Override public String toString() { return "Product[" + id + "," + name + "]"; } @Override public boolean equals(Object obj) { if (obj == null) { return false; } if (getClass() != obj.getClass()) { return false; } final Product other = (Product) obj; return getId().equals(other.getId()); } @Override public int hashCode() { int hash = 7; return hash = 47 * hash + id; }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -