मेरे पास 7 टेबल को पार करने वाली जटिल क्वेरी है और यह जानना है कि इसे हाइबरनेट के अंदर कैसे कार्यान्वित किया जाए।हाइबरनेट - एकाधिक टेबल्स से कॉम्प्लेक्स क्वेरी एक ऑब्जेक्ट
मेरे वर्तमान प्रयास session.createSQLQuery और मैं का उपयोग कर एक विशेष इकाई के लिए परिणाम नक्शा होगा क्वेरी बनाने के लिए है।
मैं कैसे करना है यह सुनिश्चित करें कि अतीत में के रूप में मैं केवल एक संस्था के लिए एक मेज के साथ काम किया है नहीं कर रहा हूँ। मुझे यह निर्दिष्ट करने की आवश्यकता होगी कि मैं एक जटिल क्वेरी का उपयोग करना चाहूंगा जो एकाधिक तालिकाओं को फैला सकता है? क्या यह केवल मेरे कोड में जाता है? मेरी hbm.xml फ़ाइल? मैं अपने वर्तमान प्रयास से परे कुछ भी नहीं सोच सकता।
String stringQuery =
"select WI.Customer_Id, CU.Card, CU.Code, "+
"PI.Identity_Card, PI.Name, PI.Surname, PI.Gender, "+
"AD.Zip, AD.Geo_Lat, AD.Geo_Long, "+
"CO.City_Geo_Level, "+
"CU.Address_id, CA.Name, "+
"CU.Category_Id, "+
"CU.Status, "+
"Sum(MO.Charged_Points) as Charged_Points, "+
"Sum(MO.Total_Money) as Total_Money, "+
"Count(MO.id) as AmountTransWinner "+
"from Promotions_Winner WI "+
"join Customers CU "+
"on WI.Customer_id = CU.id "+
"join Personal_Info PI "+
"on CU.Personal_Info_Id = PI.id "+
"join Address AD "+
"on CU.Address_Id = AD.id "+
"join Countries CO "+
"on AD.country_id = CO.id "+
"join Campaigns CA "+
"on CU.Campaign_Id = CA.id "+
"join Movements MO "+
"on WI.Movement_Id = MO.id "+
"where WI.Promotion_Id = :pPromotionID "+
"group by "+
"WI.Customer_Id, CU.Card, CU.Fidely_Code, "+
"PI.Identity_Card, PI.Name, PI.Surname, PI.Gender, "+
"AD.Zip, AD.Geo_Lat, AD.Geo_Long, "+
"CO.City_Geo_Level, "+
"CU.Address_id, CA.Name, "+
"CU.Category_Id, "+
"CU.Status";
http://stackoverflow.com/questions/21374550/fetching-data-from-multiple-tables-in-hibernate-and-storing-the-result-in-a-bean/21379254 देखें # 21379254 – Touchstone