JPA Requête de Critères distincts

Je suis en train d'écrire un des critères distincts de la requête, à l'aide de:

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);

Basé sur l'exemple de la javadoc de CriteriaQuery.sélectionnez()

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

Cependant, cela me donne une erreur:

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

Quelqu'un peut s'il vous plaît signaler ce que je fais de mal? Ou comment obtenir une Sélection objet à partir d'un Chemin d'accès?

OriginalL'auteur Greg | 2012-09-14