package fr.plil.sio.persistence.api; import java.io.Serializable; import java.util.LinkedList; import java.util.List; import javax.persistence.Column; import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Table; import javax.persistence.Id; import javax.persistence.OneToMany; /** * A group is unique by its name (no two groups with the same name or the same ID can exist in the database). * A group contains a list of rights unique by their ID (no two groups with the same ID can exist in the database). */ @Entity @Table(name = "GROUP_T") public class Group implements Serializable { @Id @GeneratedValue(strategy = GenerationType.AUTO) @Column(name = "GROUP_ID") private Long id; @Column(name = "NAME_C") private String name; /** * Users in the group. */ @OneToMany(mappedBy = "group") private List users = new LinkedList<>(); /** * List of rights. The list CANNOT contains duplicate rights. */ @OneToMany(mappedBy = "group") private List rights = new LinkedList<>(); public List getRights() { return rights; } public void setRights(List rights) { this.rights = rights; } public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public List getUsers() { return users; } public void setUsers(List users) { this.users = users; } }