Categoria: Hibernate

  • Java: como a serialização de objetos pode salvar sua aplicação desktop

    Em um dos meus clientes é muito comum o desenvolvimento de aplicações Java voltadas para o ambiente desktop, aonde não raro enfrento problemas sérios de performance e consumo de recursos. O objetivo deste post é expor como usando o recurso de serialização de objetos oferecido pela plataforma Java consegui resolver (ou ao menos minimizar ao…

  • Grails: resolvendo o problema de queda de conexão com o MySQL

    Você que trabalha com Grails e MySQL já topou com excessões como estas: “com.mysql.jdbc.CommunicationsException: Communications link failure“, “java.net.SocketException: Broken pipe” , “java.io.EOFException: Can not read response from server. Expected to read 4 bytes, read 0 bytes before connection was unexpectedly lost.” ? Normalmente ocorrem após algumas horas de inatividade da sua aplicação. Normalmente acontecem porquê…

  • Grails and legacy code: making old code groovy again!

    Code reuse with Grails is amazingly easy. When working with this framework, it’s really cool to see the huge improvement in productivity that we can achieve. But if you have a large legacy code behind you, this productivity will simply disappear. And this is where Grails really shines and become a real choice for a…

  • Grails e código legado – rejuvenesça seu código legado!!!

    Um dos aspectos mais fenomenais do Grails consiste no reaproveitamento de código legado. É muito bacana ter todo o ganho de produtividade que o framework nos oferece, no entanto, este ganho só se torna REAL com reaproveitamento de código. E é neste ponto que Grails se torna REALMENTE interessante para o desenvolvedor que trabalha com…

  • Gambiarra esperta: trabalhando com mais de um banco de dados usando Hibernate (ou qualquer ferramenta ORM)

    Hibernate é fenomenal, mas tem um problema: quando precisamos lidar com mais de um banco de dados, as coisas se complicam. Neste post pretendo mostrar como superar esta “limitação” do Hibernate usando um padrão (confesso: orientado a gambi, mas funciona bem!) que facilita esta tarefa. Porém, antes de começar, vamos supor a seguinte situação: existem…

  • Como criar chaves primárias do tipo UUID com Grails

    Devo confessar, detesto chaves primárias do tipo auto incrementais. Sempre preferi utilizar UUID: podem ocupar mais espaço em armazenamento em disco, mas são ideais quando lidamos com aplicações paralelizadas ou mesmo quando queremos ter um controle maior sobre o valor que devemos armazenar nestes campos. Ao iniciar meu contato com Grails, fiquei um pouco decepcionado…

  • Criando consultas complexas no Hibernate de maneira dinâmica

    Neste post pretendo expor um padrão bastante simples a ser aplicado na criação de consultas usando a API Criteria do Hibernate. A API Criteria consiste em uma ferramenta extremamente poderosa que o Hibernate nos oferece para solucionar um problema muito comum no desenvolvimento de aplicações que precisem fazer consultas a banco de dados: a maldita…