JPA পরিমাপ API ইনকামিং প্যারামিটার তালিকা

মানক API এ একটি প্যারামিটার তালিকা ব্যবহার করার সম্ভাবনা আছে কি? এ অভিব্যক্তি?

আমি এই মত কিছু আছে:

    List list = new ArrayList();
    list.add((long)1);
    list.add((long)2);
    list.add((long)3);


CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery criteriaQuery = cb.createQuery(Bewerbung.class);
Root bewerbung = criteriaQuery.from(Bewerbung.class);

criteriaQuery.select(bewerbung).where(
cb.in(bewerbung.get(Bewerbung_.bewerberNummer)).value(list);

return em.createQuery(criteriaQuery).getResultList();

.value (তালিকা) হিসাবে কাজ করে না মান() দীর্ঘ একটি প্রকারের তালিকা আশা করছে না আমার ক্ষেত্রে এটি একটি subquery ব্যবহার করা সম্ভব নয়। কেউ এই সমস্যা সম্পর্কে সাহায্য করতে পারেন?

0

2 উত্তর

cb.isTrue(bewerbung.get(Bewerbung_.bewerberNummer).in(list));

কৌতুক, AFAIK উচিত।

0
যোগ
গ্রেট, ধন্যবাদ এই কাজ করে, কিন্তু আমি হাইবারনেট ব্যবহার করছি এবং এটি মনে করে যে হাইবারনেট জাভ্যাক্সের প্যারামিটার হিসাবে খালি সংগ্রহকে সমর্থন করে না। প্রিসট্রেশন.criteria.Expression "in" পদ্ধতি প্যারামিটার। তালিকা দেখুন। Jboss.org/pipermail/hibernate-issues/2011 -December/করছে & hellip;
যোগ লেখক user1414341, উৎস
এফআইএইচ, কেউই তাদের সমর্থন করে না। আপনি হয়তো শর্ট-সার্কিটের ক্যোয়ারীর ক্ষেত্রে অবশ্যই একটি খালি তালিকা যুক্তি হিসাবে পাস করা উচিত।
যোগ লেখক JB Nizet, উৎস
ধন্যবাদ আপনাকে অনেক ধন্যবাদ @ জবিনিজেট
যোগ লেখক ozgur, উৎস
আমি এই অভিব্যক্তি খুঁজে পেয়েছি (isTrue মধ্যে আবৃত) EclipseLink 2.6.2 মধ্যে ব্যতিক্রম PREDICATE_PASSED_TO_EVALUATION আপ উত্থাপিত হয়েছে কিন্তু ছাড়া ট্র্রু মোড়ানো আমার উদাহরণ মধ্যে বিশদ হিসাবে নিখুঁত কাজ করে কারণ সম্ভবত "মধ্যে" প্রমাণ বস্তু সঙ্গে রিটার্ন
যোগ লেখক Miklos Krivan, উৎস

CriteriaBuilder # isTrue ব্যবহার করতে হবে না। এই যথেষ্ট হওয়া উচিত:

criteriaQuery.select(bewerbung)
             .where(bewerbung.get(Bewerbung_.bewerberNummer)
             .in(list));
0
যোগ
@ মিখোলক্রিভান ভাল, উভয় কাজ করা উচিত, এটি আমার কাছে পরিষ্কার মনে হয়।
যোগ লেখক jFrenetic, উৎস
@ মিক্লোসক্রিভানকে পরীক্ষা করতে হবে, স্পষ্টীকরণের জন্য ধন্যবাদ।
যোগ লেখক jFrenetic, উৎস
@ মিক্লোসক্রিভান, দয়া করে, আপনার কোডটি পেস্টবিনে </কোড> এ আপনার স্ট্যাক ট্রেস ভাগ করে নিতে পারেন বা অন্য কোন জায়গায় যদি সম্ভব হয়?
যোগ লেখক jFrenetic, উৎস
পরিবর্তে "কোন প্রয়োজন" আমি বলতে হবে "না করা উচিত" নিশ্চিতভাবে EclipseLink 2.6.2 ব্যবহার করে। আমি পরীক্ষা করেছি
যোগ লেখক Miklos Krivan, উৎস
আমি ভাল হিসাবে আশা করি কিন্তু দুর্ভাগ্যবশত EclipseLink 2.6.2 জন্য ORM (আমি উভয় সূত্র চেষ্টা করেছি) isTrue() মোড়কে উল্লিখিত ব্যতিক্রম উত্থাপন। এ কারণেই আমার বক্তব্যের প্রস্তাবনা দেওয়া হয়েছে। তাই তাত্ত্বিকভাবে "কোন প্রয়োজন" কিন্তু কার্যত "অবশ্যই না"
যোগ লেখক Miklos Krivan, উৎস