GUJ
Notícias, artigos e o maior fórum brasileiro sobre Java
home
fórum
notícias
tópicos recentes
empregos
artigos
Bem-vindo ao GUJ.
Crie seu login
, ou digite-o para logar no site.
Usuário:
Senha:
Problema Com Criteria
Índice dos Fóruns
»
Desenvolvimento Web
Autor
Mensagem
28/12/2006 18:52:21
Assunto:
Problema Com Criteria
zepunk
JavaTeenager
Membro desde: 24/05/2005 11:57:28
Mensagens: 198
Localização: Osasco
Offline
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.
Perseverança sozinha não ganha guerra, só palavras não conquistam um coração.
28/12/2006 19:07:23
Assunto:
Re:Problema Com Criteria
marciobarroso
Virtual Machine Man
Membro desde: 13/05/2005 23:17:13
Mensagens: 508
Localização: Barueri / SP / BR
Offline
Vc precisa criar um alias :
Criteria criteria = this.session.createCriteria(Importacao.class); criteria.createAlias("veiculo", "v"); criteria.add(Expression.eq("placa", placa)) criteria.add(Expression.eq("v.cor","Preta")) criteria.addOrder(Order.desc("id")) criteria.setMaxResults(1) return criteria.uniqueResult();
Ao invés de chamar "veiculo.cor" vc usa "v.cor" ...
testa ai e diga se funcioona
28/12/2006 20:15:08
Assunto:
Re:Problema Com Criteria
zepunk
JavaTeenager
Membro desde: 24/05/2005 11:57:28
Mensagens: 198
Localização: Osasco
Offline
Muito obrigado.
Funcionou.
Value...
Perseverança sozinha não ganha guerra, só palavras não conquistam um coração.
Índice dos Fóruns
»
Desenvolvimento Web
Ir para:
Selecione um Fórum
Notícias
Assuntos gerais (Off-topic)
MundoJ - Artigos, Notícias e Debates
Artigos e Tutoriais
Java Básico
Java Avançado
Ferramentas, Frameworks e Utilitários
Desenvolvimento Web
Interface Gráfica
Google Android e Java Micro Edition (ME)
Certificação Java
Persistência: Hibernate, JPA, JDBC e outros
Java Enterprise Edition (Java EE)
Frameworks e Bibliotecas brasileiros
RIA - Flex, JavaFX e outros
Arquitetura de Sistemas
Metodologias de Desenvolvimento e Testes de Software
JavaScript
Ruby & Ruby on Rails
Outras Linguagens
Powered by
JForum 2.1.8
©
JForum Team