Commit 4c446810b427c5f9ff757b74c1163abd21497c9d

Authored by msahmane
1 parent 62ed607d

Ajout des annotations

src/main/java/fr/plil/sio/persistence/api/Group.java
1 1 package fr.plil.sio.persistence.api;
2 2  
  3 +import java.io.Serializable;
3 4 import java.util.LinkedList;
4 5 import java.util.List;
  6 +import javax.persistence.Column;
  7 +import javax.persistence.Entity;
  8 +import javax.persistence.GeneratedValue;
  9 +import javax.persistence.GenerationType;
  10 +import javax.persistence.Table;
  11 +import javax.persistence.Id;
  12 +import javax.persistence.OneToMany;
5 13  
6 14 /**
7 15 * A group is unique by its name (no two groups with the same name or the same ID can exist in the database).
8 16 * A group contains a list of rights unique by their ID (no two groups with the same ID can exist in the database).
9 17 */
  18 +@Entity
  19 +@Table(name = "GROUP_T")
  20 +public class Group implements Serializable {
10 21  
11   -public class Group {
12   -
  22 + @Id
  23 + @GeneratedValue(strategy = GenerationType.AUTO)
  24 + @Column(name = "GROUP_ID")
13 25 private Long id;
14   -
  26 +
  27 + @Column(name = "NAME_C")
15 28 private String name;
16 29  
17 30 /**
18 31 * Users in the group.
19 32 */
  33 + @OneToMany(mappedBy = "group")
20 34 private List<User> users = new LinkedList<>();
21 35  
22 36 /**
23 37 * List of rights. The list CANNOT contains duplicate rights.
24 38 */
  39 + @OneToMany(mappedBy = "group")
25 40 private List<Right> rights = new LinkedList<>();
26 41  
27 42 public List<Right> getRights() {
... ...
src/main/java/fr/plil/sio/persistence/api/Right.java
1 1 package fr.plil.sio.persistence.api;
2 2  
  3 +import java.io.Serializable;
3 4 import java.util.LinkedList;
4 5 import java.util.List;
  6 +import javax.persistence.Column;
  7 +import javax.persistence.Entity;
  8 +import javax.persistence.GeneratedValue;
  9 +import javax.persistence.GenerationType;
  10 +import javax.persistence.Table;
  11 +import javax.persistence.Id;
  12 +import javax.persistence.JoinColumn;
  13 +import javax.persistence.ManyToOne;
  14 +import javax.persistence.OneToMany;
5 15  
6 16 /**
7 17 * A right is unique by itd ID, i.e. it can exist two rights with the same name in the database.
8 18 * A right may have a parent, null else.
9 19 * A right can have zero, one or more siblings.
10 20 */
11   -
12   -public class Right {
13   -
  21 +@Entity
  22 +@Table(name = "RIGHT_T")
  23 +public class Right implements Serializable{
  24 +
  25 + @Id
  26 + @GeneratedValue(strategy = GenerationType.AUTO)
  27 + @Column(name = "RIGHT_ID")
14 28 private Long id;
15 29  
  30 + @Column(name = "NAME_C")
16 31 private String name;
17 32  
18 33 /// the parent right
  34 + @ManyToOne(optional = false)
  35 + @JoinColumn(name = "RIGHT_ID")
  36 + @Column(name = "PARENT_C")
19 37 private Right parent;
  38 +
  39 + @ManyToOne(optional = false)
  40 + @JoinColumn(name = "GROUP_ID")
  41 + private Group group;
20 42  
21 43 /// the sibling right(s), eventually empty
  44 + @OneToMany(mappedBy = "parent")
22 45 private List<Right> siblings = new LinkedList<>();
23 46  
24 47 public List<Right> getSiblings() {
... ...
src/main/java/fr/plil/sio/persistence/api/User.java
1 1 package fr.plil.sio.persistence.api;
2 2  
  3 +import java.io.Serializable;
  4 +import javax.persistence.Column;
  5 +import javax.persistence.Entity;
  6 +import javax.persistence.GeneratedValue;
  7 +import javax.persistence.GenerationType;
  8 +import javax.persistence.Id;
  9 +import javax.persistence.JoinColumn;
  10 +import javax.persistence.ManyToOne;
  11 +import javax.persistence.Table;
  12 +
3 13 /**
4 14 * An user MUST have a group in the database.
5 15 * An user is unique by it name, i.e. database cannot contain two user with the same name or the same ID.
6 16 */
7 17  
8   -public class User {
  18 +@Entity
  19 +@Table(name = "USER_T")
  20 +public class User implements Serializable{
9 21  
  22 + @Id
  23 + @GeneratedValue(strategy = GenerationType.AUTO)
  24 + @Column(name = "USER_ID")
10 25 private Long id;
11 26  
  27 + @Column(name = "NAME_C")
12 28 private String name;
13 29  
  30 + @ManyToOne(optional = false)
  31 + @JoinColumn(name = "GROUP_ID")
14 32 private Group group;
15 33  
16 34 public Long getId() {
... ...