मैं एक वाम बाहरी कर रहा हूँ पर प्रतिबंध के साथ जुड़ें में शामिल हों, लेकिन मैं केवल पहले मेज पर प्रतिबंध लागू करने के लिए कर रहा हूँ। क्या दूसरी मेज पर भी टीआई लागू होता है?हाइबरनेट मानदंड: वाम बाहरी दोनों तालिकाओं
यहाँ मेरी कोड है:
Criteria criteria = this.crudService
.initializeCriteria(Applicant.class).setFetchMode("products",
FetchMode.JOIN);.
यह काम करता है (आवेदक एक applicantName संपत्ति है):
criteria.add(Restrictions.eq("applicantName", "Markos")
न तो इन कार्यों (उत्पाद एक productName संपत्ति है)
criteria.add(Restrictions.eq("productName", "product1")
की
मानदंड .add (Restrictions.eq ("products.productName", "product1") // products: संपत्ति का नाम मानदंड.एड (Restrictions.eq ("product.productName", "product1") // उत्पाद: डीबी तालिका का नाम
और यह अपवाद है कि मैं कह रहा हूं (यदि मैं सही ढंग से समझता हूं) कि productName संपत्ति आवेदक में मौजूद नहीं है:
EJB Exception: ; nested exception is: org.hibernate.QueryException: could not resolve property: products.inventedName of: org.myCompany.applicant.entity.Applicant; nested exception is: org.hibernate.QueryException: could not resolve property: products.inventedName of: org.myCompany.applicant.entity.Applicant
मैं एक उपनाम का उपयोग करने की कोशिश की, लेकिन यह एक अंदरूनी शामिल हों उत्पन्न, वाम बाहरी के बजाय शामिल हों मैं चाहता हूँ।
मैं कैसे दोनों तालिकाओं पर प्रतिबंध लागू कर सकते हैं?
अद्यतन:
जारी करना शायद इस रूप में ही है: https://forum.hibernate.org/viewtopic.php?p=2393694