Parameter value [2] did not match expected type [com.cityBike.app.model.User
<p>I receive the error of</p>

<blockquote>
  <p>java.lang.IllegalArgumentException: Parameter value [2] did not match expected type [com.cityBike.app.model.User (n/a)]
      at org.hibernate.jpa.spi.BaseQueryImpl.validateBinding(BaseQueryImpl.java:885)
      at org.hibernate.jpa.internal.QueryImpl.access$000(QueryImpl.java:80)
      at org.hibernate.jpa.internal.QueryImpl$ParameterRegistrationImpl.bindValue(QueryImpl.java:248)
      at org.hibernate.jpa.spi.BaseQueryImpl.setParameter(BaseQueryImpl.java:631)
      at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:180)
      at org.hibernate.jpa.spi.AbstractQueryImpl.setParameter(AbstractQueryImpl.java:49)
      at com.cityBike.app.service.RentService.getAllByUser(RentService.java:22)</p>
</blockquote>

<p>Below is my code snippet, how can I fix this issue?</p>

<p>File Rent.java</p>

<pre><code>@Entity
@Table(name="Rent")
public class Rent implements Serializable {

    @Id  
    @GeneratedValue(strategy=GenerationType.AUTO)  
    @Column(name = "id")  
    private Integer id;

    @ManyToOne
    @JoinColumn(name = "start_id")
    private Station start_id;

    @ManyToOne
    @JoinColumn(name = "meta_id")
    private Station meta_id;

    @ManyToOne
    @JoinColumn(name = "user_id")
    private User user_id; 
    ... 
</code></pre>

<p>File User.java</p>

<pre><code>@Entity  
@Table(name="Users")
public class User implements Serializable {

    @Id  
    @GeneratedValue(strategy=GenerationType.AUTO)  
    @Column(name = "id")  
    private Integer id;

    @Column(name = "login")
    private String login;
...
</code></pre>

<p>File RentService.java</p>

<pre><code>@Service
public class RentService {

    @PersistenceContext
    private EntityManager em;

    @Transactional
    public List&lt;Rent&gt; getAllByUser(int user_id){
            System.out.println(user_id);
            List&lt;Rent&gt; result = em.createQuery("from Rent a where a.user_id = :user_id", Rent.class).setParameter("user_id", user_id).getResultList();
            System.out.println(result);
        return result;
    }
}
</code></pre>

<p>I should add that "user_id" when displayed on the console is correct as it has such a numerical value ex. 2 or 3.
Please guidance and assistance.</p>