Atualizar campo pelo hibernate que a trigger modificou
3 respostas
leandrogmuller
Ola pessoal.
Preciso atualizar um campo cuja trigger modificou antes da inserção no banco.
Exemplo:
Hibernate insere dados tabela consulta(id, nome, calculo)
campo calculo sera preenchido pela trigger com determinada formula la do banco.
agora o objeto consulta.getCalculo() do hibernate precisa me dar o valor do calculo do banco, sem que eu precise novamente chamar uma consulta no banco.
Há como fazer isso no hibernate?
Não confundam isso com o @Id@GeneratedValue do hiberante, cujo já funciona certinho.
se for possivel, se solte + do banco, não deixe a trigger no seu Banco de Dados, ponha ela no seu modelo, assim vc tem um pode maior sobre ela
publicclassHipotetica{privateIntegerid;privateStringnome;privateDoublecalculo;//todas aquelas anotações e métodos legais@PrePersist@PreUpdateprivatevoidcalculate(){//aqui vc poem su logica do calculo, em vez de colocar no trigger, e calcula o valor para o campo calculocalculate=//super conta muito dificil}}
desta forma vc tem uma trigger, que roda Antes de inserir, e antes de atualizar ... e ela roda no teu dominio, e não no banco, assim vc não precisa por regras de dominio la no banco de dados
leandrogmuller
É complexo, pois essas rotinas são executadas pelo banco mesmo, cujo outros sistemas também utilizam.
Para que a regra de negocio não precisasse ser refeita nos 4 sistemas que acessam, foi elaborada no banco pelo DBA.