У меня есть объект, у которого коллекция @ManyToMany помечена как ленивая.Когда я перечисляю эти сущности в JSP, я вызываю метод в каждой сущности, чтобы решить, следует ли мне показывать кнопку или нет, этот метод был разработан для подсчета количества элементов в этой коллекции, поэтому, если число элементов слишком велико,требуется JSP навсегда, потому что Hibernate загружает всю коллекцию со всеми их данными.
Мне было интересно, есть ли способ вызвать NamedQuery из этого метода в сущности, например:
@NamedNativeQuery(
name="showButton",
query="SELECT count(distinct(id)) FROM USER where GROUP_ID = :groupId")
@Entity
class Group {
...
@ManyToMany(mappedBy = "groups", cascade = { CascadeType.PERSIST, CascadeType.MERGE })
private Set<User> users = new HashSet<User>();
}
...
public boolean showButton() {
// Can I call the named query here??
}
}