Hibernate - "IllegalArgumentException occurred calling getter of[...]"

1 resposta
Nicolas_Fernandes

E aí, galerinha do GUJ!
Beleza?

Bom, eu tenho uma aplicação em .NET e estou migrando-a para JAVA.
Para a parte de persistência, resolvi usar o Hibernate: além de aprender mais sobre, é uma ótima ferramenta para persistência.

Bom, eu tenho duas classes de domínio: Funcionario e Situacao.
public class Funcionario implements Serializable {

    public long getHandle() { return handle; }
    public void setHandle(long handle) { this.handle = handle; }
    private long handle;

    public String getNome() { return nome; }
    public void setNome(String nome) { this.nome = nome; }
    private String nome;

    public TASituacao getSituacao() { return situacao; }
    public void setSituacao(TASituacao situacao) { this.situacao = situacao; }
    private TASituacao situacao;

    public Funcionario() { }
    public Funcionario(String nome) {
        this.nome = nome;
    }
    public Funcionario(long handle, String nome) {

        this.handle = handle;
        this.nome = nome;
    }

    @Override
    public String toString() {
        return getNome();
    }
}

//_________________________________________________________________________________________
public class Situacao implements Serializable {

    public long getHandle() { return handle; }
    public void setHandle(long handle) { this.handle = handle; }
    private long handle;

    public int getCodigo() { return codigo; }
    public void setCodigo(int codigo) { this.codigo = codigo; }
    private int codigo;

    public String getNome() { return nome; }
    public void setNome(String nome) { this.nome = nome; }
    private String nome;

    public Situacao() { }
    public Situacao(int codigo, String nome) {

        this.codigo = codigo;
        this.nome = nome;
    }
    public Situacao(long handle, int codigo, String nome) {

        this.handle = handle;
        this.codigo = codigo;
        this.nome = nome;
    }

    @Override
    public String toString() {
        return String.format("%s - %s", getCodigo(), getNome());
    }
}
Fiz o mapeamento via XML das duas classes: Funcionario...
<hibernate-mapping package="bibliotecarecursoshumanos.modelo.dominio">

   <class name="Funcionario" table="FUNCIONARIOS" schema="RH">
        <id name="handle" column="HANDLE">
            <generator class="native" />
        </id>

        <property name="nome" type="java.lang.String" column="NOME" length="50"></property>
        <many-to-one name="situacao" column="SITUACAO" class="bibliotecadados.modelo.dominio.Situacao" />
    </class>
    
</hibernate-mapping>
e Situacao...
<hibernate-mapping package="bibliotecadados.modelo.dominio">

   <class name="Situacao" table="SITUACOES" schema="RH">
        <id name="handle" column="HANDLE">
            <generator class="native" />
        </id>

        <property name="nome" type="java.lang.String" column="NOME" length="50"></property>
        <property name="codigo" type="java.lang.Integer" column="CODIGO"></property>

    </class>

</hibernate-mapping>
E me surgiu o seguinte erro:
GRAVE: IllegalArgumentException in class: bibliotecadados.modelo.dominio.Situacao, getter method of property: handle
org.hibernate.PropertyAccessException: IllegalArgumentException occurred calling getter of bibliotecadados.modelo.dominio.Situacao.handle
Não tenho a MÍNIMA ideia do que pode ser isso. Alguém sabe e poderia me dar uma força? Valeu, abraços!!

1 Resposta

Nicolas_Fernandes

Ninguém?

Criado 15 de agosto de 2011
Ultima resposta 15 de ago. de 2011
Respostas 1
Participantes 1