Java EE | Rafael Ponte - Part 3
Posted on November 18, 2015 by Rafael Ponte
Posted in Boas Práticas, Desenvolvimento de Software, Java, Java EE, web	Tagged attachment, content-disposition, download, file download, headers, http, Java, java ee, mvc, servlet, triadworks	Leave a comment
Posted on October 27, 2015 October 30, 2015 by Rafael Ponte
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 (o tal do mappedBy) sempre que possível. Ele só deveria ser utilizado em último caso, quando realmente não tiver para onde correr…
Por exemplo, será que o código abaixo funcionaria em um relacionamento bidirecional?
Item curso = new Item("Curso de Java e Orientação a Objetos", 1);
Carrinho carrinho = dao.buscaPor(id);
carrinho.getItens().add(curso);
E se eu te dissesse que NÃO? Esse código não funcionaria!
Quando trabalhamos com bidirecional somos obrigados a escrever um código mais complicado para manter a consistência entre as entidades, o que nem sempre é fácil. Para entender do que estou falando dá uma lida no novo post do blog da TriadWorks:
>> JPA: por que você deveria evitar relacionamento bidirecional
Se você ainda insistir em usá-lo nos post acima eu te dou algumas dicas de orientação a objetos (ENCAPSULAMENTO, tan dãn!!) para manter a consistência do relacionamento. Dessa forma você diminui as chances de ter dor de cabeça.
Posted in Boas Práticas, Hibernate, Java, Java EE, JEE, JPA, Orientação a Objetos	Tagged bidirecional, hibernate, Java, java ee, jpa, mappedBy, oo, orientação a objetos, orm, relacionamento bidirecional, triadworks	Leave a comment
Posted in Boas Práticas, CDI, Desenvolvimento de Software, Java, Java EE, JSF, JSF2	Tagged @Inject, CDI, DI, escopos, faces, Injecao de dependencias, IoC, Java, java ee, JSF, jsf2, jsf2.0, managedbean, misturar anotacoes, mix annotations, triadworks	2 Comments