2012-03-29 2 views
2

я следующие два объекта:JPA именованный запрос, чтобы получить размер коллекции

@Entity 
class Relation{ 

@ManyToOne 
private User user; 

//some other fields 

... 
} 

Субъект пользователь имеет набор других лиц:

@Entity 
class User { 

@OneToMany(mappedBy="user") 
private Collection<Address> addresses = new ArrayList<Address>(); 
} 

//some other fields 

} 

Можно ли написать именованный запрос в объекте Relation, который дает мне пользователей, которые имеют более двух адресов ...? нравится:

@NamedQuery("SELECT m from Membership m where m.otherfield = ?1 AND m.user.addresses > 2")

другими словами, как я могу получить размер этого объекта с именем запроса?

ТНХ

+1

Почему бы не использовать 'SELECT COUNT (m) from ....'? – Osw

ответ

3

В JPQL функции SIZE запрос может быть использован для получения размера коллекции. Он принимает путь к коллекции как аргумент и возвращает количество элементов.

Смежные вопросы