Rodrigo Sasaki:
faelzindc:
Se você precisa carregar todos E saber o número de itens, carregue primeiro e veja o tamanho da coleção.
Em qual das coisas que eu citei você quis dizer que foi o que você disse? Foi aquela opção que vai me gerar 101 queries? Ou a outra opção que eu crio um atributo e dou select no meu HQL com o COUNT junto tornando assim somente 1 query?
Se for a segunda coisa que eu disse, você saberia fazer isso?
Mais pra primeira do que para a segunda. Eu não conheço o seu cenário, mas o que eu vejo normalmente é uma query com um COUNT caso só seja necessário buscar o tamanho da lista, sem acessar os seus dados.
Agora se você já tiver a lista carregada, pode simplesmente invocar o método size.
Caso precise armazenar esse tamanho, sem a lista carregada, aí pode ser viável ter um atributo transiente na sua classe, ou até uma variável local. Mais uma vez, como não conheço bem o cenário, estou falando bem por cima[/quote]
Então, da primeira forma irei gerar 101 queries, pois tenho uma DataTable que vai listar 100 itens da ASSISTENCIA, e possuo outra tabela que é relacionada com a assistencia que é OneToMany, e que é ASSISTENCIAITENS… Na DataTable vou mostrar as informações da ASSISTENCIA, e a quantidade de itens relacionados na ASSISTENCIAITENS, ou seja, se eu criar um metodo que vai buscar o count, na hora de mostrar os 100 na datatable vai fazer 1 query para cada ASSISTENCIA, que vai me resultar em 101 queries no total.
O que eu gostaria de fazer era criar um atributo transient, e nesse atributo eu carregar a quantidade. Ou seja, na hora que eu busco a lista de ASSISTENCIA, no select ja vai conter o COUNT do relacionamento, assim trazendo tudo de uma vez…
O problema é que não sei fazer essa variavel transient pra trazer o COUNT junto…