When you execute the JPA query TopLink is flushing the previous changes to the database but does not commit the transaction. Only the transaction controller can commit the transaction. What datasource are you connecting to? Is it a managed datasource?
Your past paragraph mentions calling from one SessionBean to another. Is it possible that the transaction settings are set in such a way that these calls are creating alternate transactions? Are you using UserTransactions ? Have you attempted to use a UserTransaction ?
--Gordon
[Message sent by forum member 'gyorke' (gyorke)]
http://forums.java.net/jive/thread.jspa?messageID=212156