title: How to set an @Id primary key that is NOT Auto-Generated in Java JPA/Hibernate?
body: <p>I am using Postgres with Java JPA/Hibernate and want to have the id field as one that is MANUALLY GENERATED by me. i.e. whenever i create an instance of this object, i set the id field anyway. </p>
  
  <p>I've tried for weeks but keep running into either: "Required identifier property not found for class" or "After saving, the identifier must not be null".</p>
  
  <p>Here is a sample of the model class i am using: </p>
  
  <pre><code>import javax.persistence.*;
  
  @Entity
  @Table(name = "pojo")
  public class Pojo {
  
      @Id
      @Column(name = "id_one")
      private int idOne;
  
      @Column(name = "bool_example")
      private boolean boolExample;
  
      public Pojo(){};
  
      public Pojo(int idOne, boolean boolExample){
          this.idOne = idOne;
          this.boolExample = boolExample;
      }
  
      public int getIdOne() {
          return idOne;
      }
  
      public void setIdOne(int idOne) {
          this.idOne = idOne;
      }
  
      public boolean isBoolExample() {
          return boolExample;
      }
  
      public void setBoolExample(boolean boolExample) {
          this.boolExample = boolExample;
      }
  }
  </code></pre>
  
  <p>Here is a sample request i'm calling in</p>
  
  <pre><code>    @GetMapping(value = "/plswork")
      public String pojotestone(){
          Pojo newpojo = new Pojo(1, false);
          pojoService.saveThis(newpojo);
  
          pojoService.test();
          return "yes";
      }
  </code></pre>
  
  <blockquote>
    <p>The pojoService calls on pojoRepository.save(T entity). This pojoRepository is from extending CrudRepository so it creates queries on the fly</p>
  </blockquote>