Bom dia Pessoal, estou trabalhando com o toplink
e surgiu um problema
vou demonstrar um exemplo :
public class Cliente implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_cliente")
private String idCliente;
@Column(name = "nome_cliente")
private String nomeCliente;
@OneToMany(mappedBy = "cliente")
private List<Endereco> enderecos;
e
public class Endereco implements Serializable {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name = "id_endereco")
private String idEndereco;
@ManyToOne
@JoinColumn(name = "id_cliente",referencedColumnName="id_cliente")
private Cliente cliente;
quando utilizo assim
ReadAllQuery queryLista = new ReadAllQuery(this.getClasse());
Expression expressao;
expressao = b.get(“idCliente”).equal(3);
ai quando eu peco para executar e tranquilo
retorna mais ou menos como: select * from NomeTabela where idCliente = 3
ate ai sem problemas
o problema esta quando tento mapear com chaves estrangeiras
vejamos em Endereco
tem um objeto do Tipo Cliente.
nao consigo filtrar, ou sej a, fazer um sql tipo “select * from Endereco where idCliente=2”;
ja tentei
expressao = b.get(“cliente.idCliente”).equal(2);
expressao = b.get(“Cliente.idCliente”).equal(2);
expressao = b.get(“id_cliente”).equal(2);
e todos retornam o erro
Exception Description: Invalid query key [cliente.idCliente] in expression.
Exception Description: Invalid query key [Cliente.idCliente] in expression.
Exception Description: Invalid query key [id_cliente] in expression.
o hibernate pelo menos eh assim…
alguem poderia me ajudar?