2012-09-04 8 views
9

नीचे कोड मुझे अपनी क्वेरी के परिणाम प्राप्त करने में असमर्थ हूँ का उपयोग देता है। चाहे मैं Map<ContentType... या Map<String... का उपयोग मैं एक ही त्रुटि मिलती है: javax.persistence.NonUniqueResultException: परिणाम एक से अधिक तत्वोंजेपीए भंडार: javax.persistence.NonUniqueResultException: परिणाम एक से अधिक तत्वों

ऐसा लगता है जेपीए की तरह डेटा संग्रह स्थान में अनेक पंक्तियों को संभालने के लिए सक्षम होना चाहिए देता है। मैं अन्य एनोटेशन कि मैं सिर्फ अनुपलब्ध हो सकता है और एक कठिन समय परिणामों के साथ आ कर रहा हूँ के लिए चारों ओर देखा है।

मुझे क्या करना चाहिए पर कोई सुझाव इस मामले के निपटारे के लिए?

@Transactional 
public interface ContentRepository extends JpaRepository<Content,Integer>{ 

    .... 

    @Query(nativeQuery=true, value="SELECT content_type, COUNT(*) AS myColumn FROM dbo.content GROUP BY content_type") 
    Map<ContentType, Integer> getContentCountByType(); 

} 
+2

शुरुआत के लिए में अपने मॉडल रखने के लिए, यह न सिर्फ जेपीए है, यह वसंत डाटा जेपीए तरह दिखता है। – madth3

उत्तर

5

ऐसा प्रतीत होता है समस्या यह थी कि कि Map<ContentType, Integer>, एक अद्वितीय सूचकांक के वादे नहीं है तो जेपीए इसे करने के लिए मानचित्रण पसंद नहीं है। बजाय List<Map<ContentType, Integer>> का उपयोग करके, यह बहुत अच्छा काम करता है!

0

इस प्रयास करें यह

काम करता है सूची

@RequestMapping(value="/deleteDriver/{id}" , method=RequestMethod.POST) 
public ResponseEntity<Object> deleteDriver(@PathVariable("id") Integer id) 
{ 
    List<Driver> delete_driver=adminService.getDriverById(id); 
    Map<String,Object> response=new HashMap<>(); 


    if(delete_driver==null) 
    { 
     response.put("status", "Failure"); 
     return new ResponseEntity<Object>(response,HttpStatus.NO_CONTENT); 
    } 
    else 
    { 
     response.put("status", "Success"); 
     adminService.delete(delete_driver); 
     return new ResponseEntity<Object>(response,HttpStatus.OK); 
    } 

} 

then in your repository

@Override 
public void delete(List<Driver> delete_driver) { 

    driverRepository.delete(delete_driver); 
} 
संबंधित मुद्दे