Estou com problema ao pesquisar por informações de um relacionamento utilizando Criteria.
public class Venda {
@ManyToOne
@JoinColumn(name="cliente")
private Cliente cliente;
}
public class Cliente {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(columnDefinition="SMALLINT(4) UNSIGNED ZEROFILL")
private int codigo;
private Boolean status;
}
Criteria para buscar todas as vendas de um determinado cliente, porém só busca esse valor se o cliente está ativo:
Criteria c = this.session.createCriteria(Venda.class);
c.add(Restrictions.eq("cliente.codigo", codigo))
.add(Restrictions.eq("cliente.status", Status.ATIVO));
//Status.ATIVO = true
Se eu pesquiso apenas pelo código funciona. Se eu pesquiso também pelo status diz que o campo não existe. Eu preciso fazer algum Join diferente?