XAトランザクションを使用してSQLServer2005でJBoss6、JPA(Hibernate)を使用しています。クエリとストアドプロシージャを実行できますが、特定のストアドプロシージャを独自のトランザクション(一種)で実行しようとしています。つまり、ストアドプロシージャが失敗したりエラーを返したりした場合、ストアドプロシージャによって行われた変更はロールバックする必要がありますが、entityManager.persist()などの他のクエリによって行われた変更はロールバックしないでください。
ストアドプロシージャ自体でBEGINTRANSACTION、ROLLBACKなどを試しましたが、トランザクションが存在しないというJDBCエラーが発生します。
どうすればこれを達成できますか?独自のトランザクションでストアドプロシージャを実行しますか?(方法はわかりません)
助けてくれてありがとう