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/03/26 23:45:39 UTC
svn commit: r758906 -
/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java
Author: fancy
Date: Thu Mar 26 22:45:39 2009
New Revision: 758906
URL: http://svn.apache.org/viewvc?rev=758906&view=rev
Log:
OPENJPA-956 JPA2 Query support ElementCollection in FROM clause
add query test strings
Modified:
openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java
Modified: openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java
URL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java?rev=758906&r1=758905&r2=758906&view=diff
==============================================================================
--- openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java (original)
+++ openjpa/trunk/openjpa-persistence-jdbc/src/test/java/org/apache/openjpa/persistence/embed/TestEmbeddable.java Thu Mar 26 22:45:39 2009
@@ -956,6 +956,20 @@
*/
public void queryEntityA_Coll_String() {
EntityManager em = emf.createEntityManager();
+ String[] query = {
+ "select e from " +
+ " EntityA_Coll_String a " +
+ " , in (a.nickNames) e order by a.id",
+ };
+ List rs = null;
+ for (int i = 0; i < query.length; i++) {
+ rs = em.createQuery(query[i]).getResultList();
+ if (rs.size() > 0) {
+ Object obj = rs.get(0);
+ assertTrue(obj instanceof String);
+ }
+ em.clear();
+ }
EntityTransaction tran = em.getTransaction();
tran.begin();
Query q = em.createQuery("select a from EntityA_Coll_String a");
@@ -988,6 +1002,33 @@
*/
public void queryEntityA_Coll_Embed_ToOne() {
EntityManager em = emf.createEntityManager();
+ // test select embed object from element collection
+ String[] query = {
+ "select e, e.b from " +
+ " EntityA_Coll_Embed_ToOne a " +
+ " , in (a.embed1s) e order by e.name1",
+ "select e, a.id from EntityA_Coll_Embed_ToOne a " +
+ " , in (a.embed1s) e where e.b.id > 0 order by a.id",
+ "select e, e.b.id from " +
+ " EntityA_Coll_Embed_ToOne a " +
+ " , in (a.embed1s) e where e.name1 like '%1'" +
+ " order by e.name3",
+ };
+ List<Object[]> rs = null;
+ for (int i = 0; i < query.length; i++) {
+ rs = em.createQuery(query[i]).getResultList();
+ if (rs.size() > 0) {
+ Object obj = ((Object[]) rs.get(0))[0];
+ assertTrue(obj instanceof Embed_ToOne);
+ switch (i) {
+ case 0:
+ Object b = ((Object[]) rs.get(0))[1];
+ assertTrue(b instanceof EntityB1);
+ break;
+ }
+ }
+ em.clear();
+ }
EntityTransaction tran = em.getTransaction();
tran.begin();
Query q = em.createQuery("select a from EntityA_Coll_Embed_ToOne a");
@@ -1068,6 +1109,24 @@
*/
public void queryEntityA_Coll_Embed_Embed() {
EntityManager em = emf.createEntityManager();
+ // test select embed object from element collection
+ String[] query = {
+ "select e, e.intVal1, e.embed.intVal2 from " +
+ " EntityA_Coll_Embed_Embed a " +
+ " , in (a.embeds) e order by e.intVal3",
+ "select e, a.id from EntityA_Coll_Embed_Embed a " +
+ " , in (a.embeds) e order by a.id",
+ };
+ List rs = null;
+ for (int i = 0; i < query.length; i++) {
+ rs = em.createQuery(query[i]).getResultList();
+ if (rs != null && rs.size() > 0) {
+ Object obj = ((Object[]) rs.get(0))[0];
+ assertTrue(obj instanceof Embed_Embed);
+ }
+ }
+ em.clear();
+
EntityTransaction tran = em.getTransaction();
tran.begin();
Query q = em.createQuery("select a from EntityA_Coll_Embed_Embed a");
@@ -1084,27 +1143,6 @@
*/
public void queryEntityA_Embed_Coll_Embed() {
EntityManager em = emf.createEntityManager();
- // test select embed object from element collection
- String[] query = {
- "select e, e.intVal1, e.embed.intVal2 from " +
- " EntityA_Coll_Embed_Embed a " +
- " , in (a.embeds) e order by e.intVal3",
- "select e, a.id from EntityA_Coll_Embed_Embed a " +
- " , in (a.embeds) e order by a.id",
- "select e, e.intVal1, e.embed.intVal2 from " +
- " EntityA_Coll_Embed_Embed a " +
- " , in (a.embeds) e order by e.intVal3",
- };
- List<Object[]> rs = null;
- for (int i = 0; i < query.length; i++) {
- rs = em.createQuery(query[i]).getResultList();
- if (rs.size() > 0) {
- Object obj = ((Object[]) rs.get(0))[0];
- assertTrue(obj instanceof Embed_Embed);
- }
- }
-
- em.clear();
EntityTransaction tran = em.getTransaction();
tran.begin();
Query q = em.createQuery("select a from EntityA_Embed_Coll_Embed a");