The container will not passivate entity beans ... if they are in a transaction.
I used to think this was true, until I read a surprising passage in the spec [section 10.5.1, pg 169]:
The container can chose to passivate an entity bean within a transaction.
This may seem odd, but when you think about it, this can work for an entity bean. The container can do an ejbStore without doing a commit; the data is just hanging around on the server waiting for the commit at the end of the transaction, so the entity bean instance really isn't needed any longer.