Skip to content

Commit 7a93179

Browse files
author
차동민/BE/GN
committed
Fix enum serialization in CaseBuilder for Hibernate compatibility
1 parent 9a79874 commit 7a93179

2 files changed

Lines changed: 5 additions & 1 deletion

File tree

querydsl-libraries/querydsl-jpa/src/main/java/com/querydsl/jpa/JPQLSerializer.java

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -383,6 +383,10 @@ private void serializeSources(boolean forCountRow, List<JoinExpression> joins) {
383383

384384
@Override
385385
public void visitConstant(Object constant) {
386+
if (constant instanceof Enum) {
387+
visitLiteral(constant);
388+
return;
389+
}
386390
if (inCaseOperation && templates.isCaseWithLiterals()) {
387391
if (constant instanceof Collection) {
388392
append("(");

querydsl-libraries/querydsl-jpa/src/main/java/com/querydsl/jpa/JPQLTemplates.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ public String asLiteral(Object constant) {
213213
} else if (constant instanceof String) {
214214
return "'" + escapeLiteral(constant.toString()) + "'";
215215
} else if (constant instanceof Enum) {
216-
return constant.getClass().getName() + "." + ((Enum) constant).name();
216+
return "'" + ((Enum<?>) constant).name() + "'";
217217
} else {
218218
return "'" + constant.toString() + "'";
219219
}

0 commit comments

Comments
 (0)