मैं एक बाईं जोड़ने टास्क मेज पर शामिल करना चाहते हैं जब निम्न स्थिति उत्पन्न होती है: वाम पर लाने PROMPT पी JOIN (t.id = p.task.id औरहाइबरनेट HQL: कैसे एक जटिल बाईं उपयोग करने के लिए शामिल होने के लाने
select
distinct t
from
TASK t
LEFT JOIN FETCH
SERVER ser
on t.id=ser.task_id
LEFT JOIN FETCH
APPLICATION app
on ser.id=app.server_id
LEFT JOIN FETCH
PROMPT p on (t.id = p.task.id and p.applicationName in ('XXX'))
where
t.id=ser.task.id
and ser.id=app.server
and app.name in ('XXX')
order by t.id
मैं कीवर्ड "पर" शायद की वजह से निम्न अपवाद मिलता है,:
java.lang.NoSuchMethodError: org.hibernate.hql.antlr.HqlBaseParser.recover(Lantlr/RecognitionException;Lantlr/collections/impl/BitSet;)V
at org.hibernate.hql.antlr.HqlBaseParser.queryRule(HqlBaseParser.java:771)
01 ('XXX') में p.applicationName)
यहाँ मेरी HQL क्वेरी है
कोई विचार?
class Task {
private String taskId;
private Set<ServerDetails> servers;
}
class ServerDetails {
private String id;
private Set<ApplicationDetails> applications;
}
class ApplicationDetails {
private String id;
}
Class Prompt {
private String applicationName;
}
मैं बाईं कैसे उपयोग कर सकते हैं शामिल होने के ('XXX') में मेरी हालत p.applicationName का उपयोग कर लाने?
आपके द्वारा पोस्ट की गई क्लास स्ट्रक्चर (मुझे लगता है कि उन सभी गुणों पर उपयुक्त एनोटेशन हैं) किसी भी अन्य वर्ग में 'प्रॉम्प्ट 'लिंक नहीं करता है। आप एसक्यूएल 'task_id' के माध्यम से 'प्रॉम्प्ट' और 'टास्क' में शामिल होते हैं लेकिन ऊपर कोई मिलान गुण नहीं हैं। 'प्रॉम्प्ट 'पर एक संपत्ति' टास्क' है? या ठीक इसके विपरीत? क्या आप स्पष्ट कर सकते हो? – ChssPly76