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
[code]
Classe Equipamento
<…>
@JoinColumn(name="idTipo")
@OneToOne(cascade=CascadeType.ALL)
private TipoEquipamento tipo;
<…Gets/Sets>
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