2
<!DOCTYPE hibernate-mapping PUBLIC
3
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
10
<hibernate-mapping package="org.hibernate.test.extralazy">
12
<class name="Group" table="groups">
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"/>
22
<class name="User" table="users">
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"/>
31
<set name="documents" inverse="true"
32
lazy="extra" cascade="all,delete-orphan">
34
<one-to-many class="Document"/>
38
<class name="Document" table="documents">
40
<property name="content" type="text"/>
41
<many-to-one name="owner" not-null="true"/>
44
<class name="SessionAttribute" table="session_attributes">
45
<id name="id" access="field">
46
<generator class="native"/>
48
<property name="name" not-null="true"
49
insert="false" update="false"/>
50
<property name="stringData"/>
51
<property name="objectData"/>
54
<sql-query name="userSessionData">
55
<return alias="u" class="User"/>
56
<return-join alias="s" property="u.session"/>
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},
62
join session_attributes s on lower(s.userName) = lower(u.name)
63
where u.name like :uname