I get List<Strings>
by executing a query. This must be passed to another query of IN clause values. How to pass them in HQL?
We can convert List
to Array
and can pass it, that's not a problem.
Finally, I must pass the list in List<String>
or Array
or String
form to the IN clause.
SQL is based on a relational database model whereas HQL is a combination of object-oriented programming with relational database concepts. SQL manipulates data stored in tables and modifies its rows and columns. HQL is concerned about objects and its properties.
Unlike SQL, HQL uses classes and properties in lieu of tables and columns. HQL supports polymorphism as well as associations, which in turn allows developers to write queries using less code as compared to SQL.
from AUTOS a where a.model in (select m.model from MODELS m)
or
Query query1 = session.createQuery("select s.id from Salary s where s.salary < 50000 AND s.salary > 49980"); Query query2 = session.createQuery("from Employee e where e.id in (:ids)").setParameterList("ids", query1.list()); query2.list();
I know it's been a while and you have been trying to pass the value of a different query as a queryParameter, you can also pass set or collections to in clause in HQL with 'elements()' - here's a simple example of such usage: Hibernate query: does a Set contains a certain Object?
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With