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.
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());
}
}
<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>
<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>
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