Hibernate ou Instruções SQL ?????  XML
Índice dos Fóruns » Java Avançado
Autor Mensagem
silva.fernandes
Java Ninja
[Avatar]
Membro desde: 29/05/2006 15:11:34
Mensagens: 280
Localização: Jundiaí
Offline

Fala galerinha !!!

Gostaria da opinião de vcs ...

Qual a vantagem e/ou desvantagem de usar o Hibernate ... e vantagem e/ou desvantagem de usar Instruções SQL ?

Pelo que eu vi .. o uso do Hibernate é para "fugir" das glamurosas instruções SQL .... Mas estou vendo que o Hibernate está tão difundido na liguaguem java .....

Então eu gostaria de saber de vocês ... oque se ganha e oque se perde no uso do Hibernate .. ou das proprias instruções SQL.
zepunk
JavaTeenager
[Avatar]

Membro desde: 24/05/2005 11:57:28
Mensagens: 198
Localização: Osasco
Offline

"A utilização de código SQL dentro de uma aplicação agrava o problema da
independência de plataforma.
O Hibernate abstrai o código SQL da nossa aplicação e permite escolher o tipo
de banco de dados enquanto o programa está rodando, permitindo mudar sua base
sem alterar nada no seu código Java.
Além disso, o Hibernate permite criar suas tabelas do banco de dados de um
jeito bem simples, não se fazendo necessário todo um design de tabelas antes de
desenvolver seu projeto que pode ser muito bem utilizado em projetos pequenos.
Já projetos grandes onde o plano de ação padrão tomado pelo Hibernate não
satisfaz as necessidades da empresa (como o uso de select *, joins etc), ele possui
dezenas de otimizações que podem ser feitas para atingir tal objetivo."


Perseverança sozinha não ganha guerra, só palavras não conquistam um coração.
[Email] [MSN]
macfly2500
Debugger

Membro desde: 06/08/2006 19:28:35
Mensagens: 59
Offline

Ou seja... vc se livra do SQL mas fica dependente do HSQL..

Dê uma olhada no Ibatis
silva.fernandes
Java Ninja
[Avatar]
Membro desde: 29/05/2006 15:11:34
Mensagens: 280
Localização: Jundiaí
Offline

Mas veja, se vc tiver desenvolvendo para uma base de dados bem projetada que respeite todos os conceitos de modelagem.

O uso de instruções SQL .. é claro (imaginado que as intruções foram implentadadas fora da aplicação) usando a técnica de "hardcoding", não iria mudar em nada minha aplicação.

Então eu acabo vendo o Hibernate como modismo que está sendo usando para fugir das instruções SQL.

E e qdo eu falo isso, eu estou indo de contra a "maré" ... rsss

Pq agora vejo q muita gente usa o Hibernate, pq fulano de tal usa, ou empresa X ou Y agora está usando.

JohnnyDurden
Entusiasta Java
[Avatar]

Membro desde: 28/03/2006 09:24:51
Mensagens: 20
Offline

Na minha opinião o hibernate seria mais usadao para grandes e médias aplicações onde performace não entra muito em foco, pois o hibernate utiliza muito a classe reflection. Possui também uma certa restrição quanto ao uso de algumas operações e modelagens com bancos de dados, como o uso de chaves compostas.
Ele se torna muito bom quanto ao uso de conceitos patterns, amplamente utilizado em java.

Espero que tenha ajudado um pouco.
Abração.
victorpriest
Debugger

Membro desde: 11/07/2006 16:46:04
Mensagens: 58
Localização: Bauru/SP
Offline

eu to numa dúvida desgraçada qto a isso tb, usar ou não hibernate...
a questão é q o sistema q vou começar a fazer é um BI e possui várias consultas c/ frases sql gigantes e complexas, além de processamentos e cálculos no banco de dados através de procedures (atualmente o sistema está em delphi e sql server, mas pretendemos mudar pra java e postgreSQL)

minha dúvida é se c/ o hibernate conseguirei fazer todas as consultas complexas que precisar s/ prejudicar a performance.
[Email]
Jair Rillo Junior
Moderador
[Avatar]

Membro desde: 29/04/2003 21:19:53
Mensagens: 2524
Localização: São Paulo / Campinas
Offline

Procura no fórum que isso ja foi muito discutido e também no próprio site do Hibernate.

Mas utilizando o Hiberante, além de vc diminuir sua quantidade de códigos, deixar um padrão mais bonitinho e etc, vc também ganha em performance e outros detalhes. O hibernate já implementa esquema de cache, load balance e etc. Como eu disse, no site do Hibernate e aqui no fórum já falaram muito disso, e outra, é muito mais facil fazer um comando dao.insert(classe) do que fazer aquela instrução SQL gigantesca

Jair Rillo Junior

http://www.jairrillo.com/blog | Twitter | SCJA, SCJP, SCWCD, SCBCD, IBM SOA Associate
mauro_schneider
JavaChild

Membro desde: 31/03/2005 07:43:23
Mensagens: 144
Offline

macfly2500 wrote:Ou seja... vc se livra do SQL mas fica dependente do HSQL..

Dê uma olhada no Ibatis


Já Viu o Criteria do Hibernate ?

http://blog.mauros.org
[Email] [WWW]
mauro_schneider
JavaChild

Membro desde: 31/03/2005 07:43:23
Mensagens: 144
Offline

JohnnyDurden wrote: Na minha opinião o hibernate seria mais usadao para grandes e médias aplicações onde performace não entra muito em foco, pois o hibernate utiliza muito a classe reflection. Possui também uma certa restrição quanto ao uso de algumas operações e modelagens com bancos de dados, como o uso de chaves compostas.
Ele se torna muito bom quanto ao uso de conceitos patterns, amplamente utilizado em java.

Espero que tenha ajudado um pouco.
Abração.


É o contrário, o Hibernate bem configurado, com uso de cache, vai ficar mais rápido.
Quanto a chave composta, qual é esta restrição ?

http://blog.mauros.org
[Email] [WWW]
hjmarcon
Thread.start()
[Avatar]

Membro desde: 15/08/2006 17:04:26
Mensagens: 31
Offline

Bom pessoal, eu estou fazendo minha mono com o hibernate. To quebrando a cabeça com algumas coisas, pq não se aprende nada do dia pra noite...
Soh q eu não gostei muito. Me pareceu um pouco pesadão...
Tenho mais experiência com Delphi, e em minhas aplicações em Delphi eu procuro usar instruções sql, primeiro pq eh mais rápido e depois pq posso "reaproveitar" clientdatasets pra fazer estas consultas. Mas isso não vem ao caso.
Optei pelo hibernate para poder ter mais agilidade na programação. Por esse lado eh mto bom.
Mas eu penso que não seria bom usar o hibernate com tabelas com muitos dados. Pelo que percebi ele traz abre todas as tabelas logo que abre o sistema. A meu ver isso eh desnecessário e faz com q a aplicação fique muito lenta.
Hoje soh estou fazendo minha mono em java, mas pretendo programar mais coisas. E futuramente vou usar código sql na minha implementação, visto que tenho bons resultados com o mesmo em Delphi.
Resumindo : eu PREFIRO código sql.
Sei que a maioria dos desenvolvedores Java critica isso, tanto quanto uma aplicação "que não trabalha na web".
Mas eh questão de preferência.
flw povo.
[MSN]
mauro_schneider
JavaChild

Membro desde: 31/03/2005 07:43:23
Mensagens: 144
Offline

hjmarcon wrote:
Mas eu penso que não seria bom usar o hibernate com tabelas com muitos dados. Pelo que percebi ele traz abre todas as tabelas logo que abre o sistema. A meu ver isso eh desnecessário e faz com q a aplicação fique muito lenta.
flw povo.


Totalmente desnecessário, por isto, tem o lazy.

http://blog.mauros.org
[Email] [WWW]
macfly2500
Debugger

Membro desde: 06/08/2006 19:28:35
Mensagens: 59
Offline

mauro_schneider wrote:
macfly2500 wrote:Ou seja... vc se livra do SQL mas fica dependente do HSQL..

Dê uma olhada no Ibatis


Já Viu o Criteria do Hibernate ?


Sim e dai??
E o resultTransformer vc já viu??
macfly2500
Debugger

Membro desde: 06/08/2006 19:28:35
Mensagens: 59
Offline

.
macfly2500
Debugger

Membro desde: 06/08/2006 19:28:35
Mensagens: 59
Offline

hjmarcon wrote:
E futuramente vou usar código sql na minha implementação, visto que tenho bons resultados com o mesmo em Delphi.


Dê uma olhada no Ibatis que talvez possa lhe ajudar..
J2Alex
JavaEvangelist
[Avatar]

Membro desde: 18/01/2003 08:14:41
Mensagens: 348
Localização: São José dos Campos
Offline

silva.fernandes,

O hibernate facilita e muito o desenvolvimento...

Na minha opinião, desenvolver usando diretamente JDBC é coisa de louco (salvo necessidades pontuais, onde realmente não se possa fugir)

hjmarcon,

O Hibernate é altamente configurável... vc consegue um nível de controle muito maior do que você conseguiria em Delphi.

O que acontece é que para utilizar (e otimizar) corretamente o Hibernate você precisa ir além do básico. Mas quando você passa a dominar os seus segredos você vai perceber o quanto ele é bom.


macfly2500 wrote:
mauro_schneider wrote:
macfly2500 wrote:Ou seja... vc se livra do SQL mas fica dependente do HSQL..

Dê uma olhada no Ibatis


Já Viu o Criteria do Hibernate ?


Sim e dai??
E o resultTransformer vc já viu??


E daí que você não fica dependente do HSQL...


Alexandre



Hoje tem Balada
https://apps.facebook.com/hojetembalada
Guia colaborativo de baladas, bares e restaurantes
[WWW]
 
Índice dos Fóruns » Java Avançado
Ir para:   
Powered by JForum 2.1.8 © JForum Team