Si j'ai une entité appelée Foo qui ressemble un peu à ceci:filtre Hibernate sur une liste d'entités, mais seulement récupérer un des attributs
@Entity
public final class Foo {
private int id;
private String name;
...
}
Je veux récupérer les noms des objets Foo qui ont un id supérieur à 10. Si je possède déjà une collection d'objets Foo, je pouvais faire quelque chose comme ceci:
List<Foo> foos = ...
Query filter = session.createFilter(foos, "where id > :id");
filter.setInteger("id", 10);
List filteredFoos = filter.list();
est-il un moyen de créer le filtre au-dessus de telle sorte que je récupérer une liste de chaînes (la Noms Foo) au lieu de la liste des Foos que je devrais filtrer manuellement comme ça:
for (Foo foo : filteredFoos) {
String name = foo.getName();
...
}