2
<!DOCTYPE hibernate-mapping PUBLIC
3
"-//Hibernate/Hibernate Mapping DTD 3.0//EN"
4
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">
7
Demonstrates use of the TIMESTAMP datatype available in Sybase
8
and SQL Server for optimistic locking value.
10
<hibernate-mapping package="org.hibernate.test.version.sybase">
12
<class name="User" table="syb_ts_user">
13
<id name="id" column="user_id" type="long">
14
<generator class="native"/>
16
<version name="timestamp" type="binary" generated="always">
17
<column name="ts" sql-type="timestamp"/>
19
<property name="username" column="user_name" type="string" unique="true"/>
20
<set name="groups" table="syb_ts_user_group" batch-size="9" inverse="true" optimistic-lock="true" lazy="true" cascade="none" >
21
<key column="user_id"/>
22
<many-to-many column="group_id" class="Group" lazy="false" fetch="join" />
24
<set name="permissions" table="syb_ts_user_perm" batch-size="9" inverse="false" optimistic-lock="false" lazy="true" cascade="none">
25
<key column="user_id"/>
26
<many-to-many column="perm_id" class="Permission" lazy="false" fetch="join"/>
30
<class name="Group" table="syb_ts_group">
31
<id name="id" column="group_id" type="long">
32
<generator class="native"/>
34
<timestamp name="timestamp" column="ts" source="db"/>
35
<property name="name" column="name" type="string" unique="true"/>
36
<set name="users" table="syb_ts_user_group" batch-size="9" inverse="false" lazy="true" cascade="none" >
37
<key column="group_id"/>
38
<many-to-many column="user_id" class="User" lazy="false" fetch="join" />
42
<class name="Permission" table="syb_ts_permission">
43
<id name="id" column="perm_id" type="long">
44
<generator class="native"/>
46
<timestamp name="timestamp" column="ts" source="db"/>
47
<property name="name" column="name" type="string" unique="true"/>
48
<property name="context" column="ctx" type="string"/>
49
<property name="access" column="priv" type="string"/>