Dúvida Set.add - Set com mais de 190 000 linhas

Tenho a seguinte classe:

@Entity
public class Twitter implements Serializable {

    @Id
    private String username;
    @OneToMany(cascade=CascadeType.ALL, fetch=FetchType.LAZY)
    private Set<TwitterPost> posts;
   /**
     * @return the username
     */
    public String getUsername() {
        return username;
    }

    /**
     * @param username the username to set
     */
    public void setUsername(String username) {
        this.username = username;
    }

    public void adicionar(TwitterPost post) {
        if (posts==null) {
            posts = new HashSet<TwitterPost>();
        }
        posts.add(post);
    }

Neste método adicionar estou com uma dúvida.
pois uma entidade dessas tem um set de posts com mais de 190.000 posts.
Desta forma que a entidade esta anotada,
quando eu acesso o método adicionar o hibernate popula esse set de posts com 190.00 posts,
pra depois adicionar um novo post ?

Pois estou recebendo out of memory error direto na minha aplicação web.
Se isso estiver acontecendo como posso arrumar isto ?
Pois esta lista tende a crescer mais ainda.

Não sou um expert em Hibernate, porém não imagino que o uso do mesmo para esse cenario seja o ideal.

Para preencher o Set de dados a melhor solução é ter um mecanismo de paginação, ou seja, para a lista voce faria a busca de forma diferente, SEM ser pelo mapeamento(@OneToMany).

vamos esperar se alguem pode ajudar melhor… ok?

Valeu pela ajuda, vamos ver se algum expert em Hibernate pode indicar uma solução melhor.

[quote=douglaspaulino]Não sou um expert em Hibernate, porém não imagino que o uso do mesmo para esse cenario seja o ideal.

Para preencher o Set de dados a melhor solução é ter um mecanismo de paginação, ou seja, para a lista voce faria a busca de forma diferente, SEM ser pelo mapeamento(@OneToMany).

vamos esperar se alguem pode ajudar melhor… ok?[/quote]

ok, mais adiantando algo, pode ser uma questão de de mapeamento bidirecional… concordo que com 190k de registros as chances são grandes de dar um outofmemory… porem pode-se otimizar de alguma maneira retirando a referencia contrária do mapeamento.

Verifique o mapemento existentes dentro da classe “TwitterPost”, só de voce ter a referencia contraria para o objeto “Twitter” já é um grande uso de memoria, pois este objeto ja teria referencia para outra lista de objetos “TwitterPost” e assim por diante… é bom tomar cuidado e os cascades tb.

espero ter entendido…rsrsrsrs

[quote=antonioedirane]Valeu pela ajuda, vamos ver se algum expert em Hibernate pode indicar uma solução melhor.

[quote=douglaspaulino]Não sou um expert em Hibernate, porém não imagino que o uso do mesmo para esse cenario seja o ideal.

Para preencher o Set de dados a melhor solução é ter um mecanismo de paginação, ou seja, para a lista voce faria a busca de forma diferente, SEM ser pelo mapeamento(@OneToMany).

vamos esperar se alguem pode ajudar melhor… ok?[/quote][/quote]