Hsql inner join

5 respostas
hvivox

Olá parceiros! Quero saber como fica a consulta abaixo em HSQL
SELECT col_nome, set_nome from colaborador inner join setor
on col_set_codigo = set_codigo;

Aproveitando a ajuda, gostaria de saber se o método a abaixo atende a consulta sitada o do inner join citada acima:

public List procurarPorNome() {
			session = ConnectDB.getInstance();		
			Transaction tx = session.beginTransaction(); 	
			
			/*Consulta para buscar os dados. (:) isto é para que o HQL
			 * identifique qual é o parametro de entrada  
			*/
			Query select = session.createQuery("FROM Colaborador inner join Setor on Colaborador.Col_codigo = Setor.Set_codigo");
			
			
			List list = select.list();
			
			tx.commit();
			session.close();
			
			return list;		
		}//fim

5 Respostas

hvivox

ninguem se habilita a me responder?

T

http://www.hibernate.org/hib_docs/v3/reference/en/html/queryhql.html#queryhql-joins

hvivox

De acordo com a referencia do Hibernate, na sentença do hsql não é preciso comparar a pk com a FK para realizar uma consulta com inner join.

CONSULTA FEITA COM SQL
SELECT col_nome, set_nome from colaborador inner join setor
on col_set_codigo = set_codigo;

CONSULTA FEITA COM HSQL
from colaborador inner join setor

repare que quel criar uma sentença usando o HSQL o mais proximo posivel do comando SQL mostrado acima

hvivox

Encontrei a seguinte consulta no manual de referencia do hibernate mas não consegui entender:

from Cat as cat inner join cat.mate as mate
left outer join cat.kittens as kitten

O que da pra entender da consulta acima é que o cat é uma tabela e o mate é uma coluna, mas o objetivo do join é juntar tabelas que tenham uma relação, não é? essa é minha duvida gostaria que alguém me explicasse a sitaxe do inner join em hsql

T

No caso da consulta com join sem explicitar as colunas, isso é feito para abreviar o caso mais comum e que é configurado no hbm.xml (você provavelmente deve ver isso no seu diagrama de banco de dados, onde os relacionamentos normalmente aparecem com setas).
Isso permite que você possa mudar o relacionamento (por exemplo, relacionar com outras colunas) no hbm.xml sem ter de mudar seu código.

Criado 11 de junho de 2008
Ultima resposta 12 de jun. de 2008
Respostas 5
Participantes 2