wherejpql.append(" where ");
List<PropertyEditor> propertyEditors=propertyCriteria.getPropertyEditors();
int len=propertyEditors.size();
for (int i=0;i<len;i++) {
PropertyEditor propertyEditor=propertyEditors.get(i);
List<PropertyEditor> subPropertyEditor=propertyEditor.getSubPropertyEditor();
//当没有子属性的时候时,属性编辑器本身才是有效的,否则他就是子属性的一个容器而已
if(subPropertyEditor==null || subPropertyEditor.isEmpty()){
//判断是否支持集合查询
if(propertyCriteria.getCollection()!=null && propertyCriteria.getObject()!=null && propertyEditor.getProperty().getName().startsWith(propertyCriteria.getObject())){
wherejpql.append(" ");
}else{
wherejpql.append(" o.");
}
wherejpql.append(propertyEditor.getProperty().getName())
.append(" ")
.append(propertyEditor.getPropertyOperator().getSymbol())
.append(" ")
.append(":")
.append(propertyEditor.getProperty().getNameParameter());
if(i<len-1){
wherejpql.append(" ");
wherejpql.append(propertyCriteria.getCriteria().name());
wherejpql.append(" ");
}