EntityManager.find() is supposed to return null when the entity is not in the 
DB.

This works except under this condition.  I'm seeing this in a unit test of 
mine, hence the odd use-case (I'm deleting the resource and then immediately 
trying to find it again), but it does seem like its not behaving properly in 
that case.

Do this to replicate:

Pojo pojo = new Pojo();
  | entityManager.persist(pojo);
  | int id = pojo.getId();
  | entityManager.remove(pojo);
  | assert entityManager.find(Pojo.class, id) == null; // this throws exception

find() should return null in this case, but I get this exception:

javax.persistence.EntityNotFoundException: 
org.hibernate.ObjectDeletedException: The object with that id was deleted: 
[Pojo#506554]
  |     at 
org.hibernate.ejb.AbstractEntityManagerImpl.throwPersistenceException(AbstractEntityManagerImpl.java:564)
  |     at 
org.hibernate.ejb.AbstractEntityManagerImpl.find(AbstractEntityManagerImpl.java:168)
  | ...

I was wondering if anyone else sees this, and if its truly the way its designed 
to work.  Again, it is an odd use case and one I'm only using in a unit test so 
I'm not worried about it.  Wasn't sure if I should JIRA this or not.


View the original post : 
http://www.jboss.com/index.html?module=bb&op=viewtopic&p=4043551#4043551

Reply to the post : 
http://www.jboss.com/index.html?module=bb&op=posting&mode=reply&p=4043551
_______________________________________________
jboss-user mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/jboss-user

Reply via email to