Um Database Schema por cliente + JPA, dúvidas para implementar

Bom Dia Galera,

Tenho um sistema legado que vamos migrar para java.

Usarei:

SEAM + EJB3 + JPA(Hibernate por baixo dos panos).

Nesse sistema, cada cliente possui um SCHEMA no database, todos eles com as mesmas tabelas(temos em torno de 100 clientes).

Gostaria de uma sugestão de como implementar a parte de persistência.

Pretendo usar repositorios e já entendi bem o conceito, minha dúvida maior é onde colocar e gerenciar meus EntityManagers.

Alguém já teve que montar algo nesse estilo?

Grato

também to em busca de algo parecido…rss

Sugestão: gere dinâmicamente os arquivos de configuração do Hibernate.
Afinal de contas, ele carrega inicialmente um stream. Dai pra frente, fica mais tranquilo.

[quote=kicolobo]Sugestão: gere dinâmicamente os arquivos de configuração do Hibernate.
Afinal de contas, ele carrega inicialmente um stream. Dai pra frente, fica mais tranquilo.[/quote]

Quanto a configuração sem problemas.

Fiz um arquivo properties com o que é comum e uma factory que recebe um objeto que contém a informação que ´é variável.

Agora minha dúvida é:

Devo criar um entityManager por cliente ? Onde devo manter isso, num Stateful Session Bean ?

Não gostaria de ter que ficar passando o entityManager de um canto pro outro, mas pelo visto acho que terei q fazer isso mesmo :frowning:

Essas são as maiores dúvidas

Grato

Tive uma idéia, mas não sei se sua execução é possível:

  1. Quando o cliente se logar ao sistema, chamo um Stateful Session Bean que cria o entityManager adequado para esse cliente.
  2. Dali em diante eu acesso sempre esse entityManager, dentro do SFSB, para aquele cliente.

Agora vem a pergunta, suponha que eu tenha um Session Bean e precise acessar justamente aquele Bean que possui o entityManager adequado, como faço isso ? pegar uma instancia em específica de determinado bean ?

Grato