1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| @Entity
@Table(name = Product.TABLE_NAME)
public class AbstractProduct{
public static final String TABLE_NAME = "PRODUCT";
@Id
@AccessType("property")
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "PRODUCT_ID")
private String productId;
@ManyToMany(fetch = FetchType.LAZY)
@JoinTable(name = "PRODUCT_CATEGORY", joinColumns = @JoinColumn(name = "PRODUCT_ID"), inverseJoinColumns = @JoinColumn(name = "CATEGORY_ID"))
private List<Category> categoryList;
}
@Entity
@Table(name = Category.TABLE_NAME)
public class Category extends VersionnedEntity {
protected static final String TABLE_NAME = "CATEGORY";
@Id
@AccessType("property")
@GeneratedValue(generator = "system-uuid")
@GenericGenerator(name = "system-uuid", strategy = "guid")
@Column(name = "CATEGORY_ID")
private String categoryId;
@ManyToMany(mappedBy = "categoryList", fetch = FetchType.LAZY)
private List<AbstractProduct> productsList;
} |
Partager