यह स्प्रिंग डेटा जेपीए के साथ एक मुद्दा है। यदि डीबी में डेटाटाइप को बिगइंटर के रूप में परिभाषित किया गया है और जेपीए क्वेरी में हम लॉन्ग के रूप में लाने की कोशिश करते हैं तो यह कोई त्रुटि नहीं देगा, लेकिन यह लॉन्ग डेटाटाइप में बिगइंटर के रूप में मान सेट करता है।
समाधान:
-
बिगइंटर . का प्रयोग करें वापसी प्रकार के रूप में
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<BigInteger> testMethod();
फिर वेरिएबल को नीचे के रूप में सेट करें।
Long variable = bigIntegerValue.longValue();
-
स्ट्रिंग का प्रयोग करें वापसी के रूप में टाइप करें और लॉन्ग में कनवर्ट करें
@Query(value = "select distinct(oid) from unit", nativeQuery = true) List<String> testMethod();
फिर मान को
. के रूप में सेट करेंLong variable = Long.valueOf(stringValue);
-
डीबी कॉलम प्रकार बदलें पूर्णांक/संख्या के लिए।
-
इकाई . से मान प्राप्त करें वस्तु।
Long variable = dpConfigData.getOid();
जहां
dpConfigData
इकाई का उद्देश्य है (DpConfigData.class)