Inner Join no Hibernate

1 resposta
T

Estou começando a estudar Hobernate Annotations e estou com uma dúvida: Como fazer um "inner join" com Criteria?

Tenho a seguinte situação:

A regra seria: O Equipamento tem somente um Tipo e o Tipo pode ser de vários equipamentos

Classe Equipamento

<...>

@JoinColumn(name="idTipo")
@OneToOne(cascade=CascadeType.ALL)
private TipoEquipamento tipo;

<...Gets/Sets>

[code]

Classe Tipo

<...>

@OneToMany(cascade=CascadeType.ALL)
private List<Equipamento> equipamentos;

@Column
private String tipo;

<...Gets/Sets>

Eu precisava fazer algo assim... com Criteria

SELECT eq.tag, pt.tipo FROM preventiva_equipamento AS eq
	Inner 
		JOIN preventiva_equipamento_tipo AS pt
		ON(eq.tipo = pt.id)

Minha tentativa

Criteria criteria = dao.createCriteria(Equipamento.class).createCriteria("tipo",CriteriaSpecification.INNER_JOIN);
List<Equipamento> equipamentos = criteria.list();

//Pegar só o primeiro para teste
equipamento = equipamentos.get(0);
System.out.print("Tipo.: "+ equipamento.getTipo());

Estou precisando de umas dicas, ja tenho bastante material mas ainda não compreendi o funcionamento dos join' s

Grato

1 Resposta

T

Eis a resposta pra minha pergunta :

System.out.println("Tipo.: "+ equipamento.getTipo().getTipo();

Criado 3 de março de 2008
Ultima resposta 4 de mar. de 2008
Respostas 1
Participantes 1