You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openjpa.apache.org by fa...@apache.org on 2009/07/08 03:03:17 UTC

svn commit: r792008 - /openjpa/branches/subquery/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java

Author: fancy
Date: Wed Jul  8 01:03:16 2009
New Revision: 792008

URL: http://svn.apache.org/viewvc?rev=792008&view=rev
Log:
add test update query  with correlated subquery

Modified:
    openjpa/branches/subquery/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java

Modified: openjpa/branches/subquery/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java
URL: http://svn.apache.org/viewvc/openjpa/branches/subquery/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java?rev=792008&r1=792007&r2=792008&view=diff
==============================================================================
--- openjpa/branches/subquery/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java (original)
+++ openjpa/branches/subquery/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/query/TestSubquery.java Wed Jul  8 01:03:16 2009
@@ -24,6 +24,7 @@
 import javax.persistence.EntityManager;
 import javax.persistence.Query;
 
+import org.apache.openjpa.persistence.query.Customer.CreditRating;
 import org.apache.openjpa.persistence.test.SingleEMFTestCase;
 
 /**
@@ -206,4 +207,16 @@
         q.getResultList();
         em.close();
     }
+
+    public void testUpdateWithCorrelatedSubquery() {
+        String update = "update Customer c set c.creditRating = ?1 where EXISTS" +
+           " (select o from  in(c.orders)  o)";
+        EntityManager em = emf.createEntityManager();
+        em.getTransaction().begin();
+        CreditRating creditRating = CreditRating.GOOD;
+        int updateCount = em.createQuery(update).
+            setParameter(1, creditRating).executeUpdate();
+        em.getTransaction().rollback();
+        em.close();
+    }
 }