hibernate - Deleting a child entity in a One-To-Many relationship with inheritance throwing deleted entity passed to persist exception -


good morning.

i've been struggling problem 2 day's now. here model :

parent :

@entity @table(name="bandeira") @sequencegenerator(name = "sq_band_sq_bandeira", sequencename = "sq_band_sq_bandeira", allocationsize = 1) public class bandeira extends abstractentidade implements serializable {     ...     private list<observacaobandeira> itensobservacao = new arraylist<observacaobandeira>();     ...      @onetomany(cascade = cascadetype.all,              fetch = fetchtype.lazy,             mappedby = "bandeira" )     @cascade(org.hibernate.annotations.cascadetype.delete_orphan)     public list<observacaobandeira> getitensobservacao() {     return itensobservacao;     }   } 

child :

@entity @table(name = "observacao_bandeira") @sequencegenerator(name = "sq_obba_sq_observacao", sequencename = "sq_obba_sq_observacao", allocationsize = 1) @discriminatorcolumn(name=observacaobandeira.observacao_bandeira_tipo) @inheritance(strategy = inheritancetype.joined) @discriminatorvalue(observacaobandeira.bandeira) public class observacaobandeira extends abstractentidade implements serializable {      static final string bandeira = "0"; // observacaobandeiratipo.bandeira;      static final string observacao_bandeira_tipo = "obba_in_tipo_observ_bandeira";      private static final long serialversionuid = -2835835990963971955l;      private long idobservacaobandeira;     private string observacao;     private **bandeira bandeira**;     private observacaobandeiratipo observacaobandeiratipo;         ....          @manytoone     @joincolumn(name = "band_sq_bandeira", nullable = false)     public bandeira getbandeira() {         return bandeira;     }   @entity @discriminatorvalue(observacaomovimentacaoduto.movimentacao_mistura_orgao) @table(name = "observacao_movimentacao_duto") public class observacaomovimentacaoduto extends observacaobandeira implements serializable {      private static final long serialversionuid = 6781122676850797573l;      static final string movimentacao_mistura_orgao = "2";       private movimentacaoduto movimentacaoduto;      public observacaomovimentacaoduto() {         super(observacaobandeiratipo.movimentacao_mistura_orgao);     }      public observacaomovimentacaoduto(bandeira bandeira, movimentacaoduto movimentacaoduto, string observacao) {         super(observacaobandeiratipo.movimentacao_mistura_orgao, bandeira, observacao);         this.movimentacaoduto = movimentacaoduto;     }      @onetoone     @joincolumn(name = "modu_sq_movimentacao_duto", nullable = false)     public movimentacaoduto getmovimentacaoduto() {         return movimentacaoduto;     }      public void setmovimentacaoduto(movimentacaoduto movimentacaoduto) {         this.movimentacaoduto = movimentacaoduto;     } 

}

i'm trying delete "observacaomovimentacaoduto" bandeira entity.

i tried possible known ways(at least me).

  • simply removing collection
  • removing collection , calling entitymanager.remove()
  • removing from collection, setting parent entity null , removing calling entitymanager.remove()
  • removing collection, setting parent null , persisting parent entity

here recent code @ controller :

public void removerobsbandeira(actionevent event) {         observacaobandeira obs = (observacaobandeira) event.getcomponent().getattributes().get("obs");          observacaobandeira obstodelete = servico.findbyid(new observacaobandeira() , obs.getidobservacaobandeira());          bandeira bandeira = obstodelete.getbandeira();          bandeira.getitensobservacao().remove(obstodelete);          //obstodelete.setbandeira(null);         servico.remover(obstodelete);         //servico.remover(obstodelete);            //obs = servico.persistir(obs);         //servico.remover(obs);         servico.atualizar();         this.cenarioselecionado.getbandeira().getitensobservacao().remove(obstodelete);     } 

other relevant information :

  • spring 2.5.x
  • jpa 1.0
  • hibernate 3.3.2.ga
  • application server weblogic 11

thanks in advance help.


Comments

Popular posts from this blog

php - Why I am getting the Error "Commands out of sync; you can't run this command now" -

linux - Does gcc have any options to add version info in ELF binary file? -

java - Are there any classes that implement javax.persistence.Parameter<T>? -