Hibernate - Update em registro one-to-one

Dae Povo,

blz?
Seguinte comecei a pegar o Hibernate, até que to achando legal =D

Estou fazendo um relacionamento simples, a idéia é essa:

Tabela Capa

  • id
  • Produto_id
  • posicao

Tabela Produtos

  • id
  • nome
  • descricao

Seguinto a lógica, na tabela capa eu coloco os produtos que quero que apareçam na capa… Até aí tudo bem, em meu Capa.hbm.xml, fiz o seguinte:

[code]<hibernate-mapping>

<class name="bean.Capa" table="loja_capa">

	&lt;id name=&quot;id&quot; column=&quot;Produto_id&quot;&gt;
		&lt;generator class=&quot;foreign&quot;&gt;
			&lt;param name=&quot;property&quot;&gt;produto&lt;/param&gt;
		&lt;/generator&gt;			
	&lt;/id&gt;
    
    &lt;property name=&quot;posicao&quot; /&gt;
    
    &lt;one-to-one name=&quot;produto&quot; class=&quot;bean.Produto&quot; /&gt;

&lt;/class&gt;

</hibernate-mapping>[/code]

Funcionou perfeitamente, quando dou selects o objeto Produto, é perfeitamente preenchido, super legal =D

Mas, agora surgiu um perrengue, como eu faço para trocar o id de um produto na tabela Capa, já que o hibernate toma o campo Produto_id como indentificador?

Tipo:

[code]Capa c = new Capa();

Produto p = new Produto();
p.setId(3);
c.setProduto(p);

c.setPosicao(1);

sessionHibernate.update(c);[/code]

Nesse caso, o update trocaria o produto do registro com posicao 1, por o novo produto que eu setar… Mas não ta dando certo :???:

Alguém tem alguma dica?

Abraços!

Kara,

Tenta salvar primeiro o produto, e depois realizar o update em capa…

pelo que eu vi você está fazendo tudo no mesmo instante ne!

Abraços.