Извините за заголовок, но я не знаю, как обобщить вопрос: \
У меня есть 2 сущности, Пользователь и Сообщение, сопоставленные с моей БД, и я хочу получить быстрый способ получитьвсе непрочитанные сообщения пользователя.
Вот некоторый код:
public class User implements Serializable {
private static final long serialVersionUID = 1L;
[cut]
@OneToMany(cascade = CascadeType.ALL, mappedBy = "dst")
private Collection<Message> rcv;
_
public class Message implements Serializable {
private static final long serialVersionUID = 1L;
[cut]
@Basic(optional = false)
@NotNull
@Column(name = "read")
private boolean read;
@JoinColumn(name = "dst", referencedColumnName = "username")
@ManyToOne(optional = false)
private User dst;
Итак, в общем, мне нужно знать, есть лиспособ избежать такого кода:
List<Message> unread = new LinkedList<Message>();
for(Message m : rcv){
if(!rcv.read){
unread.add(rcv);
}
}
Я знаю, что это можно сделать с помощью запроса, но я не знаю, как использовать его в проекте Java EE.
Как мне написать запрос, чтобы иметь непрочитанные сообщения только текущего экземпляра User, а не ВСЕ непрочитанные сообщения из таблицы?
Заранее спасибо.