@OneToMany(mappedBy = "owner", targetEntity = classOf[ServiceItem],
cascade = Array(CascadeType.ALL))
var serviceItems : Set[ServiceItem] = new HashSet[ServiceItem]()
+
+ @ManyToMany(targetEntity = classOf[Organization],
+ mappedBy = "entities",
+ cascade = Array(CascadeType.ALL))
+ var organizations : Set[Organization] = new HashSet[Organization]()
}
\ No newline at end of file
package gr.grnet.aquarium.model
import javax.persistence._
+import java.util.{Set, HashSet}
@Table(name = "ORGANIZATION")
@javax.persistence.Entity
@JoinColumn(name = "PARENT_ORG_ID")
var parent : Organization = _
- @OneToMany(mappedBy = "org", targetEntity = classOf[Group],
- cascade = Array(CascadeType.ALL))
- var groups : java.util.Set[Group] = new java.util.HashSet[Group]()
-
- @OneToMany(mappedBy = "org", targetEntity = classOf[User],
- cascade = Array(CascadeType.ALL))
- var users : java.util.Set[User] = new java.util.HashSet[User]()
+ @ManyToMany(targetEntity = classOf[Entity],
+ cascade = Array(CascadeType.ALL))
+ @JoinTable(name="ENTITY_ORGANIZATION",
+ joinColumns = Array(new JoinColumn(name="ENTITY_ID")),
+ inverseJoinColumns = Array(new JoinColumn(name="ORGANIZATION_ID")))
+ var entities : Set[Entity] = new HashSet[Entity]()
}
\ No newline at end of file
package gr.grnet.aquarium.model
import javax.persistence._
-import java.util.{Set, HashSet}
+import java.util.{HashSet, Set}
@javax.persistence.Entity
@Table(name = "RESOURCE_TYPE")
cascade = Array(CascadeType.ALL))
var consResources : Set[ConsumableResource] = new HashSet[ConsumableResource]()
+ @ManyToMany(targetEntity = classOf[ServiceTemplate],
+ mappedBy = "resTypes",
+ cascade= Array(CascadeType.ALL))
+ var srvTemplates : Set[ServiceTemplate] = new HashSet[ServiceTemplate]()
}
object ResourceType {
package gr.grnet.aquarium.model
-import java.util.{HashSet, Set}
import javax.persistence._
+import java.util.{HashSet, Set}
@Table(name = "SERVICE_TEMPLATE")
@javax.persistence.Entity
class ServiceTemplate extends Id {
+ @Column(name = "NAME")
+ var name : String = _
+
@OneToMany(mappedBy = "template", targetEntity = classOf[DefaultPermission],
cascade = Array(CascadeType.ALL))
var permissions : Set[DefaultPermission] = new HashSet[DefaultPermission]()
cascade = Array(CascadeType.ALL))
var items : Set[ServiceItem] = new HashSet[ServiceItem]()
- @ManyToOne(cascade = Array(CascadeType.ALL),
- targetEntity = classOf[ServiceTemplate])
- @JoinColumn(name = "RESOURCE_TYPE_ID")
- var resType : ResourceType = _
+ @ManyToMany(targetEntity = classOf[ResourceType],
+ cascade = Array(CascadeType.ALL))
+ @JoinTable(name="SERVICE_TEMPLATE_RESOURCES",
+ joinColumns = Array(new JoinColumn(name="RESOURCE_TYPE_ID")),
+ inverseJoinColumns = Array(new JoinColumn(name="RESOURCE_ID")))
+ var resTypes : Set[ResourceType] = new HashSet[ResourceType]()
}
\ No newline at end of file