I wonder if anyone can help me. Im brand new to HQL and am struggling a little. Basically I need to write a simple query that selects all values based on a foreign key(pattern_group_id) and store these in a list.
This is what I have so far:
List<String> patternByGroupList = sessionFactory.getCurrentSession()
.createQuery("SELECT * FROM PATTERN p WHERE pattern_group_id = :id")
which is wrong. I need to write it so that it does a sub query within to select the pattern_group_id based on whatever the groupname (which is a String parameter) is. Can anyone point me in the right direction?
Here you have example about writing queries. Take a look. Also did you just copy & paste this code from somewhere and added your select clause?
I'm asking because if you are brand new to Hibernate you shouldn't worry your self with caching! Don't do setCacheable set to true! Your query will work fine without it. When you are familiar with HQL then take time to learn what it means.
A simple query with a WHERE clause looks like this:
Query query = session.createQuery("from Pattern WHERE pattern_group_id > 6);
List id = query.list();
One more thing. I just realized it now looking at your code. If you are getting a FK that is some kind of ID, why are you making a String list? How is that Id defined? Shouldn't it be a integer?