Commit 7960e3956bd3fd8cfd661d8fc1f2cf50beb866f0

Authored by 潘钊
1 parent 64145188

修改 predicate eq 函数

src/main/java/com/bsth/entity/search/PredicatesBuilder.java
@@ -34,7 +34,16 @@ public class PredicatesBuilder { @@ -34,7 +34,16 @@ public class PredicatesBuilder {
34 Class<?> leftType = expression.getJavaType(); 34 Class<?> leftType = expression.getJavaType();
35 Class<?> rightType = object.getClass(); 35 Class<?> rightType = object.getClass();
36 36
37 - if (Number.class.isAssignableFrom(leftType) && 37 + if(Date.class.isAssignableFrom(leftType) &&
  38 + String.class.isAssignableFrom(rightType)){
  39 + DateTime dateTime = new DateTime(object);
  40 + return cb.equal(expression, dateTime.toDate());
  41 + }
  42 + else {
  43 + return cb.equal(expression, object);
  44 + }
  45 +
  46 + /*if (Number.class.isAssignableFrom(leftType) &&
38 (Number.class.isAssignableFrom(rightType) || String.class.isAssignableFrom(rightType))) { // Number == Number/String 47 (Number.class.isAssignableFrom(rightType) || String.class.isAssignableFrom(rightType))) { // Number == Number/String
39 return cb.equal(expression, object); 48 return cb.equal(expression, object);
40 } else if (String.class.isAssignableFrom(leftType) && 49 } else if (String.class.isAssignableFrom(leftType) &&
@@ -52,8 +61,7 @@ public class PredicatesBuilder { @@ -52,8 +61,7 @@ public class PredicatesBuilder {
52 return cb.equal(expression, dateTime.toDate()); 61 return cb.equal(expression, dateTime.toDate());
53 } else { 62 } else {
54 throw new RuntimeException("eq 不支持类型组合:" + expression.getJavaType() + "==" + object.getClass()); 63 throw new RuntimeException("eq 不支持类型组合:" + expression.getJavaType() + "==" + object.getClass());
55 - }  
56 - 64 + }*/
57 } 65 }
58 66
59 public static Predicate ne(CriteriaBuilder cb,Path<?> expression, Object object){ 67 public static Predicate ne(CriteriaBuilder cb,Path<?> expression, Object object){