Eu não entendo muito de como se comporta um entity bean! mas a questão é que preciso carregar todo um banco de dados em memoria (eu falo de GB’s de dados em memoria). Agora me digam os EntityBeans já possuem mecanismos para manter alta quandidade de dados em memoria depois que são carregados ou eu terei que implementear isso carregando os dados do DB para Vector, Collection, HashTables, etc… ??? Mais uma coisa esses dados são apenas para consulta não irá haver entrada de dados.
Bem, tu vai usar e abusar de Collection!!! Claro que tu pode usar ArrayList, LinkedList e outras classes derivadas de Collection, mas eu costumo usar Collection direto. É bem provável que tu tenha que usar value objects para visualização também, para evitar problemas de transactions. De forma geral, tu vai partir de alguma(s) coleção(ões) e pegando coleções dos objetos relacionados e montando o código de visualização dos mesmos.
Por exemplo, suponhamos que em um sistema de pizzaria onLine, um cliente se loga, e você exibe para ele todos os pedidos que ele fez, com todas as pizzas e sabores das mesmas. Tu vai ter um objeto cliente, com uma coleção de pedidos, os quais têm uma coleção de itens de pedido, os quais têm uma coleção de pizzas (com quantidades e sabores diferentes), e cada pizza tem uma coleção de sabores (cada pizza pode ter mais de um sabor, por exemplo). Pode-se perceber que as coleções são usadas o tempo todo. Claro, tu pode fazer diferente, mas a idéia é por ae…
Espero que eu tenha ajudado! Abraço,
Marcos
Então mesmo com a quantidade de memoria sendo absurdamente grande eu posso trabalhar com Collections sem problema.
Só uma esclarecida! o que são esses values objects???
Value Objects sao uma forma de isolar seus entity beans da camada de apresentação. A idéia é deixar os beans apenas na camada de negócio, trazendo para a camada deapresentação apenas os dados dos mesmos. Assim, no exemplo q dei anteriormente, vc tera a copia dos sabores nas pizzas, as quais serao copias tambem. se vc pegar o codigo de exemplo em algum tutorial da sun, vc vai ver como funciona (recomendo isso!!). A cópia é uma classe java normal, que tera os valores dos beans. barbadinha… isso, em tese, resolve problemas de transactions tb… mas este fim de semana andei tendo alguns problemas… vou abrir outro post pra tentar solucionar o mesmo. mais info no tutorial da sun.
Abraço,
Marcos