Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

जेपीए में डीबी में सहेजी गई वस्तु के बाद आईडी कैसे प्राप्त करें?

JPA युक्ति इस बात की गारंटी नहीं देती है कि प्रदत्त निकाय वस्तु को सहेजने के बाद अद्यतन किया जाएगा। सहेजी गई जेपीए इकाई प्राप्त करने के लिए आपको save() . के रिटर्न वैल्यू का उपयोग करना होगा तरीका। उदाहरण के लिए, आपकी सेवा को इस तरह बदला जा सकता है:

@Service
public class ClaimDetailService {
    ...
    @Transactional
    public ClaimDetail saveClaimDetail(ClaimDetail claimDetail) {
        JpaRepository<ClaimDetail, Long> mailAuditLogLongJpaRepository = jpaRepositoryFactory.getRepository(ClaimDetail.class);
        return mailAuditLogLongJpaRepository.save(claimDetail);
    }
    ...
}

और आपका नमूना कोड होगा:

claimDetail.setActive(1);
claimDetail.setVersion(new Long(1));
claimDetail.setCreatedBy(new Long(1));
claimDetail.setCreatedDate(new Date());
ClaimDetail savedClaimDetail = claimDetailService.saveClaimDetail(claimDetail);
int temp = savedClaimDetail.getID()

साथ ही, हालांकि सीधे आपकी समस्या से संबंधित नहीं है, आपको स्प्रिंग डेटा रिपॉजिटरी बनाने की आवश्यकता नहीं है जिस तरह से आपने इसे किया है। JPARRepository का विस्तार करते हुए बस अपना स्वयं का इंटरफ़ेस बनाएं।



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या आप एक MySQL क्वेरी में किसी फ़ील्ड को विभाजित/विस्फोट कर सकते हैं?

  2. mysql सर्वर में स्थायी डिफ़ॉल्ट टाइमज़ोन कैसे सेट करें?

  3. सी # कनेक्टर/नेट के माध्यम से MySQL के साथ

  4. MySQL वाइल्डकार्ड =- क्या कोई है

  5. क्या MySQL में कुछ मानों के मोड (एस) को खोजने का कोई आसान तरीका है?