Pessoal, tenho um sistema multi tenancy com hibernate e postgree, cada cliente possui um schema.
Quando estava iniciando o projeto tinha feito uma SessionFactory para cada cliente conectada no seu devido schema, mas isto comeu muita memória e desisti, fiz da seguinte maneira:
Tenho um interceptor que para todas as querys antes de rodar no banco e troca o schema de acordo com o cliente conectado, eu guardo o schema do cliente na session, por exemplo:
O hibernate gera
select * from schemapadrao.Alunos
e o interceptor troca por por select * from schemacliente.Alunos.
Tudo funciona maravilhosamente bem, com dois clientes.
Eu gostaria de saber, se isto pode acarretar um problema no futuro, não posso usar 2nd level neste caso?
Obrigado
