|
From: <hib...@li...> - 2006-08-04 18:24:08
|
Author: ste...@jb...
Date: 2006-08-04 14:24:04 -0400 (Fri, 04 Aug 2006)
New Revision: 10218
Modified:
trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/JoinedSubclassTest.java
trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.hbm.xml
trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.java
Log:
HHH-1848 : locking on versioned joined subclasses
Modified: trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/JoinedSubclassTest.java
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/JoinedSubclassTest.java 2006-08-04 17:40:56 UTC (rev 10217)
+++ trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/JoinedSubclassTest.java 2006-08-04 18:24:04 UTC (rev 10218)
@@ -11,6 +11,7 @@
import org.hibernate.Hibernate;
import org.hibernate.Session;
import org.hibernate.Transaction;
+import org.hibernate.LockMode;
import org.hibernate.criterion.Expression;
import org.hibernate.criterion.Property;
import org.hibernate.dialect.DB2Dialect;
@@ -141,6 +142,32 @@
s.close();
}
+ public void testLockingJoinedSubclass() {
+ Session s = openSession();
+ Transaction t = s.beginTransaction();
+ Person p = new Person();
+ p.setName("Emmanuel");
+ p.setSex('M');
+ s.persist(p);
+ Employee q = new Employee();
+ q.setName("Steve");
+ q.setSex('M');
+ q.setTitle("Mr");
+ q.setSalary( new BigDecimal(1000) );
+ s.persist(q);
+ t.commit();
+ s.close();
+
+ s = openSession();
+ t = s.beginTransaction();
+ s.lock( p, LockMode.UPGRADE );
+ s.lock( q, LockMode.UPGRADE );
+ s.delete( p );
+ s.delete( q );
+ t.commit();
+ s.close();
+
+ }
protected String[] getMappings() {
return new String[] { "joinedsubclass/Person.hbm.xml" };
Modified: trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.hbm.xml
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.hbm.xml 2006-08-04 17:40:56 UTC (rev 10217)
+++ trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.hbm.xml 2006-08-04 18:24:04 UTC (rev 10218)
@@ -26,8 +26,10 @@
unsaved-value="0">
<generator class="native"/>
</id>
-
- <property name="name"
+
+ <version name="version" column="version" type="int"/>
+
+ <property name="name"
not-null="true"
length="80"/>
<property name="sex"
Modified: trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.java
===================================================================
--- trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.java 2006-08-04 17:40:56 UTC (rev 10217)
+++ trunk/Hibernate3/test/org/hibernate/test/joinedsubclass/Person.java 2006-08-04 18:24:04 UTC (rev 10218)
@@ -9,6 +9,7 @@
private long id;
private String name;
private char sex;
+ private int version;
private Address address = new Address();
/**
* @return Returns the address.
@@ -67,4 +68,11 @@
this.name = identity;
}
+ public int getVersion() {
+ return version;
+ }
+
+ public void setVersion(int version) {
+ this.version = version;
+ }
}
|