Como seria uma integração spring e hibernate?

4 respostas
P

Estou fazendo alguns levamentos na empresa para saber quais tecnologias seriam mais adequadas para trabalar com banco de dados na web.
A principio, o que tinha sido definido era utilização do ejb. Ápos diversos problemas encontrados e a grande dificuldade de utilizar o ejb para coisas simples e se obter um resultado muito pequeno que não justifica o trabalho tedioso apesar do grande quantidade de materiais disponiveis na web podendo utilizar o hibernate ou spring e dependendo do caso o dao com menos esforço para obter o mesmo resultado.
A questão é: em que ponto o spring seria util para suprir alguma funcionalidade que o hibernate não possui ??? Noto que a cada dia cresce o numero de pessoas utilizando o hibernate com grande satisfação e a mesma coisa sobre o spring, mas as vezes notos algumas discussões sobre em que momento spring é mais eficiente que o hibernate.
Ainda sou um pouco leigo em certos aspectos relacionados a persistencia de dados e outros assuntos abordados. Não quero ser um desenvolvedor que simplesmente utiliza a tecnologia X porque todo mundo utiliza e tendo um grande trabalho para criar algo que de uma forma mais simples resolveria todos os problemas.
Gostaria também de saber se alguém puder me dar uma esclarecida sobre os pontos citados acima, pois prezo muito a reutilização e a facilidade de desenvolvimento e manutenção de qualquer aplicação sem sacrificios não justificados.
Atenciosamente,

Marco Paradiso

4 Respostas

gono

O Spring NAO substitui o hibernate , eles se completam.
O Spring é composto por varios modulos que facilitam o desenvolvimento em Java, uma dessas facilidades é o template pra hibernate.
Vou colar aqui um teco de codigo pra vc ter uma ideia.


import org.springframework.orm.hibernate3.support.HibernateDaoSupport;
import br.com.alomamae.MeuObjeto;

public class MeuObjetoDaoImpl extends HibernateDaoSupport {

// salva/atualiza o objeto

public void save(MeuObjeto meuObjeto) {

getHibernateTemplate().saveOrUpdate(meuObjeto);

}

// recupera o objeto

public Livro retrieve(int meu_id) throws MeuObjetoNotFoundException{

MeuObjeto m = (MeuObjeto) getHibernateTemplate().get(MeuObjeto.class,meu_id);

if (m == null) {

throw new MeuObjetoNotFoundException(Nao achei nada aqui);

} else {

return m;

}

}

}

pronto seu objeto agora é persistente, como vc pode perceber os templates de hb no spring facilitam bastante.
Espero nao ter confundido + do q ajudado :wink:

paradiso:
Estou fazendo alguns levamentos na empresa para saber quais tecnologias seriam mais adequadas para trabalar com banco de dados na web.
A principio, o que tinha sido definido era utilização do ejb. Ápos diversos problemas encontrados e a grande dificuldade de utilizar o ejb para coisas simples e se obter um resultado muito pequeno que não justifica o trabalho tedioso apesar do grande quantidade de materiais disponiveis na web podendo utilizar o hibernate ou spring e dependendo do caso o dao com menos esforço para obter o mesmo resultado.
A questão é: em que ponto o spring seria util para suprir alguma funcionalidade que o hibernate não possui ??? Noto que a cada dia cresce o numero de pessoas utilizando o hibernate com grande satisfação e a mesma coisa sobre o spring, mas as vezes notos algumas discussões sobre em que momento spring é mais eficiente que o hibernate.
Ainda sou um pouco leigo em certos aspectos relacionados a persistencia de dados e outros assuntos abordados. Não quero ser um desenvolvedor que simplesmente utiliza a tecnologia X porque todo mundo utiliza e tendo um grande trabalho para criar algo que de uma forma mais simples resolveria todos os problemas.
Gostaria também de saber se alguém puder me dar uma esclarecida sobre os pontos citados acima, pois prezo muito a reutilização e a facilidade de desenvolvimento e manutenção de qualquer aplicação sem sacrificios não justificados.
Atenciosamente,

Marco Paradiso

P

O grande problema é que se fala muito sobre persistencia de dados, mas ainda não consegui nada que pudesse me esclarecer ao certo as vantagens… tb não consegui entender o beneficios que o hibernate poderia me oferecer e em qual momento o spring seria fundamental…
A questão é que estou muito acostumado a trabalhar diretamente no jdbc, simplesmente rodo a query no postgres e colo na classe e pronto… li algo na java magazine sobre alguns caches que facilitariam a performance quando se tem uma grande quantidade de dados em uma tabela… vc poderia me ajudar nessa dúvida ???

Mauricio_Linhares

Que tão você começar estudando o Spring e o Hibernate?

http://www.springframework.org/

http://www.hibernate.org/

gono

O que vc faz usando JDBC tb é persistencia de dados.
O grande problema é que dessa forma vc acopla o seu DBMS (no caso o postgresql) ao seu codigo.O hibernate vem pra solucionar esse problema , mapeia seus objetos para um banco de dados relacional e caso um dia vc queira trocar de DBMS (de postgresql pra mysql ou oracle), vc pode trocar sem problemas, isso nao vai interferir no seu codigo!
O HB tem muitos outros recursos.
O hibernate é otimo pra persistencia de objetos.

Mas ele nao é solucao pra qq projeto . Se o projeto q vc vai fazer é muito simples e especifico (como um form q salva meia duzia de campos no BD) nao compensa usar hibernate.

paradiso:
O grande problema é que se fala muito sobre persistencia de dados, mas ainda não consegui nada que pudesse me esclarecer ao certo as vantagens… tb não consegui entender o beneficios que o hibernate poderia me oferecer e em qual momento o spring seria fundamental…
A questão é que estou muito acostumado a trabalhar diretamente no jdbc, simplesmente rodo a query no postgres e colo na classe e pronto… li algo na java magazine sobre alguns caches que facilitariam a performance quando se tem uma grande quantidade de dados em uma tabela… vc poderia me ajudar nessa dúvida ???

Criado 27 de julho de 2005
Ultima resposta 27 de jul. de 2005
Respostas 4
Participantes 3