I am encountering a problem and wanted to find out if it is really a problem or if I am doing something stupid.
I have a SessionBean which is marked TX_REQUIRED so a Transaction gets created upon the invocation of a method. I have an EntityBean which also is marked TX_REQUIRED, and will only be called from within the SessionBean.

My problem: Within the session bean, I need to talk to the EntityBean, so I go and get the reference, via a Finder. In my ejbFindByPK, I throw an ObjectNotFoundException and inside the SessionBean I catch an Exception, only it is not the ONFE, but it is a TransactionRolledBackException. It appears that the container is catching the ONFE, rolling back the exception, and then throwing the TRBE.

Is this the correct behavior? If so, any patterns on getting around it? If not found, I want to be able to deal with it in the SessionBean, not rollback the transaction.