Estou usando o Hibernate, e tenho algumas dúvidas, li alguns artigos etc… mas…
Na estrutura SQL, exemplo:
private SessionFactory factory;
.
.
.
.
public List getListaProdutos(String condicaoQueEstouFalando) throws Exception{
Session session = factory.openSession();
List produtos = session.find(condicaoQueEstouFalando);
session.flush();
session.close();
return produtos;
}
o Hibernate tem uma própria, como se fosse a pl/sql da Oracle.
Onde eu encontro a lista disso.? Quero tirar mais vantagens em minhas querys.
Outra coisa:
E se um dia eu precisar fazer uma mudança, exilar o Hibernate (no bom sentido da palavra, )…
Terei que refazer todo o SQL.
Há como usar o SQL puro, ou no caso do Oracle (se eu usar como banco).
O que é usado.?
Quem usa o Hibernate, o que me falam?
Como devo me desenvolver…?
Podem me instruir.
Se você precisar fazer uma busca com HQL, dê uma olhada na documentação do hibernate:
http://hibernate.org/hib_docs/reference/en/html_single/#queryhql
[quote=“terra_jr”]o Hibernate tem uma própria, como se fosse a pl/sql da Oracle.
Onde eu encontro a lista disso.? Quero tirar mais vantagens em minhas querys.[/quote]
Exatamente. O Hibernate possui uma poderosa linguagem muito parecida com SQL. A grande diferança é que a HQL é orienta a objetos, permitindo utilizar herança, polimorfismo e associações.
http://www.hibernate.org/hib_docs/reference/en/html/queryhql.html
[quote=“terra_jr”]Outra coisa:
E se um dia eu precisar fazer uma mudança, exilar o Hibernate (no bom sentido da palavra, )…
Terei que refazer todo o SQL.
Há como usar o SQL puro, ou no caso do Oracle (se eu usar como banco).[/quote]
Se você utilizar a API Criteria não ficará preso ao SQL, pois todo o SQL será gerado pelo Hibernate. A desvantagem de utilizar a Criteria API é que ela é menos poderosa do que a HQL, ela não suporta projeções e agregações.
http://www.hibernate.org/hib_docs/reference/en/html/querycriteria.html
Tem algo que nao entendi bem, talvez porque nao tenha usado, entao fico com duvidas em quais as vantagens no funcionamento.
Em java vejo muito claramente a importancia e vantagem disso, mas em instrucoes SQL.s…
Li algo sobre isso…
Polimorfismo e herancas em instruções? Onde e como poderei usar isso nas instruções?
podem por favor, coloca um exemplo, mas bem simples mesmo disso?
vc esta com duvidas nos beneficios do hibernate ou simplesmente da HQL???
em relação ao hibernate, eh incrivel vc manipular objetos e não aquele monte de result set e queries no seu codigo…o famoso CRUD fica muito facil…o cara ja tem os metodos .save(), .saveOrUpdate(), .load(), .list(), etc…para o desenvolvedor, fica mais claro o banco, ja q vc faz um FROM Objeto, e não FROM Tabela…
mas se na sua estrutura for necessário o uso de PROCs, vc pode chama-las pelo hibernate tb…e popular o resultado em Objetos…
se falar q um mapeamento bem feito, facilita tudo, por exemplo, vc tem um relacionamento 1…N, quando vc faz um .load() do lado 1, se vc quiser o proprio hibernate inicializa a collection do lado N, e ela ja fica ali, pronta pra ser usada…
putz, eu poderia ficar um tempão falando bem do hibernate, sou fã, hehehehehehe
em relação a HQL, vc utiliza quando as opções dos métodos ja prontos não te atendem…sempre usando OO…e mesmo assim se vc não conseguir fazer o q quer utilizando HQL, vc pode ir para o bom e velho SQL, uma vez num projeto fui obrigado a utilizar recursos especificos do banco, e tive q usar SQL…
espero ter ajudado…
flw