पर काम नहीं करता है मेरे पास 2 टेबल हैं: Order [OrderId(PK), OrderShipmentCode, ...]
और Shipment[ShipmentId(PK), ShipmentCode, ...]
।हाइबरनेट: @ManyToOne (fetch = FetchType.LAZY) गैर प्राथमिक कुंजी संदर्भित कॉलम
@ManyToOne(fetch = FetchType.LAZY)
@JoinColumn(name = "OrderShipmentCode", referencedColumnName = "ShipmentCode", insertable = false, updatable = false, nullable = false)
private Shipment shipment;
जब मैं Order
की सूची प्राप्त, Shipment
भी भरी हुई है (मैं कई अलग चयन प्रश्नों देखा था):
Order
वर्ग में, मैं shipment
क्षेत्र इस प्रकार की घोषणा की। लेकिन मैं Shipment
आलसी लोड होने के लिए चाहता हूं, Order
के साथ एक साथ नहीं लाया जाना चाहिए।
अन्य तालिकाओं के लिए, यदि संदर्भित कॉलम प्राथमिक कुंजी है तो परिणाम अपेक्षित हैं (आलसी लोडिंग का उपयोग किया जाता है)। मेरे मामले में, ShipmentCode
Shipment
तालिका की प्राथमिक कुंजी नहीं है, और आलसी लोडिंग का उपयोग हाइबरनेट द्वारा नहीं किया जाता है।
क्या आप मुझे दिखा सकते हैं कि उस लक्ष्य को कैसे पूरा किया जाए?
संपादित करें: क्वेरी कोड के रूप में bellow है:
Criteria criteria = HibernateUtil.getSessionFactory().getCurrentSession().createCriteria(Order.class);
List result = criteria.list();
एसक्यूएल प्रश्नों हैं: और Order
तालिका के लिए 1 SELECT कथन Shipment
आप मापदंड या क्वेरी के लिए कोड दिखा सकते हैं? – RAS