From f7ca698c0f435476e040361329170cfa77d252ad Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 1 Sep 2011 17:57:14 +0300 Subject: [PATCH] #838834 : fixed validation for SQL queries --- querydsl-jpa/derby.log | 4 ++-- .../sql/AbstractHibernateSQLQuery.java | 1 + .../query/jpa/sql/AbstractJPASQLQuery.java | 1 + .../jpa/hibernate/sql/AbstractSQLTest.java | 19 +++++++++++++++++++ .../mysema/query/jpa/sql/JPADerbySQLTest.java | 19 +++++++++++++++++++ 5 files changed, 42 insertions(+), 2 deletions(-) diff --git a/querydsl-jpa/derby.log b/querydsl-jpa/derby.log index 48a89206c..615b7956f 100644 --- a/querydsl-jpa/derby.log +++ b/querydsl-jpa/derby.log @@ -1,6 +1,6 @@ ---------------------------------------------------------------- -Wed Aug 10 16:05:39 EEST 2011: -Booting Derby version The Apache Software Foundation - Apache Derby - 10.8.1.2 - (1095077): instance a816c00e-0131-b3cc-5aa8-000002fc9e58 +Thu Sep 01 17:55:58 EEST 2011: +Booting Derby version The Apache Software Foundation - Apache Derby - 10.8.1.2 - (1095077): instance a816c00e-0132-257d-41db-0000030c13f0 on database directory /home/tiwe/work/querydsl/querydsl-jpa/target/derbydb with class loader sun.misc.Launcher$AppClassLoader@1a16869 Loaded from file:/home/tiwe/.m2/repository/org/apache/derby/derby/10.8.1.2/derby-10.8.1.2.jar java.vendor=Sun Microsystems Inc. diff --git a/querydsl-jpa/src/main/java/com/mysema/query/jpa/hibernate/sql/AbstractHibernateSQLQuery.java b/querydsl-jpa/src/main/java/com/mysema/query/jpa/hibernate/sql/AbstractHibernateSQLQuery.java index e66844698..2a3e43ef5 100644 --- a/querydsl-jpa/src/main/java/com/mysema/query/jpa/hibernate/sql/AbstractHibernateSQLQuery.java +++ b/querydsl-jpa/src/main/java/com/mysema/query/jpa/hibernate/sql/AbstractHibernateSQLQuery.java @@ -83,6 +83,7 @@ public abstract class AbstractHibernateSQLQuery... args){ + queryMixin.getMetadata().setValidate(false); queryMixin.addToProjection(args); return createQuery(toQueryString()); } diff --git a/querydsl-jpa/src/main/java/com/mysema/query/jpa/sql/AbstractJPASQLQuery.java b/querydsl-jpa/src/main/java/com/mysema/query/jpa/sql/AbstractJPASQLQuery.java index 03c7d5cbe..c20c7a054 100644 --- a/querydsl-jpa/src/main/java/com/mysema/query/jpa/sql/AbstractJPASQLQuery.java +++ b/querydsl-jpa/src/main/java/com/mysema/query/jpa/sql/AbstractJPASQLQuery.java @@ -67,6 +67,7 @@ public abstract class AbstractJPASQLQuery> exte } public Query createQuery(Expression... args){ + queryMixin.getMetadata().setValidate(false); queryMixin.addToProjection(args); return createQuery(toQueryString()); } diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/hibernate/sql/AbstractSQLTest.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/hibernate/sql/AbstractSQLTest.java index 05680cf94..248e1fb75 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/jpa/hibernate/sql/AbstractSQLTest.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/hibernate/sql/AbstractSQLTest.java @@ -6,6 +6,7 @@ import static org.junit.Assert.assertTrue; import java.util.Arrays; import java.util.List; +import org.hibernate.Query; import org.hibernate.Session; import org.junit.Before; import org.junit.Test; @@ -136,7 +137,25 @@ public abstract class AbstractSQLTest { .list(catEntity); assertTrue(cats.isEmpty()); } + + @Test + public void EntityQueries_CreateQuery() { + SAnimal cat = new SAnimal("cat"); + QCat catEntity = QCat.cat; + + Query query = query().from(cat).createQuery(catEntity); + assertEquals(6, query.list().size()); + } + @Test + public void EntityQueries_CreateQuery2() { + SAnimal cat = new SAnimal("CAT"); + QCat catEntity = QCat.cat; + + Query query = query().from(cat).createQuery(catEntity); + assertEquals(6, query.list().size()); + } + @Test public void EntityProjections(){ SAnimal cat = new SAnimal("cat"); diff --git a/querydsl-jpa/src/test/java/com/mysema/query/jpa/sql/JPADerbySQLTest.java b/querydsl-jpa/src/test/java/com/mysema/query/jpa/sql/JPADerbySQLTest.java index 99f50f747..38c610870 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/jpa/sql/JPADerbySQLTest.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/jpa/sql/JPADerbySQLTest.java @@ -14,6 +14,7 @@ import java.util.List; import java.util.UUID; import javax.persistence.EntityManager; +import javax.persistence.Query; import org.junit.Before; import org.junit.Ignore; @@ -157,6 +158,24 @@ public class JPADerbySQLTest { .list(catEntity); assertTrue(cats.isEmpty()); } + + @Test + public void EntityQueries_CreateQuery() { + SAnimal cat = new SAnimal("cat"); + QCat catEntity = QCat.cat; + + Query query = query().from(cat).createQuery(catEntity); + assertEquals(6, query.getResultList().size()); + } + + @Test + public void EntityQueries_CreateQuery2() { + SAnimal cat = new SAnimal("CAT"); + QCat catEntity = QCat.cat; + + Query query = query().from(cat).createQuery(catEntity); + assertEquals(6, query.getResultList().size()); + } @Test @Ignore