Query exception error occurs when element collection is included in where clause along with join fetch.
{noformat} SELECT example_Book FROM example.Author example_Author_fetch JOIN example_Authorfetch.books example_Book LEFT JOIN FETCH example_Book.publisher WHERE :awards_3b62d810_0 MEMBER OF example_Book.awards AND example_Authorfetch=:example_Author_fetch{noformat}
java.lang.IllegalArgumentException: org.hibernate.QueryException: query specified join fetching, but the owner of the fetched association was not present in the select list \ [FromElement \ {explicit,not a collection join,fetch join,fetch non-lazy properties,classAlias=null,role=example.Book.publisher,tableName=Publisher,tableAlias=publisher3_,origin=author author0_,columns= \ {book2_.publisher_id ,className=example.Publisher}}] \ [SELECT example_Book FROM example.Author example_Author_fetch JOIN example_Authorfetch.books example_Book LEFT JOIN FETCH example_Book.publisher WHERE :awards_3b62d810_0 MEMBER OF example_Book.awards AND example_Authorfetch=:example_Author_fetch ] {noformat}
{noformat}SELECT example_Book FROM example.Author example_Author_fetch JOIN example_Authorfetch.books example_Book LEFT JOIN FETCH example_Book.publisher WHERE :awards_3b62d810_0 MEMBER OF example_Book.awards AND example_Authorfetch=:example_Author_fetch`{noformat}
Book and author has many-many relationship and book and publisher has many-one relationship. Awards is a Element collection of type List<string>.
Some of working queries:
{noformat}SELECT example_Book FROM example.Book AS example_Book LEFT JOIN FETCH example_Book.publisher WHERE :awards_3e8093d5_0 MEMBER OF example_Book.awards `{noformat}
{noformat}SELECT example_Book FROM example.Author example_Author_fetch JOIN example_Authorfetch.books example_Book LEFT JOIN FETCH example_Book.publisher WHERE example_Book.publishDate > 😛ublishDate_fd2879ac_0 AND example_Authorfetch=:example_Author_fetch`{noformat}
|
|