Olá, boa tarde!
Tenho uma dúvida para fazer consultas com a API Criteria.
Tenho três classes/entidades:
POJO:
Veiculo{marca, ano, modelo}
Cliente{ nome, cpf, Veiculo veiculo }
Anuncio{descricao, data, Cliente cli }
Sendo assim, um Anuncio tem um Cliente e o cliente tem um ou mais Veiculo a ser anunciado para venda.
minha dúvida é na busca com Criteria, eu quero buscar um anuncio por CPF do cliente e outra busca por marca do Veiculo, posso fazer assim?:
... Parte do código
Criteria criteria = session.createCriteria(Anuncio.class);
public void configureCriteria(Criteria criteria, SearchCriteria search) throws Exception{
if(criteria != null && search != null)
{
switch (search.getSearchType()) {
case SEARCH_BY_CPF:
criteria = criteria.createCriteria("cli");
criteria.add(Restrictions.eq("cpf", search.getValue()));
break;
case SEARCH_BY_MARCA:
criteria = criteria.createCriteria("cli");
criteria = criteria.createCriteria("veiculo");
criteria.add(Restrictions.like("marca", search.getValue().toString()));
break;
... mais consultas
Obs: é meu primeiro contato com essa API de consulta no banco de dados.
Muito Obrigado!