java jpa criteria-api

java - Criterios de JPA Consulta distintos



criteria-api (1)

Entiendo. El problema era que mi CriteraQuery necesitaba ser de tipo String. Esto funciona:

CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<String> query = builder.createQuery(String.class); Root<RuleVar> ruleVariableRoot = query.from(RuleVar.class); query.select(ruleVariableRoot.get(RuleVar_.varType)).distinct(true);

Estoy tratando de escribir una consulta de criterios distintos, utilizando:

CriteriaBuilder builder = em.getCriteriaBuilder(); CriteriaQuery<RuleVar> query = builder.createQuery(RuleVar.class); Root<RuleVar> ruleVariableRoot = query.from(RuleVar.class); query.select(ruleVariableRoot.get("foo").<String>get("foo")).distinct(true);

Basado en el ejemplo en el javadoc para CriteriaQuery.select ()

CriteriaQuery<String> q = cb.createQuery(String.class); Root<Order> order = q.from(Order.class); q.select(order.get("shippingAddress").<String>get("state"));

Sin embargo, esto me da un error:

The method select(Selection<? extends RuleVar>) in the type CriteriaQuery<RuleVar> is not applicable for the arguments (Path<String>)

¿Alguien por favor puede señalar lo que estoy haciendo mal? ¿O cómo obtener un objeto de selección de un camino?