Win a copy of Mesos in Action this week in the Cloud/Virtualizaton forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

javax.persistence.EntityNotFoundException: deleted entity passed to persist

 
Laura Barroso
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi, I have a OneToMay relationship in my project, and when I try to remove the side that holds the collection this exception arise:
javax.persistence.EntityNotFoundException: deleted entity passed to persist: [org.desoft.dcp.ag.entity.Block#<null>]
at org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:598)
at org.hibernate.ejb.AbstractEntityManagerImpl$1.beforeCompletion(AbstractEntityManagerImpl.java:513)
at com.arjuna.ats.internal.jta.resources.arjunacore.SynchronizationImple.beforeCompletion(SynchronizationImple.java:101)
at com.arjuna.ats.arjuna.coordinator.TwoPhaseCoordinator.beforeCompletion(TwoPhaseCoordinator.java:269)

This is my code:
The first class has this code for the relation:

@OneToMany(mappedBy="block",fetch=FetchType.EAGER,cascade=CascadeType.ALL)
public Set<Field> getFields() {
return fields;
}

And the second:
@ManyToOne(optional = false)
@JoinColumns({
@JoinColumn(name = "enterprise_id", referencedColumnName = "enterprise_id", insertable = false, updatable = false),
@JoinColumn(name = "block_id", referencedColumnName = "block_id", insertable = false, updatable = false)
})
public Block getBlock() {
return block;
}

 
Laura Barroso
Ranch Hand
Posts: 30
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
working around this I have the idea of remove the entity through a query...this is my code:
String query="delete from Block block where block.blockPK.blockId='"+blockPk.getBlockId()+" ' and block.blockPK.enterpriseId=' "+ blockPk.getEnterpriseId()+" ' ";
application.getDataService().executeQuery(query, 1);

BlockPk represents my primary key...the problem now is this exception:

Caused by: javax.ejb.EJBException: java.lang.IllegalStateException: org.hibernate.hql.QueryExecutionRequestException: Not supported for DML operations [delete from org.desoft.dcp.ag.entity.Block block where block.blockPK.blockId='h' and block.blockPK.enterpriseId='cea']
at org.jboss.ejb3.tx.Ejb3TxPolicy.handleExceptionInOurTx(Ejb3TxPolicy.java:77)
at org.jboss.aspects.tx.TxPolicy.invokeInOurTx(TxPolicy.java:83)
at org.jboss.aspects.tx.TxInterceptor$Required.invoke(TxInterceptor.java:190)
at org.jboss.aop.joinpoint.MethodInvocation.invokeNext(MethodInvocation.java:102)

could anyone help me ,please!!!
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic