i new hibernate , need guys.... have following class: useractionperuserresult
@entity @table(name = "user_action_per_user_result") public class useractionperuserresult { @id @generatedvalue(strategy = generationtype.identity) private long id; @column(name = "user_email", nullable = false) private string useremail; @manytoone @joincolumn(name = "user_action_id", nullable = false) private useraction useraction; @manytomany(fetch = fetchtype.lazy) @jointable(name="user_action_per_user_result_email_message", joincolumns={@joincolumn(name="user_action_per_user_result_id", referencedcolumnname="id")}, inversejoincolumns={@joincolumn(name="email_message_id", referencedcolumnname="id")}) @jsonignore private list<emailmessage> emailmessages; ....getters/setter.... }
in mysql, useractionperuserresult 1 table , email messages, there table called useractionperuserresultemailmessage has email messages associate id of table useractionperuserresult.
i have data stored in mysql table, not able query it. need write query fetch list of emailmessages. trying following, throwing exception.
typedquery<useractionperuserresult> messagesquery = entitymanager.createquery( "select e useractionperuserresult e join useractionperuserresult.emailmessages e1 e.id = 1 , e.useraction = 1", useractionperuserresult.class); list<useractionperuserresult> resultlist = messagesquery.getresultlist();
try writing query this:
typedquery<useractionperuserresult> messagesquery = entitymanager.createquery( "select e useractionperuserresult e join fetch e.emailmessages em e.id = 1 , e.useraction.id = 1", useractionperuserresult.class); list<useractionperuserresult> resultlist = messagesquery.getresultlist();
- the join using root entity alias
- the useraction.id used against useraction, when matching against numerical value