Вам необходимо использовать CONCAT
, чтобы объединить %
и значение, переданное в запрос, поэтому попробуйте:
String userQuery = "select * from user where username like CONCAT('%', ?1, '%')";
//...
query.setParameter(1, login); // note here you have to use the index of placeholder
или
String userQuery = "select * from user where username like CONCAT('%', :login, '%')'";
//...
query.setParameter("login", login);