के साथ शामिल हो गया है मैं वसंत डेटा जेपीए और querydsl का उपयोग कर रहा हूं और दो टेबल में शामिल होने के लिए सरल अच्छी क्वेरी लिखने के तरीके पर फंस गया हूं। मान लीजिए मैं एक परियोजना इकाई और OneToMany संबंध परियोजना में परिभाषित के साथ एक टास्क इकाई है, मैं की तरह कुछ करना चाहते हैं:वसंत डेटा जेपीए और querydsl
select * from project p left join task t on p.id = t.project_id where p.id = searchTerm
select * from project p left join task t on p.id = t.project_id where t.taskname = searchTerm
JPQL में, यह होना चाहिए:
select distinct p from Project p left join p.tasks t where t.projectID = searthTerm
select distinct p from Project p left join p.tasks t where t.taskName = searthTerm
मैं एक है ProjectRepository इंटरफ़ेस, जो JpaRepository और QueryDslPredicateExecutor को बढ़ाता है। जो मुझे विधि करने के लिए पहुँच देता है:
Page<T> findAll(com.mysema.query.types.Predicate predicate, Pageable pageable)
मुझे पता है कि बाएं में शामिल होने के लिए आसानी से एक नया JPAQuery (entityManager) बनाने के द्वारा प्राप्त किया जा सकता। लेकिन मेरे पास वसंत डेटा जेपीए के साथ स्पष्ट रूप से इंजेक्शन वाले इकाई प्रबंधक नहीं हैं। क्या बाएं शामिल होने के साथ भविष्यवाणी करने का कोई अच्छा और आसान तरीका है? इच्छा है कि यहां किसी ने इसका अनुभव किया है और मुझे एक उदाहरण देने में सक्षम है। धन्यवाद।
फ्री।
क्या आप जेपीक्यूएल में जो चाहिए उसे व्यक्त कर सकते हैं और एसक्यूएल में नहीं? अब मुझे यकीन नहीं है कि क्या आपको लोडिंग या कुछ और के लिए बाएं शामिल होने की आवश्यकता है। –
हाय टिमो, जेपीक्यूएल अभिव्यक्ति अनुरोध के रूप में जोड़ा गया –