Fala pessoal,
Estou com um problema. Criei uma funcao no postgres e agora preciso chama-lá com o hibernate.
Acontece que eu uso o Criteria do Hibernate no meu projeto.
Como faço para chamar essa função???
A função e essa:
–Função para calcular a distância em metros
CREATE OR REPLACE FUNCTION distancia(latitude1 NUMERIC, longitude1 NUMERIC, latitude2 NUMERIC, longitude2 NUMERIC)
RETURNS DOUBLE PRECISION AS
$BODY$
SELECT 6371 * acos(
sin( radians($1) ) * sin( radians( $3 ))
+ cos( radians($1) ) * cos( radians( $3 )) * cos(radians($4) - radians($2)) )
as distance;
$BODY$
LANGUAGE sql IMMUTABLE
COST 100;
Exemplo de um método criado com o criteria:
public void salvar(Entidade entidade) {
Session sessao = HibernateUtil.getFabricaDeSessoes().openSession();
Transaction transacao = null;
try {
transacao = sessao.beginTransaction();
sessao.merge(entidade);
transacao.commit();
} catch (RuntimeException erro) {
if (transacao != null) {
transacao.rollback();
}
throw erro;
} finally {
sessao.close();
}
}