From 11825e2ad2ee72c0831e25c19b442f76125bb31c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Timo=20Westk=C3=A4mper?= Date: Thu, 26 Mar 2015 19:11:19 +0200 Subject: [PATCH] Use UnderscoreTemplates --- .../java/com/querydsl/core/types/ExpressionUtils.java | 10 ++++++++++ .../src/main/java/com/querydsl/jpa/JPAQueryMixin.java | 4 ++-- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/querydsl-core/src/main/java/com/querydsl/core/types/ExpressionUtils.java b/querydsl-core/src/main/java/com/querydsl/core/types/ExpressionUtils.java index 07fce7808..5e6822f18 100644 --- a/querydsl-core/src/main/java/com/querydsl/core/types/ExpressionUtils.java +++ b/querydsl-core/src/main/java/com/querydsl/core/types/ExpressionUtils.java @@ -544,6 +544,16 @@ public final class ExpressionUtils { return variable + "_" + suffix; } + /** + * Create a new root variable based on the given path + * + * @param path + * @return + */ + public static String createRootVariable(Path path) { + return path.accept(ToStringVisitor.DEFAULT, TEMPLATES); + } + /** * Converts the given object to an Expression * diff --git a/querydsl-jpa/src/main/java/com/querydsl/jpa/JPAQueryMixin.java b/querydsl-jpa/src/main/java/com/querydsl/jpa/JPAQueryMixin.java index a915db42a..49d9c3260 100644 --- a/querydsl-jpa/src/main/java/com/querydsl/jpa/JPAQueryMixin.java +++ b/querydsl-jpa/src/main/java/com/querydsl/jpa/JPAQueryMixin.java @@ -137,7 +137,7 @@ public class JPAQueryMixin extends QueryMixin { } } else if (metadata.getParent().getMetadata().isRoot()) { Class type = getElementTypeOrType(path); - Path newPath = new PathImpl(type, path.toString().replace('.', '_')); + Path newPath = new PathImpl(type, ExpressionUtils.createRootVariable(path)); leftJoin(path, newPath); return newPath; } else { @@ -145,7 +145,7 @@ public class JPAQueryMixin extends QueryMixin { Path parent = shorten(metadata.getParent(), paths); Path oldPath = new PathImpl(path.getType(), new PathMetadata(parent, metadata.getElement(), metadata.getPathType())); - Path newPath = new PathImpl(type, oldPath.toString().replace('.', '_')); + Path newPath = new PathImpl(type, ExpressionUtils.createRootVariable(oldPath)); aliases.put(path, newPath); leftJoin(oldPath, newPath); return newPath;