2013-06-25 2 views
2

어떻게 "스펙" "toPredicate"메소드로 타입 변환 할 수 있습니까?상속 된 스프링 사양

예 : "COD"는 Cliente에만 존재한다고

@Entity 
public class Empresa{...} 

@Entity 
public class Cliente extends Empresa{ 
    private Integer cod; 
    ... 
} 
@Entity 
public class Vinculo{ 
    private Empresa emp1; 
    private Empresa emp2; 
} 


public static Specification<Vinculo> serieEq(final Integer cod) { 
    return new Specification<Vinculo>() { 
    @Override 
     public Predicate toPredicate(Root<Vinculo> root, CriteriaQuery<?> query, CriteriaBuilder cb) { 
      return cb.equal(root.join("emp2").get("cod"), cod); 
    }; 
} 

참고.

고마워,

답변

0

당신은 같은() API를 사용할 수 있습니다. 일부 JPA 제공 업체에서 작동합니다.

+0

EclipseLink에서는 작동하지만 Hibernate에서는 작동하지 않습니다. 다음은 좀 더 자세한 대답입니다 : http://stackoverflow.com/questions/6427126/polymorphic-criteriaquery-without-inverse-relationship –