क्वेरी (हाइबरनेट) में एकाधिक SELECT NEW
स्टेटमेंट्स रखने का कोई तरीका है?एकाधिक चयन के साथ जेपीए कन्स्ट्रक्टर एक्सप्रेशन
यह मेरे लिए काम करता है:
@Query("SELECT NEW com.test.project.dto.ItemService(g,s,l,r) "
+" FROM Item g, Service s, Service l , Service r"
+" WHERE s.id = g.id"
+" AND s.location = l.name"
+" AND s.serviceType = 'type'"
+" AND l.serviceType = 'Location'"
+" AND l.area = r.name"
+" AND r.serviceType = 'Region'")
public List<Item> getAllItemsWithServices();
मैं अपने DTO
में अपेक्षित परिणाम मिलता है।
@Component
public class ItemServiceDTO{
private Item item;
private Service serviceType;
private Service serviceLocation;
private Service serviceRegion;
public ItemServiceDTO(item item, Service serviceType, Service serviceLocation, Service serviceRegion) {
super();
this.item = item;
this.serviceType = serviceType;
this.serviceLocation = serviceLocation;
this.serviceRegion = serviceRegion;
}
लेकिन क्या मैं चाहता हूँ अपने contructor साथ Language
का एक नया उदाहरण है।
इस तरह उदाहरण के लिए:
@Query("SELECT NEW com.test.project.dto.ItemService(g,s,l,r), new LanguageDTO()"
+" FROM Item g, Service s, Service l , Service r"
या ItemService
@Query("SELECT NEW com.test.project.dto.ItemService(g,s,l,r, new LanguageDTO())"
+" FROM Item g, Service s, Service l , Service r"
मैं भी रुचि का एक subselect में Map
और मेरे डीटीओ वस्तुओं में List
का उपयोग करने में, लेकिन मैं thats संभव नहीं पढ़ा है? क्या वह सही है?
दो स्प्रिंग बूट एप्लिकेशन दो उदाहरणों का उपयोग करते समय त्रुटियों से शुरू होता है।
अंत में मैं चाहता हूँ Map<List<Item>,Map<List<LanguageDTO>,List<ItemServiceDTO>>> map;
आपका जेपीए प्रदाता क्या है (यानी एक्लिप्ससेंक, हाइबरनेट)? – Ish
क्षमा करें, इसकी हाइबरनेट – Patrick
हैलो। मैं नए ऑपरेटर का उपयोग करने की कोशिश कर रहा हूं लेकिन थोड़ा संसाधन ढूंढ रहा हूं। प्रश्न: क्या आप एक जेपीए रेपो इंटरफ़ेस बनाते हैं और यह कथन देते हैं: सार्वजनिक सूची- getAllItemsWithServices(); उस में रेपो? एक पूर्ण उदाहरण के लिए एक उदाहरण या संदर्भ की अत्यधिक सराहना की जाएगी। धन्यवाद –
jscriptor