Win a copy of Design for the Mind this week in the Design forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Entity Manager Remove Operation

 
Khaled Mahmoud
Ranch Hand
Posts: 361
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi all,

According to the EntityManager interface documentation, the remove operation will throw an exception if the passed entity reference is a detached entity.


@throws IllegalArgumentException if not an entity
* or if a detached entity

public void remove(Object entity);


The find and getReference methods will return a detatched entity, also mentioned in the EntityManager documentaion if invoked in a transaction scoped entity manager.

My question is Can I remove an entity using the remove method in a transaction scoped entity manager.

Thanks in advance.
 
Mirko Bonasorte
Ranch Hand
Posts: 244
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,

I'm not skilled at all about scbcd5, but it seems to me that the paragraph of the specification speaks about the requirement to invoke getReference/find inside a transaction: you are not required to call find/getReference inside a transaction, and, in case of transaction-type persistence context, out of a transaction all the objects are detached.

Hope this helps...
 
Khaled Mahmoud
Ranch Hand
Posts: 361
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
Hi,
I think what is meant by "The resulting entity will be detached"
is when the transaction ends. But during the transaction, the
returned entity reference is still managed.
 
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic