Salve galera,
Seguinte, estou usando Criteria nas minhas consultas.
abaixo o meu codigo
Classe Trasmissao
@Entity
@Table(name = "transmissao")
public class Transmissao implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idtransmissao")
private Integer id;
@Column(name = "descricao")
private String descricao;
@JoinColumn(name = "equipamento_idequipamento", referencedColumnName = "idequipamento")
@ManyToOne(optional = false)
private Equipamento equipamento;
//GET's e SET's
}
Classe Equipamento
@Entity
@Table(name = "equipamento")
public class Equipamento implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idequipamento")
private Integer id;
@Column(name = "descricao")
private String descricao;
@JoinColumn(name = "modelo_idmodelo", referencedColumnName = "idmodelo")
@ManyToOne(optional = false)
private Modelo modelo;
//GET's e SET's
}
Classe Modelo
@Entity
@Table(name = "modelo")
public class Modelo implements Serializable {
private static final long serialVersionUID = 1L;
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "idmodelo")
private Integer id;
@Column(name = "descricao")
private String descricao;
//GET's e SET"s
}
Muito bem, eu quero fazer a seguinte pesquisa,
Pesquisar na tabela transmisao pelo modelo do equipamento, onde cada equipamento há um modelo.
Estou fazendo da seguinte maneira:
Criteria criteria = session.createCriteria(Transmissao.class);
criteria.add(Restrictions.eq("equipamento.modelo.id", equipamento.getModelo().getId()));
criteria.list();
Quando rodo a minha aplicação esta dando um erro dizendo que nao não achou o metodo “equipamento.modelo.id”.
Como que eu faço para realizar essa consulta.
Se fosse em HQL a minha consulta ficaria assim:
String hql = "select o from Transmissao as o where o.equipamento.modelo.id = :idModelo";
Valeu mais uma vez galera.