java - Spring JPA Query returns Null instead of List -
i have @entity video having one-to-many relation list<tag> tags 1 of fields. use following @repository using spring data popular tags:
@repository public interface tagrepository extends crudrepository<tag, integer>{ @query("select t tag t (select sum(v.views) video v t member of v.tags) > 0") public list<tag> findmostviewedtags(int maxtags); } the query processed , considered valid spring, tested generated sql vs database locally , returned 2 tags. in code however, receive value null when call method findmostviewedtags(100).
the query lookup strategy default "create_if_not_found".
- if there no results found, should method return empty list or null? desired behavior receive empty list.
- why method call return
nullinstead oflist<tag>size() 2?
- the normal behavior indeed returning empty list if no results found. if
list<object>return value of method in defined interface, method should never returnnull. - the problem parameter given method , not used anywhere in query. reason spring decides return null in case. solution: remove unused parameter or use parameter in query.
Comments
Post a Comment