Hibernate - Update em registro one-to-one

0 respostas
lucasferreira

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:

<hibernate-mapping>
   
   <class name="bean.Capa" table="loja_capa">
       
		<id name="id" column="Produto_id">
			<generator class="foreign">
				<param name="property">produto</param>
			</generator>			
		</id>
        
        <property name="posicao" />
        
        <one-to-one name="produto" class="bean.Produto" />
    
    </class>
    
</hibernate-mapping>

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:

Capa c = new Capa();

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

c.setPosicao(1);

sessionHibernate.update(c);

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!

Criado 26 de março de 2007
Respostas 0
Participantes 1