Mapeamento hibernate

aiii galera

nao ta dando certo um mapeamento aki e to precisando de ajuda

quero mapear duas tabelas com relacionamento OneToOne usando hibernate annotations

eu tenho uma tabela cadastro de documentos e vou ter varias tabelas ligado ao cadastro

ex:

1 Tabela Nota Fiscal - 1 Tabela Emitente
1 Tabela Nota Fiscal - 1 Tabela Destinatario

tentei mapear assim:

@Entity public class CadastroNF { @Id @GeneratedValue private long codigo; @OneToOne(cascade = CascadeType.ALL) @PrimaryKeyJoinColumn private Emitente emi; }

@Entity
public class Emitente
{
	@Id
	@GeneratedValue
	private long codigo;
	@Column(name="vlr", nullable=false)
	private double valorNota;

                 //vários outros atributos
}

criei a tabela pelo proprio hibernate e ele gerou duas tabelas…até ai, tudo bem porque era isso mesmo que eu queria

mas a tabela Cadastro só saiu com o campo código, enquanto a tabela Emitente gravou certinho os dados do emitente.
sÓ QUE cadastro deveria gravar a FK do Emitente, e não apareceu a FK na tabela cadastro…

dessa forma nao consigo relacionar as duas tabelas, já que emitente tb nao vai ter nenhuma fk de cadastro.

alguem consegue dizer aonde eu errei no mapeamento??? segui a documentacao do hibernate mas deu nisso dai hehehe

Você pode fazer o mapeamento tambem na tabela Emitente

@Entity public class Emitente { @Id @GeneratedValue private long codigo; @Column(name="vlr", nullable=false) private double valorNota; @OneToOne(cascade = CascadeType.ALL) private CadastrNF cadastro; //vários outros atributos }
Assim o hibernate cria as chaves estrangeiras nas duas tabelas.

deu certooo

agora o problema ta sendo na hora de fazer a consulta

olha o que to fazendo no meu backbean

List<Cadastro> lista = session.createCriteria("from CadastroNF").list(); for(Cadastro c : lista) { System.out.print(c.getCodigo()); System.out.print(c.getNome()); }

dá esse erro

Exception in thread "main" org.hibernate.MappingException: Unknown entity: from CadastroNF at org.hibernate.impl.SessionFactoryImpl.getEntityPersister(SessionFactoryImpl.java:548) at org.hibernate.impl.SessionImpl.getOuterJoinLoadable(SessionImpl.java:1584) at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1550) at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283) at Teste.main(Teste.java:32)

to pesquisando e todos os lugares falam que h problema no mapeamento no hibernet.cfg.xml

olha como fiz

[code]<?xml version='1.0' encoding='utf-8'?>

org.postgresql.Driver postgres jdbc:postgresql://localhost:5432/postgres postgres org.hibernate.dialect.PostgreSQLDialect [/code]

sendo que esse arquivo ta na raiz