Seu निम्नलिखित मानचित्रणहाइबरनेट HQL क्वेरी
@Entity
public class User {
private Integer id;
@Id;
private Integer getId() {
return this.id;
}
}
सूचना आईडी ऑपरेटर की तरह उपयोग करके एक पूर्णांक है। अब मैं ऑपरेटर की तरह का उपयोग कर
Query query = sessionFactory.getCurrentSession().createQuery("from User u where u.id like :userId");
ATT द्वारा इस HQL क्वेरी की जरूरत है: IT IS तरह ऑपरेटर नहीं = (के बराबर होती है ऑपरेटर)
तब मैं
List<User> userList = query.setParameter("userId", userId + "%").list();
का उपयोग लेकिन ऐसा नहीं करता काम करें क्योंकि हाइबरनेट शिकायत करता है IllegalArgumentException उपयोगकर्ता.आईडी
यहां तक कि जब मैं
query.setString("userId", userId + "%");
यह
क्या मैं क्वेरी पारित करने के लिए उपयोग करना चाहिए काम नहीं करता है का उपयोग करें?
आप क्या डेटाबेस इंजन का उपयोग कर रहे काम करता है? –
@ आर्थर - आपके प्रश्न का उत्तर नहीं दे रहा है (ऐसा लगता है कि आपने इसे अपने आप से बाहर निकाला है) लेकिन मुझे अभी पूछना है - क्यों? मैं वास्तव में दिलचस्पी रखता हूं - आपके पास क्या मामला है जिसके लिए सरोगेट कुंजी होने के लिए तुलना की आवश्यकता है? – ChssPly76
@ ChssPly76 - हाय Chss। यह एक विरासत प्रणाली है। यह वृक्ष संरचना है जहां एक अभिभावक समूह आईडी सभी बच्चों की आईडी से मेल खाता है। उदाहरण के लिए, यदि मेरे पास समूह आईडी = 22100 है और मैं 221 उपसर्ग से मेल करके अपने बच्चों को पुनर्प्राप्त करना चाहता हूं, तो मैं >>> '221%' की तरह >>> का उपयोग करता हूं। –