Skip to content

Commit

Permalink
Fixed: 解决通过PropertyFilter生成Criteria的别名重复问题
Browse files Browse the repository at this point in the history
  • Loading branch information
henryyan committed Jan 30, 2013
1 parent 7407bad commit 38eb52f
Showing 1 changed file with 10 additions and 5 deletions.
Expand Up @@ -414,8 +414,10 @@ protected DetachedCriteria buildPropertyFilterDetachedCriteria(final List<Proper
if (embeddedId != null) {
continue;
}
dc.createAlias(alias, alias, CriteriaSpecification.LEFT_JOIN); //默认用left join
aliases.add(alias);
if (!aliases.contains(alias)) {
dc.createAlias(alias, alias, CriteriaSpecification.LEFT_JOIN); //默认用left join
aliases.add(alias);
}
}
} else {
//含有or的情况
Expand All @@ -430,8 +432,10 @@ protected DetachedCriteria buildPropertyFilterDetachedCriteria(final List<Proper
if (embeddedId != null) {
continue;
}
dc.createAlias(alias, alias, CriteriaSpecification.LEFT_JOIN);
aliases.add(alias);
if (!aliases.contains(alias)) {
dc.createAlias(alias, alias, CriteriaSpecification.LEFT_JOIN);
aliases.add(alias);
}
}
}
}
Expand Down Expand Up @@ -508,7 +512,8 @@ private SimpleExpression ignoreCase(SimpleExpression se, final String propertyNa
clazz = method.getReturnType();
}
}
String methodName = "get" + props[props.length - 1].substring(0, 1).toUpperCase() + props[props.length - 1].substring(1);
String methodName = "get" + props[props.length - 1].substring(0, 1).toUpperCase()
+ props[props.length - 1].substring(1);
Method method = clazz.getMethod(methodName);
if (method.isAnnotationPresent(IgnoreCase.class)) {
se = se.ignoreCase();
Expand Down

0 comments on commit 38eb52f

Please sign in to comment.