Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

É uma boa ideia usar o Hibernate para representar relações de tabela?


O Hibernate tem uma curva de aprendizado íngreme, mas também tem as seguintes vantagens:
  1. Inserções/atualizações são mais fáceis devido à "verificação suja". Depois de instalar o serviço, você pode adicionar facilmente novos campos sem alterar uma linha em seu serviço. Você só precisa adicionar novas colunas e preenchê-las e o Hibernate cuidará da parte de persistência.
  2. O Hibernate pode resolver a "atualização perdida" problema por causa de seu controle de simultaneidade de bloqueio otimista.
  3. O teste de integração é mais fácil, pois você pode gerar o esquema automaticamente para seu banco de dados na memória (HSQLDB, H2, Derby)
  4. Ele tem suporte a plug-in de cache (por meio de provedores de cache de 2º nível de terceiros), alguns provedores permitem que você tenha caches "transacionais" e "agrupados".
  5. Tem um suporte AUDIT integrado (Envers)

Portanto, não é uma solução de persistência 'padrão', pois existem milhões de aplicativos da Web escritos em PHP sem estrutura ORM que estão sendo executados com sucesso na produção.

Eu acho que o Hibernate tem muito mais sentido para aplicativos corporativos onde cache, auditoria, confiabilidade de simultaneidade são requisitos não funcionais obrigatórios.