Framework de persistência  XML
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Autor Mensagem
GustavoDoT
Thread.start()

Membro desde: 10/11/2009 08:23:50
Mensagens: 43
Localização: Bandeirantes Paraná
Offline

Olá pessoal!

Sou usuário do Eclipse e estou começando agora a trabalhar com banco de dados, por isso gostaria de saber duas coisas:

1- Como gerar automaticamente no Eclipse as NamedQueries?

2- Qual a real diferença entre Hibernate e Eclipselink?

[Gustavo]
[Email] [MSN]
remixlara
JavaChild
[Avatar]

Membro desde: 09/01/2008 09:45:44
Mensagens: 132
Offline

No eclipse to por fora de fazer isso man,
o netbeans tem uma funcionalidade que a partir de uma conexão com banco de dados vc pode gerar todas as suas classes
anotadas e com namedQueries, como vc ta aprendendo eu não recomendo fazer isso, recomendo fazer manualmente pra aprender as funcionalidades.

cara eu n sei assim a diferença saka? mas eu usei hibernate por muito tempo e ainda recomendo MUITO utilizar JPA
JPA faz com que vc use um framework de pesistencia e depois mude de framework sem precisar mudar nada no seu código...
muito bom isso

Merchan: vai no devmedia eles tem um material muito bom sobre isso, agora é pago lógico... não sei se o material da caelum tem sobre isso.
se tiver recomendo muito...
[Email] [WWW] [Yahoo!] [MSN]
renanreismartins
GUJ Ranger
[Avatar]

Membro desde: 19/09/2007 15:19:38
Mensagens: 807
Localização: São Paulo - SP
Offline

tanto hibernate quanto eclipselink sao frameworks de ORM.
a diferença é a api e como eles trabalham.

mas como o amigo acima falou, é recomendavel que utilize JPA. Pois assim não tera alterações no codigo caso resolva trocar de framework.

http://renanreismartins.blogspot.com/ - Para apaixonados por desenvolvimento de software
[WWW] [MSN]
GustavoDoT
Thread.start()

Membro desde: 10/11/2009 08:23:50
Mensagens: 43
Localização: Bandeirantes Paraná
Offline

Boa noite pessoal!

Pelo o que entendi é o seguinte:
JPA é a API de persistência os frameworks Hibernate, EclipseLink e outros implementam esta especificação, certo? mas minha dúvida é o seguinte: que vantagem tenho em usar um framework ou usar diretamente o JPA?

Não sei se consegui ser claro!
[Email] [MSN]
renanreismartins
GUJ Ranger
[Avatar]

Membro desde: 19/09/2007 15:19:38
Mensagens: 807
Localização: São Paulo - SP
Offline

+/- ...

JPA = especificação, ou seja, todos os frameworks que implementem essa especificação tem que implementar todos os requisitos da especificação.

Não existe um meio de usar só JPA, SEMPRE haverá um framework que o implementa para que vc possa usar, porém, se quiser trocar de framework e eles atenderem a especificação nao precisara alterar seu codigo, pois todos possuem todos os requisitos da especificação

De uma maneira bem simples podemos imaginar que:

A especificação JPA requer que os seus implementadores disponibilizerm o metodo save(Obj o);

então todos os frameworks que implementem a especificação devem ter este metodo. Logo não importa qual framework usar, o codigo vai ser o mesmo.

Agora se vc quer usar o framework direto, como por exemplo o hibernate, vc tem ganhos com algumas funcionalidades que ele pode te oferecer, porem fica amarrado a API do framework, ou seja, a troca de framework pode ser um pouco mais complicada.

Um caso prático é o uso de Criteria do hibernate, com JPA 1.0 vc nao tinha acesso a este recurso, se quisesse usa-lo teria de usar hibernate direto.

//edit
JPA2 ja suporta isto.

//edit
mais sobre o assunto http://wpjr2.wordpress.com/2008/05/02/especificacoes-java-introducao-ao-java-community-process/

caso nao tenha sido claro poste de novo.

abrasssssssssss

This message was edited 3 times. Last update was at 24/06/2010 09:35:48


http://renanreismartins.blogspot.com/ - Para apaixonados por desenvolvimento de software
[WWW] [MSN]
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Pense assim: você não usa a JPA diretamente, você usa uma implementação da JPA (Hibernate, Eclipselink e afins).

A grande vantagem de usar a JPA é desfrutar das facilidade que ela te oferece. Você pode criar as entidades e o acesso ao banco sem necessitar configurar tudo por código e conexões que as vezes podem ficar complexas, a manutenção do banco fica mais fácil e você não precisa usar SQL em tudo (pode usar um insert, find, delete, remove... é um banco de dados em que você pode escrever uns 70% em Java).

Me diga uma coisa: você acha mais fácil fazer um SQL desse jeito

Ou assim:

onde cliente é uma entity que vem já com os dados da tela?

This message was edited 1 time. Last update was at 24/06/2010 11:25:29


Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
 
Índice dos Fóruns » Persistência: Hibernate, JPA, JDBC e outros
Ir para:   
Powered by JForum 2.1.8 © JForum Team