diff --git a/src/main/java/fr/plil/sio/persistence/api/Group.java b/src/main/java/fr/plil/sio/persistence/api/Group.java index d9cf671..f82ecaa 100644 --- a/src/main/java/fr/plil/sio/persistence/api/Group.java +++ b/src/main/java/fr/plil/sio/persistence/api/Group.java @@ -1,24 +1,33 @@ package fr.plil.sio.persistence.api; +import javax.persistence.*; import java.util.LinkedList; import java.util.List; import java.util.Set; import java.util.TreeSet; +@Entity +@Table(name = "GROUP_T") public class Group { + @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 Set users = new TreeSet<>(); /** * List of rights. The list CANNOT contains duplicate rights. */ + @OneToMany private List rights = new LinkedList<>(); public List getRights() { diff --git a/src/main/java/fr/plil/sio/persistence/api/Right.java b/src/main/java/fr/plil/sio/persistence/api/Right.java index cc7ef4e..ed604d8 100644 --- a/src/main/java/fr/plil/sio/persistence/api/Right.java +++ b/src/main/java/fr/plil/sio/persistence/api/Right.java @@ -1,18 +1,28 @@ package fr.plil.sio.persistence.api; +import javax.persistence.*; import java.util.HashSet; import java.util.Set; +@Entity +@Table(name = "RIGHT_T") public class Right { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "RIGHT_ID") private Long id; + @Column(name = "NAME_C") private String name; - /// the parent group + /// the parent right + @ManyToOne + @JoinColumn(name = "PARENT_C") private Right parent; - /// the sibling group(s), eventually empty + /// the sibling right(s), eventually empty + @OneToMany(mappedBy = "parent") private Set siblings = new HashSet<>(); public Set getSiblings() { diff --git a/src/main/java/fr/plil/sio/persistence/api/User.java b/src/main/java/fr/plil/sio/persistence/api/User.java index cbc3f27..b10a57e 100644 --- a/src/main/java/fr/plil/sio/persistence/api/User.java +++ b/src/main/java/fr/plil/sio/persistence/api/User.java @@ -1,11 +1,21 @@ package fr.plil.sio.persistence.api; +import javax.persistence.*; + +@Entity +@Table(name = "USER_T") public class User { + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + @Column(name = "USER_ID") private Long id; + @Column(name = "NAME_C") private String name; + @ManyToOne + @JoinColumn(name = "GROUP_C") private Group group; public Long getId() { -- libgit2 0.21.2