Erro de privilégio com Oracle + JPA

0 respostas
L

Galera, estou com o seguinte problema:

Alguém sabe se há alguma configuração (no banco ou na aplicação) para que a JPA reconheça, a partir da conexão, quais campos ela pode alterar em cada tabela, de acordo com os privilégios de acesso dos usuários?

Contexto:

Evoluímos uma aplicação que usa um banco de dados Oracle. Nessa aplicação, cada usuário cadastrado tem um usuário equivalente no banco, e existem vários perfis. Ao se logar, o usuário passa a acessar as tabelas de acordo com os privilégios que tem no banco (não é feito controle na aplicação). Acontece que no domínio em que esta aplicação estava antes, isso é automático.
Já no novo domínio, uma aplicação web em Java, com JPA, estou com problemas de privilégio. Para conseguir diferenciar os perfis no acesso ao banco, pegamos os dados do usuário no momento do login, e criamos um EntityManagerFactory específico para ele, que criará conexões para o perfil dele. Até aqui tudo bem.
O problema é que em algumas telas, determinado usuário só pode alterar alguns campos da tabela, mas o merge não está reconhecendo que apenas alguns campos (os permitidos) foram atualizados. Como consequência o update é dados em outros campos que o usuário não tem privilégio.

Agradeço a quem puder ajudar.

Abraço!

Criado 29 de abril de 2009
Respostas 0
Participantes 1