Estou com uma dúvida em como fazer uma consulta HQL.
Possuo o seguinte cenário:
A classe abaixo é uma view. Tenho a propriedade clienteReajusteValor, e dentro desta tenha a propriedade cliente. Preciso fazer o HQL para comparar o cliente passado com o cliente que está associado com clienteReajusteValor.
@Entity
@Table(name = "VW_BOF_REAJUSTES_EFETIVADOS")
public class ViewReajustesEfetivados extends AbstractEntity<String> implements Serializable {
private static final long serialVersionUID = 1L;
public ViewReajustesEfetivados() {
this.setManterValor(false);
}
@Id
@Column(name="ID")
private String id;
@ManyToOne
@JoinColumn(name="id_cliente_reajuste_valor")
private ClienteReajusteValor clienteReajusteValor;
}
Tentei assim mas não ta dando certo:
StringBuffer sql = new StringBuffer();
sql.append("select view");
sql.append(" from ViewReajustesEfetivados as view ");
sql.append(" inner join view.venda as v ");
if (search.getCliente() != null) {
sql.append(" inner join fetch view.clienteReajusteValor.cliente as cr ");
}
if (search.getCliente() != null) {
sql.append(" and cr.cliente = " +search.getCliente());
}