Olá pessoal estou gerando uma pesquisa com o critéria e quando eu pesso pera executar me lança a seginte exeption
could not resolve property: veiculo.cor of: Exception in thread "main" org.hibernate.QueryException: could not resolve property: veiculo.cor of: br.com.conseda.autorisco.model.Importacao
Meu relacionamente é @OneToOne
@Entity
@Table(name="tblImportacao")
public class Importacao {
private Integer id;
private String placa;
private Veiculo veiculo;
@OneToOne(fetch = FetchType.EAGER, mappedBy="importacao")
@JoinColumn(name="IDCONSULTA")
public Veiculo getVeiculo() {
return veiculo;
}
@Id
@GeneratedValue
@Column(name="IDCONSULTA")
public Integer getId() {
return id;
}
@Column(name="Placa")
public String getPlaca() {
return placa;
}
}
@Entity
@Table(name = "tblVeiculo")
public class Veiculo {
private Integer id;
private String cor;
private Importacao importacao;
@Column(name = "Cor")
public String getCor() {
return cor;
}
@Id
@Column(name = "IDCONSULTA")
public Integer getId() {
return id;
}
@OneToOne(fetch = FetchType.EAGER)
@JoinColumn(name = "IDCONSULTA")
public Importacao getImportacao() {
return importacao;
}
}
Na minha classe Dao quando referencio o atributo de veículo ele lança exceção.
public Importacao pesquisarByPlaca(String placa) {
return (Importacao) this.session.createCriteria(Importacao.class)
.add(Expression.eq("placa", placa))
.add(Expression.eq("veiculo.cor","Preta"))
.addOrder(Order.desc("id"))
.setMaxResults(1)
.uniqueResult();
}
porém este código funciona.
public Importacao pesquisarByPlaca(String placa) {
return (Importacao) this.session.createCriteria(Importacao.class)
.add(Expression.eq("placa", placa))
.addOrder(Order.desc("id"))
.setMaxResults(1)
.uniqueResult();
}
Alguém poderia me dizer o que esta acontecendo ???
Obrigado a todos.