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 @@
-
+