Roberto Sánchez
2014-01-10 3d0c6e4865d4a0ddd764da533a327faf76e0cb32
securis/src/main/java/net/curisit/securis/db/Organization.java
....@@ -4,7 +4,9 @@
44 import java.util.ArrayList;
55 import java.util.Date;
66 import java.util.List;
7
+import java.util.Set;
78
9
+import javax.persistence.CascadeType;
810 import javax.persistence.Column;
911 import javax.persistence.Entity;
1012 import javax.persistence.GeneratedValue;
....@@ -15,6 +17,7 @@
1517 import javax.persistence.ManyToOne;
1618 import javax.persistence.NamedQueries;
1719 import javax.persistence.NamedQuery;
20
+import javax.persistence.OneToMany;
1821 import javax.persistence.Table;
1922
2023 import org.codehaus.jackson.annotate.JsonAutoDetect;
....@@ -33,7 +36,7 @@
3336 @Entity
3437 @Table(name = "organization")
3538 @NamedQueries(
36
- { @NamedQuery(name = "list-organizations", query = "SELECT o FROM Organization o") })
39
+ { @NamedQuery(name = "list-organizations", query = "SELECT o FROM Organization o"), @NamedQuery(name = "find-children-org", query = "SELECT o FROM Organization o where o.parentOrganization = :parentOrganization") })
3740 public class Organization implements Serializable {
3841
3942 @SuppressWarnings("unused")
....@@ -54,7 +57,7 @@
5457
5558 @JsonIgnore
5659 // We don't include the users to limit the size of each row a the listing
57
- @ManyToMany
60
+ @ManyToMany(cascade = CascadeType.REMOVE)
5861 @JoinTable(name = "user_organization", //
5962 joinColumns =
6063 { @JoinColumn(name = "organization_id", referencedColumnName = "id") }, //
....@@ -67,6 +70,11 @@
6770 @ManyToOne
6871 @JoinColumn(name = "org_parent_id")
6972 private Organization parentOrganization;
73
+
74
+ @JsonIgnore
75
+ // We don't include the users to limit the size of each row a the listing
76
+ @OneToMany(mappedBy = "parentOrganization")
77
+ private Set<Organization> childOrganizations;
7078
7179 public int getId() {
7280 return id;
....@@ -163,4 +171,12 @@
163171 return ids;
164172 }
165173
174
+ public Set<Organization> getChildOrganizations() {
175
+ return childOrganizations;
176
+ }
177
+
178
+ public void setChildOrganizations(Set<Organization> childOrganizations) {
179
+ this.childOrganizations = childOrganizations;
180
+ }
181
+
166182 }