Hibernate - Relacionamento many-to-one

1 resposta
roassunca

Tenho o seguinte relacionamento: Item * - 1 Produto.
Quero instanciar um Item, setar o Produto e salvar o Item (o hibernate não deveria salvar automaticamente o Produto? – estou utilizando
cascade=”all”):



Item item = new Item();

item.setProduto(new Produto());

sessao.save(item);


porém o hibernate está fazendo um select em PRODUTO antes de inserir em PRODUTO… e gera o seguinte erro:
org.hibernate.PropertyValueException: not-null property references a null
or transient value…

qdo na realidade ele deveria inserir em PRODUTO, fazer um select em
PRODUTO para ler a chave (native) e inserir em ITEM.

eu até entendo o que está acontecendo, mas não estou conseguindo resolver o problema:
como no mapeamente (unidirecional) many-to-one eu coloquei not-null=”true” e o hibernate faz um select em PRODUTO antes de inserir em PRODUTO, ele não encontra o registro e gera a exceção PropertyValueException.

Alguém sabe como resolver este problema?

1 Resposta

emmanuel.silva

Você está trabalhando com EJB 2.1? Eu tinha essse mesmo problema quando estava trabalhando com EJB 2.1, agora migrei para o EJB 3.0 e esse problema está resolvido, ele está salvando os relacionamentos many-to-one com cascade.all

Criado 14 de julho de 2006
Ultima resposta 14 de jul. de 2006
Respostas 1
Participantes 2