OO no mundo real: evite vazamento de conexões com controle transacional programático

No último Javou (evento da JavaCE) o prof. Alexandre Martins comentou na sua palestra que um dev junior conseguiu derrubar por alguns minutos o sistema de previdência social da Dataprev. … Continuar lendo OO no mundo real: evite vazamento de conexões com controle transacional programático

JasperReports: gere relatórios PDF na sua aplicação Web

Não sei você, mas eu sempre tive uma grande dificuldade com a API do JasperReports para gerar relatórios em PDF. Novo projeto significa reaprender a API. E acreditem, não tem … Continuar lendo JasperReports: gere relatórios PDF na sua aplicação Web

File Download sem framework web MVC

O que aprendi em quase 10 anos de experiência com desenvolvimento de software foi que conceitos são mais importantes do que ferramentas e tecnologias. Conceitos perduram por muitos anos, ferramentas … Continuar lendo File Download sem framework web MVC

O perigo do relacionamento bidirecional com JPA e Hibernate

Eu já bati muito a cabeça com JPA e Hibernate para aprender que relacionamento bidirecional no geral atrapalha mais do que ajuda. A verdade é que deveríamos evitar relacionamento bidirecional … Continuar lendo O perigo do relacionamento bidirecional com JPA e Hibernate

CDI: Não use @Inject e @ManagedBean nas suas classes

Algumas semanas atrás tive uma experiência bem estressante e chata ao misturar as anotações do JSF com as anotações do CDI. Apesar de saber que EM TEORIA eu não deveria fazer isso … Continuar lendo CDI: Não use @Inject e @ManagedBean nas suas classes

Performance: Habilite o cache de páginas do Facelets

Na primeira requisição a uma página JSF o Facelets se encarrega de carregar a página do disco, processar tag a tag e construir uma estrutura em memória. Essa estrutura é cacheada … Continuar lendo Performance: Habilite o cache de páginas do Facelets

Cuidado com o timezone ao trabalhar com JSF 2

Se você, assim com eu, é um desenvolvedor Web então há grandes chances de você já ter gravado data e hora errada no banco de dados por causa do fuso … Continuar lendo Cuidado com o timezone ao trabalhar com JSF 2

Named Queries vs Queries Dinâmicas

É muito comum a discussão entre os desenvolvedores de uma equipe sobre a forma de como as consultas JPQL serão organizadas na aplicação. Uns preferem tê-las dentro das entidades através … Continuar lendo Named Queries vs Queries Dinâmicas