Boa Tarde,
Tenho 2 classes
public class Pessoa implements Serializable {
private static final long serialVersionUID = 1L;
private Integer codigo;
private String nome;
private String sobrenome;
private String email;
private Endereco endereco;
/** ... getters e setters **/
}
e
public class Endereco implements Serializable {
private static final long serialVersionUID = 1L;
private String nomeLogradouro;
private String numero;
private String bairro;
private String cep;
private String cidade;
private String estado;
private String pais;
/** ... getters e setters **/
}
Fiz o mapeamento da classe Pessoa e testei (SELECT, INSERT, UPDATE e DELETE) somente com os campos dela e tudo funcionou perfeitamente, no entanto agora estou tentando relacionar com o Endereco conforme segue:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="Pessoa" table="pessoas">
<!-- ID da classe -->
<id name="codigo" column="codigo" type="java.lang.Integer">
<generator class="assigned"/>
</id>
<!-- Propriedades da classe -->
<property name="nome" column="nome" type="java.lang.String" />
<property name="sobrenome" column="sobrenome" type="java.lang.String" />
<property name="email" column="email" type="java.lang.String" />
<!-- Relacionamento da classe -->
<many-to-one name="endereco" class="Endereco" column="codigo_pessoa" cascade="all" unique="true"/>
</class>
</hibernate-mapping>
e
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN" "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
<hibernate-mapping>
<class name="Endereco" table="enderecos">
<!-- Propriedades da classe -->
<property name="nomeLogradouro" column="logradouro" type="java.lang.String" />
<property name="numero" column="numero" type="java.lang.String" />
<property name="bairro" column="bairro" type="java.lang.String" />
<property name="cep" column="cep" type="java.lang.String" />
<property name="cidade" column="cidade" type="java.lang.String" />
<property name="estado" column="estado" type="java.lang.String" />
<property name="pais" column="pais" type="java.lang.String" />
<!-- Relacionamento da classe -->
<one-to-one name="pessoa" class="Pessoa" property-ref="endereco"/>
</class>
</hibernate-mapping>
Ao estartar a aplicação ocorre o seguinte erro:
Exception in thread “AWT-EventQueue-0” org.hibernate.MappingException: An association from the table pessoas refers to an unmapped class: Endereco
at org.hibernate.cfg.Configuration.secondPassCompileForeignKeys(Configuration.java:1050)
at org.hibernate.cfg.Configuration.secondPassCompile(Configuration.java:1000)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1084)
A relacao das tabelas no Oracle eh a seguinte:
Tabela PESSOAS
CODIGO PK
… demais colunas
Tabela ENDERECOS
CODIGO_PESSOA FK
… demais colunas
Já pesquisei em todos os lugares e os exemplos que encontrei infelizmente não me fizeram enchergar onde esta o meu erro…
Att,