Как получить количество объектов с помощью NamedEntityGraph
Я использую графы сущностей JPA в своем приложении. У меня есть CustomerEnity, в котором есть коллекция других сущностей, "Тревоги". Здесь определен EntityGraph.
@NamedEntityGraph(
name = "graph.CustomerSite",
attributeNodes = {@NamedAttributeNode(value = "alarms", subgraph = "subgraph.customersite.idalarms")},
subgraphs = {@NamedSubgraph(@NamedSubgraph(
name = "subgraph.customersite.idalarms",
attributeNodes = {@NamedAttributeNode(value = "id")}
)
}),
public class CustomerSite {
@Cloumn
@LazyCollection(LazyCollectionOption.TRUE)
@OneToMany(cascade = {CascadeType.MERGE, CascadeType.REMOVE}, fetch = FetchType.LAZY)
@JoinTable(name = ConstantsDB.CustomerSiteAlarmsTableName, joinColumns = @JoinColumn(name = "customersite_id", referencedColumnName = "id"), inverseJoinColumns = @JoinColumn(name = "alarms_id",
referencedColumnName = "id"))
private Set<AlarmsEntity> alarms;
}
В репозитории у меня есть следующий метод
@EntityGraph(value = "graph.CustomerSite", type = EntityGraphType.LOAD)
repository.findBy(Long id);
Используя подграф, я получаю все сигналы тревоги только с идентификатором и нахожу размер
customerEntity.getAlarms().size()
Есть ли лучший способ в JPA Entity Graphs, который дает счет определенного объекта? в этом случае AlarmsEntity