Separating security into a part that depends only on the JPA and into a
[utils] / security / impl / src / main / resources / hbm / AuthorizationService.hbm.xml
diff --git a/security/impl/src/main/resources/hbm/AuthorizationService.hbm.xml b/security/impl/src/main/resources/hbm/AuthorizationService.hbm.xml
new file mode 100644 (file)
index 0000000..f8e036c
--- /dev/null
@@ -0,0 +1,37 @@
+<?xml version="1.0"?>
+<!DOCTYPE hibernate-mapping PUBLIC
+    "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
+    "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
+    
+    <hibernate-mapping>
+        
+        <class name="org.wamblee.security.authorization.AuthorizationService" table="AUTHORIZATION_SERVICE" 
+               select-before-update="true">
+            <id name="primaryKey" column="ID" type="long">
+                <generator class="native"/>
+            </id>
+            <discriminator column="TYPE" type="string"/>
+            <version name="persistedVersion" column="VERSION"/>
+            
+            <subclass name="org.wamblee.security.authorization.DefaultAuthorizationService"
+                discriminator-value="DEFAULT">
+                
+                <property name="name" column="NAME"/>
+               
+                <list name="mappedRules" table="AUTHORIZATION_SERVICE_RULES" lazy="false" cascade="all-delete-orphan">
+                    <key column="ID"/>
+                    <index column="POSITION"/>
+                    <many-to-many class="org.wamblee.security.authorization.AuthorizationRule"
+                       column="RULE_ID"/>
+                </list>
+            </subclass>
+            
+        </class>
+        
+        <query name="findAuthorizationServiceByName">
+            select service
+            from org.wamblee.security.authorization.AuthorizationService service
+            where service.name = :name 
+        </query>
+        
+    </hibernate-mapping>
\ No newline at end of file