classe DAO e controle de Entity  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
homisinho
JavaTeenager
[Avatar]

Membro desde: 16/10/2006 15:53:29
Mensagens: 180
Offline

Pessoal ainda estou estudando JPA.

Estou agora utilizando o Netbeans, pela facilidade de criação das classes, como estou fazendo vários testes quanto mais rápido for para criar as classes melhor, e o netbeans faz isso automaticamente de acordo com o
http://www.netbeans.org/download/flash/netbeans_55/screencast-5.5.1-pt_BR/screencast-nb-final.html

Bom vamos as dúvidas.
O netbeans gerou pra mim automaticamente a classe Cidade e a classe Estado com seus gets e sets e criou tbm NamedQuerys.
Mas agora eu quero criar a classe que vai fazer o insert, delete e update nas minhas tabelas. Pra isso queria saber como vou controlar o meu EntityManager?
Vi vários exemplos declarando em cada classe


e a cada ação de insert,edit ou update criar um EntityManager:


Já li muita coisa, estou ficando um pouco confuso!
Alguem poderia me esclarecer um pouco, qual a melhor forma de controlar o uso de EMF e EM?

Todos os testes são locais mesmo, SE.
[WWW]
rufostec
Thread.start()

Membro desde: 24/08/2006 16:02:14
Mensagens: 46
Offline

Vê se esse artigo te ajuda

http://www.devmedia.com.br/articles/viewcomp.asp?comp=5206

Sun Certified Java Programmer 1.4
[Email] [MSN]
sergiotaborda
GUJ Expert
[Avatar]

Membro desde: 22/03/2005 20:57:48
Mensagens: 3433
Offline

homisinho wrote:Pessoal ainda estou estudando JPA.

Estou agora utilizando o Netbeans, pela facilidade de criação das classes, como estou fazendo vários testes quanto mais rápido for para criar as classes melhor, e o netbeans faz isso automaticamente de acordo com o
http://www.netbeans.org/download/flash/netbeans_55/screencast-5.5.1-pt_BR/screencast-nb-final.html

Bom vamos as dúvidas.
O netbeans gerou pra mim automaticamente a classe Cidade e a classe Estado com seus gets e sets e criou tbm NamedQuerys.
Mas agora eu quero criar a classe que vai fazer o insert, delete e update nas minhas tabelas. Pra isso queria saber como vou controlar o meu EntityManager?
Vi vários exemplos declarando em cada classe


e a cada ação de insert,edit ou update criar um EntityManager:


Já li muita coisa, estou ficando um pouco confuso!
Alguem poderia me esclarecer um pouco, qual a melhor forma de controlar o uso de EMF e EM?

Todos os testes são locais mesmo, SE.


Essas coisas funcionam mas não são estruturadas da forma otimizada.
O principio da separação de responsabilidade dita que a classe que usa o EntityManager (EM) não deve saber como obtê-lo.
Aliás, essas é a função da fabrica do primeiro codigo.
Portanto, a classe que usa o EM deve receber ele da classe que der um new, i.e. do ambiente. Ai temos duas formas, ou vc passa no construtor , ou se o seu objeto é um bean, passa num set. O set é pior já que não garante que exista um EM setado.
Nestas condições quando vc criar a classe que usa o EM vc pssa o EM correto.
Isto é chamado Inversão de Controle.

Vc pode ir mais longe e usar um container de inversão de controle (aka injetor de dependencia) e deixar ele fazer o trabaho chato.
Se estiver no ambiente JEE isso já está incluso que poupa muito trabalho
[WWW]
homisinho
JavaTeenager
[Avatar]

Membro desde: 16/10/2006 15:53:29
Mensagens: 180
Offline

Realmente isso me deixa em dúvida!!!
Tem muito material, já li muito mas um exemplo prático mesmo n encontrei nenhum, é muita explicação do q é Inversion Of Control and Dependency Injection blablablabla.....
Na minha classe de acesso ao banco DAO, terei que ter um metodo como esse:


Correto??? Mas ai eu pergunto eu terei que instanciar o objeto EMF,EM nos meus Frames?
Ou terei que utilizar um container de inversão de controle? um Spring da vida?

Realmente acho q de tanto ler abobrinha e blablabla, sem ver nada concreto e prático estou perdido.

This message was edited 1 time. Last update was at 15/08/2008 12:41:43

[WWW]
Tecnoage
GUJ Master

Membro desde: 13/03/2005 23:18:07
Mensagens: 1723
Localização: SP
Offline

primeira coisa... NUNCA nos seus frames hehehe procure talvez no suporte a JPA do Spring... vai ajudá-lo bastante, embora eu acredite que seja uma bazuca para matar sua mosquinha

Arquiteto de Software
Sysped Solutions
R3 SAP CAT-83, NF-e, ECD, EFD, CT-e, MANAD, IN86
www.sysped.com.br
[Email] [WWW] [MSN]
homisinho
JavaTeenager
[Avatar]

Membro desde: 16/10/2006 15:53:29
Mensagens: 180
Offline

Mas e pra mim n precisar usar o spring?
Eu posso fazer de q forma? onde eu vou intanciar o EMF e o EM?
e como posso garantir a funcionalidade dos mesmo? Tratar erros e tudo mais?
[WWW]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team