diff --git a/querydsl-jpa/src/main/java/com/mysema/query/jpa/OpenJPATemplates.java b/querydsl-jpa/src/main/java/com/mysema/query/jpa/OpenJPATemplates.java index a6f900f0a..5c29622ec 100644 --- a/querydsl-jpa/src/main/java/com/mysema/query/jpa/OpenJPATemplates.java +++ b/querydsl-jpa/src/main/java/com/mysema/query/jpa/OpenJPATemplates.java @@ -28,6 +28,7 @@ public class OpenJPATemplates extends JPQLTemplates{ public OpenJPATemplates() { this(DEFAULT_ESCAPE); add(Ops.ALIAS, "{0} {1}"); + add(Ops.NEGATE, "-1 * {0}", 7); } public OpenJPATemplates(char escape) { diff --git a/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java b/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java index 75b57e639..ef0f87b18 100644 --- a/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java +++ b/querydsl-jpa/src/test/java/com/mysema/query/AbstractStandardTest.java @@ -763,6 +763,11 @@ public abstract class AbstractStandardTest { assertEquals(val, projection.val, 0.001); } + @Test + public void Sum_4() { + query().from(cat).uniqueResult(cat.bodyWeight.sum().negate()); + } + @Test public void Sum_as_Float() { float val = query().from(cat).uniqueResult(cat.floatProperty.sum()); diff --git a/querydsl-jpa/src/test/resources/META-INF/persistence.xml b/querydsl-jpa/src/test/resources/META-INF/persistence.xml index 0d0ce16d0..1967243fd 100644 --- a/querydsl-jpa/src/test/resources/META-INF/persistence.xml +++ b/querydsl-jpa/src/test/resources/META-INF/persistence.xml @@ -144,7 +144,7 @@ - +