Как получить количество объектов с помощью 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

0 ответов

Другие вопросы по тегам