title: Jpa Repository save Inferred type 'S' for type parameter 'S' is not within its bound
body: <p>I have entity user </p>
  
  <pre><code>@Entity
  @Data
  public class User {
  
      @Id
      @GeneratedValue(strategy = GenerationType.IDENTITY)
      private long id;
  
      private String username;
  
      private String password;
  
  }
  </code></pre>
  
  <p>UserRepository</p>
  
  <pre><code>public interface UserRepository extends JpaRepository&lt;UserRepository, Long&gt; {
      User findByUsername(String username);
  }
  </code></pre>
  
  <p>Controller</p>
  
  <pre><code>@RestController
  @RequestMapping("/user")
  public class UserController {
  
      private UserRepository userRepository;
      private BCryptPasswordEncoder bCryptPasswordEncoder;
  
      public UserController(UserRepository userRepository, BCryptPasswordEncoder bCryptPasswordEncoder) {
          this.userRepository = userRepository;
          this.bCryptPasswordEncoder = bCryptPasswordEncoder;
      }
  
      @PostMapping("/sign-up")
      public void signUp(@RequestBody User user) {
          user.setPassword(bCryptPasswordEncoder.encode(user.getPassword()));
          userRepository.save(user);
      }
  }
  </code></pre>
  
  <p>In class UserController in signUp method userRepository.save(user) throw error     Inferred type 'S' for type parameter 'S' is not within its bound; should implement 'Repository.UserRepository</p>