JPA e privilégios no Oracle

2 respostas
augusto_ab

Olá pessoal,

Estou utilizando JPA em um projeto com banco Oracle e no banco tenho configuração de vários grants e privilégios dos usuários, estou com o seguinte problema:

public boolean update(EntityManager em, Object object) throws UnauthorizedAccessException, PersistenceException {

        try {
            .
            .
            em.merge(object);
            em.flush();
            .
        } catch (javax.persistence.PersistenceException pe) {
            .
            .

nesse trecho de código parece que o EntityManager está tentando gravar todo o objeto, eu preciso que grave somente os campos alterados, porque aguns campos tem restrição com privilégios no BD.

Estou utilizando o EntityManager do JPA, JBoss e BD Oracle.

Agradeço.

2 Respostas

Lavieri

se souber exatamente quais campos não quer que sejam alterados em update, e sempre forem os mesmos campos…

vc pode anotar com, updatable=false … se não quiser que o campo seja mexido no momento do insert tb, pode anotar com insertable = false

augusto_ab

o problema é que é dinâmico, por exemplo um administrador pode alterar todos os campos, existe usuário que pode alterar apenas o campo descrição da tabela e isso está sendo controlado no BD, que é uma base que já está em produção e não pode ser mudada.

Pensei que pudesse ter alguma anotação ou algo automático que pudesse controlar isso, mas acho que terei que validar isso manualmente… :?

Criado 13 de abril de 2009
Ultima resposta 14 de abr. de 2009
Respostas 2
Participantes 2