[quote=Ataxexe][quote=rfsilva][quote=rimolive]rfsilva,
Talvez com uma única entidade você não notará nenhuma diferença, mas sua aplicação não terá apenas uma entidade, certo? Fora o número de atributos que cada entidade contém.
Tente abrir o JIRA, e discuta com o engenheiros da JBoss sobre o porquê você acha necessário isso. O projeto é da comunidade, discussões serão bem-vindas desde que com bons argumentos, pois dizer que é um desejo seu é no mínimo irrelevante.
Ataxexe,
Corre o risco sim, mas qual framework não corre? [/quote]
rimolive
O Envers JÁ faz por default a varredura em toda a classe (e em todas as classes que são entidades JPA, independente de estarem anotadas como auditoria ou não), mesmo sem necessidade. Não há motivo para acreditar que uma anotação a mais ou um atributo em anotação a mais para ser lido e compreendido vá afetar performance. Talvez o medo em perder performance seja em tentar entender que para auditoria, o nome de coluna é outro, e isso demande implementação e essa implementação demande em consumo de memória e cpu. Aí sim, veria motivo para eventualmente não terem feito. Mas, sinceramente, isso é muito pouco. Ainda estou aguardando a resposta oficial no site do Envers mas meu sentimento é que meu post lá ficará sem resposta.
De qualquer maneira agradeço a vcs pela contribuição na discussão. Infelizmente já estou buscando outras soluções. Talvez eu tenha que reinventar a roda, e escrever meu próprio mecanismo de auditoria, mas isso faz parte dos riscos que estamos correndo ao utilizar frameworks. Um tombo agora pode servir para garantir qualidade lá na frente.
Abraços!
Rodrigo
[/quote]
Vai por mim, vale muito mais a pena discutir a questão junto aos DBAs. Eu fiz isso uma vez e, quando apresentei os ganhos do Envers, não houve quem levantasse a mão pra questionar se ele se adequava ou não ao padrão de nomenclatura. A solução, no meu caso, foi usar um schema diferente para os dados de auditoria.
Se vocês não são provedores de tecnologia, não vale a pena reinventar a roda em uma solução desse porte (já vi muita empresa quebrar as pernas por causa disso). Pense nisso (Estou assumindo que são consumidores de tecnologia, desconsidere isso caso contrário)[/quote]
Ataxexe,
Onde trabalho, o “pessoal de BD” define nomes de tabelas e colunas baseadas em algumas regras. Por exemplo:
TAB01ALUN
TAB02PROF
TAB03NOTA
TAB04DISC
Onde TAB é o indicativo que trata-se de tabela, 01 indica a ordem de criação da tabela, e os 4 caracteres subsequentes indicam (ou tentam indicar) o significado da tabela (ALUNO, PROFESSOR, NOTA, DISCIPLINA
Quando entra a auditoria, as tabelas a serem criadas ficam assim:
TAB05AALU
TAB06APRO
TAB07ANOT
TAB08ADIS
Eles são muito rígidos em relação a essas regras. São irredutíveis. Vamos agora às colunas:
ALUNNCODT - ALUN - entidade da coluna (a tabela), N - number, COD - descrição, T - tabela (V = view)
ALUNDMATT - ALUN - entidade da coluna (a tabela), D - date, MAT - descrição (matrícula?), T - tabela)
Olha como fica para a auditoria, esses dois campos:
AALUNCODT - AALU - entidade da coluna (a tabela), N - number, COD - descrição, T - tabela (V = view)
AALUDMATT - AALU - entidade da coluna (a tabela), D - date, MAT - descrição (matrícula?), T - tabela)
Eu queria muito poder discutir essa regra maluca, absurda, na minha opinião, com eles. MAS não tenho força suficiente para bater de frente com o “pessoal de BD”. Essa regra é muito antiga e tem muitos sistemas encaixados nesse esquema. Está fora de cogitação insistir em manter a forma como o Envers faz hoje, para eles.
Rodrigo