আমি এমন একটি নেমডিক্যুয়ারি তৈরি করেছি যা দেখতে এরকম দেখাচ্ছে:
@NamedQuery(name = "EventLog.viewDatesInclude",
query = "SELECT el FROM EventLog el WHERE el.timeMark >= :dateFrom AND "
+ "el.timeMark <= :dateTo AND "
+ "el.name IN (:inclList)")
আমি যা করতে চাই তা হ'ল প্যারামিটারটি পূরণ করুন: একটি আইটেমের পরিবর্তে আইটেমের তালিকা সহ অন্তর্ভুক্ত করুন। উদাহরণস্বরূপ, যদি আমার কাছে থাকে তবে আমি new List<String>() { "a", "b", "c" }
কীভাবে এটি পেতে পারি: InclList প্যারামিটারে? এটি কেবল আমাকে একটি স্ট্রিং কোডিং করতে দেয়। উদাহরণ স্বরূপ:
setParameter("inclList", "a") // works
setParameter("inclList", "a, b") // does not work
setParameter("inclList", "'a', 'b'") // does not work
setParameter("inclList", list) // throws an exception
আমি জানি আমি কেবল একটি স্ট্রিং তৈরি করতে পারি এবং এটি থেকে পুরো ক্যুরি তৈরি করতে পারি, তবে আমি ওভারহেড এড়াতে চেয়েছিলাম। এটি করার আরও ভাল উপায় আছে?
সম্পর্কিত প্রশ্ন: তালিকাটি যদি খুব বড় হয় তবে কোয়েরি তৈরির কোনও ভাল উপায় আছে কি?