title: Room Persistence: Entities and Pojos must have a usable public constructor
body: <p>I am trying to add a database to my android app through the Room Persistence library and i am getting this error:</p>
  
  <blockquote>
    <p>error: Entities and Pojos must have a usable public constructor. You can      have an empty constructor or a constructor whose parameters match the fields (by name and type).
        Tried the following constructors but they failed to match:
        User(int,java.lang.String,java.lang.String,int,int,int,java.lang.String)     -> [param:id -> matched field:unmatched, param:name -> matched     field:unmatched, param:gender -> matched field:unmatched, param:age -> matched field:unmatched, param:weight -> matched field:unmatched, param:height -> matched field:unmatched, param:workout -> matched field:unmatched]</p>
  </blockquote>
  
  <p>Here is my code: </p>
  
  <pre><code>    @Entity
      public class User {
  
  @PrimaryKey
  private int userId;
  private String userName;
  private String userGender;
  private int userAge;
  private int userWeight;
  private int userHeight;
  private String workoutPlan;
  
  
  public User(int id, String name, String gender, int age, int weight, int height, String workout) {
  
      this.userId = id;
      this.userName = name;
      this.userGender = gender;
      this.userAge = age;
      this.userWeight = weight;
      this.userHeight = height;
      this.workoutPlan = workout;
  
  } ...
  </code></pre>
  
  <p>Can someone please tell me what i am doing wrong or what i missed? </p>