2013-02-04 19 views
5

सही एक कंटेनर प्रबंधित जेटीए लेनदेन के लेनदेन को वापस लाने का तरीका क्या है?जेटीए लेनदेन को सही तरीके से कैसे रोल करें?

मैं इसे समझता हूं: EJBException when calling entityManager.getTransaction() कि मुझे लेनदेन का उदाहरण नहीं मिल रहा है। मैंने एक समाधान here पढ़ा लेकिन मुझे यकीन नहीं है कि यह सही है या नहीं।

मुझे यह भी पता है कि, यदि मैं अपवाद फेंकता हूं, लेनदेन वापस लुढ़का जाएगा।

लेकिन मेरा सवाल यह है कि: यदि मैं EntityManager प्रबंधित कंटेनर का उपयोग करना चाहता हूं, तो इसके अंदर एक लेनदेन वापस करने का सही तरीका क्या है?

उत्तर

7

कोड Ranch पर asnwer सही है, तो आप का उपयोग करने के SessionContext

@Resource 
private SessionContext ctx; 

//and then in method 
if(fail) { 
    ctx.setRollBackOnly(); 
} 

भी इस article देखें है।

संबंधित मुद्दे