Я видел это раньше, когда EJB1 вызывает EJB2, который вызывает обратно к EJB1 внутри контейнера как часть той же транзакции.
Вы можете указать контейнеру разрешить это, пометив EJB1 как входящий, что позволит к нему обращаться несколько раз в одной транзакции.
Это делается в дескрипторе развертывания со следующим тегом:
<reentrant>True</reentrant>
Должна быть соответствующая аннотация EntityEJB, которую XDoclet может использовать для ее генерации.