वसंत जेपीए भंडार लेनदेन पर 1 त्वरित प्रश्न। मैं एक सेवा है जो व्यवहार के रूप में चिह्नित नहीं कर रहा है और कहता है वसंत जेपीए भंडार विधिवसंत जेपीए भंडार लेनदेन
userRegistrationRepository.deleteByEmail(email);
है और यह समस्या यह है कि यह वास्तविक लेन-देन के साथ "के साथ नहीं EntityManager विफल रहता है
@Repository
public interface UserRegistrationRepository extends JpaRepository<UserRegistration, Long> {
UserRegistration findByEmail(String email);
void deleteByEmail(String email);
}
के रूप में परिभाषित किया गया है वर्तमान धागे के लिए उपलब्ध - विश्वसनीय रूप से 'हटाएं' कॉल को संसाधित नहीं कर सकता; नेस्टेड अपवाद javax.persistence.TransactionRequiredException "अपवाद है।
ठीक है, मैं यह सेवा याdeleteByEmail (..) व्यवहार के रूप में विधि चिह्नित करके हल कर सकते हैं, लेकिन मैं अभी नहीं समझ सकता क्यों यह अब दुर्घटनाओं। स्प्रिंग प्रलेखन स्पष्ट रूप से बताता है कि "भंडार उदाहरणों पर सीआरयूडी विधियां डिफ़ॉल्ट रूप से लेनदेनत्मक हैं।" (http://docs.spring.io/spring-data/jpa/docs/current/reference/html/#transactions), लेकिन स्पष्ट रूप से यह कोई नहीं है ... तो क्या यह कथन CrudRepository
के सदस्यों से संबंधित है?
पुनश्च: उस के लिए स्प्रिंग डाटा जेपीए 1.9.4