~raginggoblin/infolog/infolog

« back to all changes in this revision

Viewing changes to InfologServer/lib/hibernate-distribution-3.3.2.GA/project/testsuite/src/test/java/org/hibernate/test/extralazy/UserGroup.hbm.xml

  • Committer: Raging Goblin
  • Date: 2013-11-16 16:51:32 UTC
  • Revision ID: raging_goblin-20131116165132-weujnptzc88uy4ah
Mavenized the project, now using shared project InfologSync

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
<?xml version="1.0"?>
2
 
<!DOCTYPE hibernate-mapping PUBLIC 
3
 
        "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
 
        "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
5
 
 
6
 
<!-- 
7
 
     
8
 
-->
9
 
 
10
 
<hibernate-mapping package="org.hibernate.test.extralazy">
11
 
        
12
 
        <class name="Group" table="groups">
13
 
                <id name="name"/>
14
 
                <map name="users" cascade="persist" 
15
 
                                table="group_user" lazy="extra">
16
 
                        <key column="groupName"/>
17
 
                        <map-key formula="lower(personName)" type="string"/>
18
 
                        <many-to-many column="personName" class="User"/>
19
 
                </map>
20
 
        </class>
21
 
        
22
 
        <class name="User" table="users">
23
 
                <id name="name"/>
24
 
                <property name="password"/>
25
 
                <map name="session" lazy="extra" 
26
 
                                cascade="persist,save-update,delete,delete-orphan">
27
 
                        <key column="userName" not-null="true"/>
28
 
                        <map-key column="name" type="string"/>
29
 
                        <one-to-many class="SessionAttribute"/>
30
 
                </map>
31
 
                <set name="documents" inverse="true" 
32
 
                                lazy="extra" cascade="all,delete-orphan">
33
 
                        <key column="owner"/>
34
 
                        <one-to-many class="Document"/>
35
 
                </set>
36
 
        </class>
37
 
        
38
 
        <class name="Document" table="documents">
39
 
                <id name="title"/>
40
 
                <property name="content" type="text"/>
41
 
                <many-to-one name="owner" not-null="true"/>
42
 
        </class>
43
 
        
44
 
        <class name="SessionAttribute" table="session_attributes">
45
 
                <id name="id" access="field">
46
 
                        <generator class="native"/>
47
 
                </id>
48
 
                <property name="name" not-null="true" 
49
 
                                insert="false" update="false"/>
50
 
                <property name="stringData"/>
51
 
                <property name="objectData"/>
52
 
        </class>
53
 
        
54
 
        <sql-query name="userSessionData">
55
 
                <return alias="u" class="User"/>
56
 
                <return-join alias="s" property="u.session"/>
57
 
                select 
58
 
                        lower(u.name) as {u.name}, lower(u.password) as {u.password}, 
59
 
                        lower(s.userName) as {s.key}, lower(s.name) as {s.index}, s.id as {s.element}, 
60
 
                        {s.element.*}
61
 
                from users u 
62
 
                join session_attributes s on lower(s.userName) = lower(u.name)
63
 
                where u.name like :uname
64
 
        </sql-query>    
65
 
        
66
 
 
67
 
</hibernate-mapping>