@Entity
@Table(name = "TASK")
public class Task {
@Id
@Column(name = "id")
private int id;
@ElementCollection(targetClass = Category.class, fetch = FetchType.LAZY)
@JoinTable(name = "TASK_CATEGORY", joinColumns = { @JoinColumn(name = "TASK_ID") })
@Enumerated(EnumType.STRING)
@Column(name = "CATEGORY", nullable = false)
private final Set<Category> categories = new HashSet<>();
public void addCategory(Category c) {
categories.add(c);
}
public Set<Category> getCategories() {
return categories;
}
}