OPENJPA-2198: Applied Helen Xu's patch for 1.0.x

git-svn-id: https://svn.apache.org/repos/asf/openjpa/branches/1.0.x@1339917 13f79535-47bb-0310-9956-ffa450edef68
This commit is contained in:
Heath Thomann 2012-05-17 23:01:47 +00:00
parent 3fc50980b5
commit e9569d033b
2 changed files with 50 additions and 1 deletions

View File

@ -63,7 +63,7 @@ public abstract class AbstractVersionStrategy
public boolean checkVersion(OpenJPAStateManager sm, JDBCStore store,
boolean updateVersion)
throws SQLException {
return false;
return !updateVersion;
}
public int compareVersion(Object v1, Object v2) {

View File

@ -0,0 +1,49 @@
package org.apache.openjpa.persistence.jdbc;
import java.util.List;
import javax.persistence.EntityManager;
import javax.persistence.EntityTransaction;
import javax.persistence.Query;
import org.apache.openjpa.persistence.simple.Person;
import org.apache.openjpa.persistence.test.SQLListenerTestCase;
public class TestOptimisticDisable extends SQLListenerTestCase{
public void setUp() {
setUp(Person.class, CLEAR_TABLES,
"openjpa.jdbc.TransactionIsolation", "repeatable-read",
"openjpa.Optimistic", "false");
}
public void testQuery(){
Person p1 = new Person();
p1.setId(102);
p1.setSurname("TestName");
Person p2 = new Person();
p2.setId(103);
p2.setSurname("TestName");
EntityManager em = emf.createEntityManager();
em.getTransaction().begin();
em.persist(p1);
em.persist(p2);
em.getTransaction().commit();
em.close();
em = emf.createEntityManager();
final EntityTransaction tx = em.getTransaction();
tx.begin();
final Query q = em.createQuery("SELECT person FROM Person person WHERE person.surname = :surname");
q.setParameter("surname", "TestName");
final List<Person> persons = q.getResultList();
tx.commit();
em.close();
assertEquals(2, persons.size());
}
}