I have a relation 1-n between two tables (let's call them User and Roles):
User(ID, Name, LastName, ...)
Role(ID, User_ID, Label, ...) where User_ID is a foreign key to reference the User
In my Role repository, I have a method like this:
public List<Role> findByUser(User user);
The generated SQL is of the following form:
select ... from Role r left outer join User u on u.ID = r.User_ID where u.ID = ?
This is a performance botleneck. How to make spring-data generate a simpler query, like:
select ... from Role r where r.User_ID = ?
(get rid of the useless join)