-->
These old forums are deprecated now and set to read-only. We are waiting for you on our new forums!
More modern, Discourse-based and with GitHub/Google/Twitter authentication built-in.

All times are UTC - 5 hours [ DST ]



Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 
Author Message
 Post subject: GRRRR, Hibernate 3 with basics problems!
PostPosted: Wed Jun 07, 2006 3:06 pm 
Newbie

Joined: Wed Jul 28, 2004 8:03 am
Posts: 8
Location: Porto Alegre - Brazil
Hi all, I`m trying to use the hibernate 3 with annotations and I`m stoped in a basic and a simple problem (to me this is a basic without annotations), but now I`m trying to use it.

Well, let`s before to stacktrace:

Quote:
2006-06-07 15:48:13,828 [http-8080-Processor25 ERROR ExceptionInterceptor]: IllegalArgumentException occurred calling getter of org.javafree.enviador.model.Estado.estadoId; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of org.javafree.enviador.model.Estado.estadoId
org.springframework.orm.hibernate3.HibernateSystemException: IllegalArgumentException occurred calling getter of org.javafree.enviador.model.Estado.estadoId; nested exception is org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of org.javafree.enviador.model.Estado.estadoId
Caused by:
org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of org.javafree.enviador.model.Estado.estadoId
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:171)
at org.hibernate.tuple.AbstractEntityTuplizer.getIdentifier(AbstractEntityTuplizer.java:176)


.....


Quote:
Caused by: java.lang.IllegalArgumentException: object is not an instance of declaring class
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
at java.lang.reflect.Method.invoke(Unknown Source)
at org.hibernate.property.BasicPropertyAccessor$BasicGetter.get(BasicPropertyAccessor.java:145)
... 103 more



Ok, now I`ll show to you my classes:

Code:
package org.javafree.enviador.model;

import java.io.Serializable;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.OneToMany;
import javax.persistence.OrderBy;

@Entity
public class Estado extends Model implements Serializable {

   private static final long serialVersionUID = 1L;

   private Long estadoId;
   private String name;
   private String abrev;
   private List<User> users;
   private List<Vaga> vagas;
   private List<Vaga> empresasEstado;
   
   @Column(name="estado_id")
   @Id @GeneratedValue(strategy=GenerationType.AUTO)
   public Long getEstadoId() {
      return estadoId;
   }
   public void setEstadoId(Long estadoId) {
      this.estadoId = estadoId;
   }

   public String getAbrev() {
      return abrev;
   }
   public void setAbrev(String abrev) {
      this.abrev = abrev;
   }
   
   public String getName() {
      return name;
   }
   public void setName(String name) {
      this.name = name;
   }
   
   @OneToMany(mappedBy="estadoUser")
    @OrderBy("id desc")
   public List<User> getUsers() {
      return users;
   }
   public void setUsers(List<User> users) {
      this.users = users;
   }
   
   @OneToMany(mappedBy="vagaEstado")
    @OrderBy("dataCriacao desc")
   public List<Vaga> getVagas() {
      return vagas;
   }
   public void setVagas(List<Vaga> vagas) {
      this.vagas = vagas;
   }
   
   @OneToMany(mappedBy="empresaEstado")
    @OrderBy("dataCriacao desc")
   public List<Vaga> getEmpresasEstado() {
      return empresasEstado;
   }
   public void setEmpresasEstado(List<Vaga> empresasEstado) {
      this.empresasEstado = empresasEstado;
   }
   

   
}


And:

Code:
@Entity
@NamedQuery(name="user.QuickSearch",
      query="select u from User u where (u.area.areaId = :areaId and u.estadoUser = :estado) " +
            " and (u.areaDesejada like '%'||:key||'%' or " +
            " u.experiences like '%'||:key||'%' or u.expProfissional like '%'||:key||'%' or  " +
            " u.cursos like '%'||:key||'%' or u.infos like '%'||:key||'%')")

public class User extends Model implements Serializable {

   private static final long serialVersionUID = -2525920429794300046L;
   
   private Long id;
   private String fullName;
   private Date birthDate;
   private String gender;
   private String userName;
   private String password;
   private Estado estadoUser;
   private String cidade;
   private String email;
   private String foneCelular;
   private String foneResidencial;
   private String foneComercial;
   private String site;
   private String areaDesejada;
   private Area area;
   private String anosExperiencia;
   private int newsletter;
   private String experiences;
   private String expProfissional;
   private String escolaridade;
   private String cursos;
   private String infos;
   private Integer visualizacoes;
   
   public String getEmail() {
      return email;
   }
   public void setEmail(String email) {
      this.email = email;
   }
   
   @Column(name="user_id")
   @Id @GeneratedValue(strategy=GenerationType.AUTO)
   public Long getId() {
      return id;
   }
   public void setId(Long id) {
      this.id = id;
   }

   public String getPassword() {
      return password;
   }
   public void setPassword(String password) {
      this.password = password;
   }
   @Column(name="user_name")
   public String getUserName() {
      return userName;
   }
   public void setUserName(String userName) {
      this.userName = userName;
   }
   
   @Column(name="full_name")
   public String getFullName() {
      return fullName;
   }
   public void setFullName(String fullName) {
      this.fullName = fullName;
   }
   
   @Column(name="experience_years")
   public String getAnosExperiencia() {
      return anosExperiencia;
   }
   public void setAnosExperiencia(String anosExperiencia) {
      this.anosExperiencia = anosExperiencia;
   }
   
   @Column(name="wanted_area")
   public String getAreaDesejada() {
      return areaDesejada;
   }
   public void setAreaDesejada(String areaDesejada) {
      this.areaDesejada = areaDesejada;
   }
   @Column(name="city")
   public String getCidade() {
      return cidade;
   }
   public void setCidade(String cidade) {
      this.cidade = cidade;
   }
   @Column(name="courses")
   public String getCursos() {
      return cursos;
   }
   public void setCursos(String cursos) {
      this.cursos = cursos;
   }
   @Column(name="graduation")
   public String getEscolaridade() {
      return escolaridade;
   }
   public void setEscolaridade(String escolaridade) {
      this.escolaridade = escolaridade;
   }

   @Column(name="estado_id")
   @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
   @JoinColumn(name="estado_id", insertable=false, updatable=false)
   public Estado getEstadoUser() {
      return estadoUser;
   }
   
   
   public void setEstadoUser(Estado estadoUser) {
      this.estadoUser = estadoUser;
   }
   @Column(name="experiences")
   public String getExperiences() {
      return experiences;
   }
   public void setExperiences(String experiences) {
      this.experiences = experiences;
   }
   @Column(name="prof_experience")
   public String getExpProfissional() {
      return expProfissional;
   }
   public void setExpProfissional(String expProfissional) {
      this.expProfissional = expProfissional;
   }
   @Column(name="mobile_phone")
   public String getFoneCelular() {
      return foneCelular;
   }
   public void setFoneCelular(String foneCelular) {
      this.foneCelular = foneCelular;
   }
   @Column(name="business_phone")
   public String getFoneComercial() {
      return foneComercial;
   }
   public void setFoneComercial(String foneComercial) {
      this.foneComercial = foneComercial;
   }
   @Column(name="home_phone")
   public String getFoneResidencial() {
      return foneResidencial;
   }
   public void setFoneResidencial(String foneResidencial) {
      this.foneResidencial = foneResidencial;
   }
   @Column(name="additional_info")
   public String getInfos() {
      return infos;
   }
   public void setInfos(String infos) {
      this.infos = infos;
   }
   @Column(name="newsletter")
   public int getNewsletter() {
      return newsletter;
   }
   public void setNewsletter(int newsletter) {
      this.newsletter = newsletter;
   }
   @Column(name="site")
   public String getSite() {
      return site;
   }
   public void setSite(String site) {
      this.site = site;
   }

   @Column(name="birth_date")
   public Date getBirthDate() {
      return birthDate;
   }
   public void setBirthDate(Date birthDate) {
      this.birthDate = birthDate;
   }
   
   @ManyToOne( cascade = {CascadeType.PERSIST, CascadeType.MERGE} )
   @JoinColumn(name="area_id")
   public Area getArea() {
      return area;
   }
   public void setArea(Area area) {
      this.area = area;
   }
   public String getGender() {
      return gender;
   }
   public void setGender(String gender) {
      this.gender = gender;
   }
   public Integer getVisualizacoes() {
      return visualizacoes;
   }
   public void setVisualizacoes(Integer visualizacoes) {
      this.visualizacoes = visualizacoes;
   }
   
}


Take a look to relationship called "vagas", this works ok, but when I load the User entity, the exception was happen.

I`m bored with this exception, because I read all annotations documentation and my relationships are ok, I don`t know what I have to change to this damm it relationship works!

Hahaha..

Well, thanks a lot guys

_________________
Dalton Camargo
JEE Software Architect
JavaFree.org Founder
JavaBB.org Owner
Technical Revisor of Spring in Action the Book to Portuguese


Top
 Profile  
 
Display posts from previous:  Sort by  
Forum locked This topic is locked, you cannot edit posts or make further replies.  [ 1 post ] 

All times are UTC - 5 hours [ DST ]


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
© Copyright 2014, Red Hat Inc. All rights reserved. JBoss and Hibernate are registered trademarks and servicemarks of Red Hat, Inc.