Once set, the value of a Hibernate ``++@Entity++``'s ``++@Id++`` field/column should never be updated. Therefore, setters for such fields should always be ``++private++``.


== Noncompliant Code Example

----
public class Book {

  @Id
  @GeneratedValue
  private int id;

  public void setId(int id) {  // Noncompliant
    this.id = id;
  }
----


== Compliant Solution

----
public class Book {

  @Id
  @GeneratedValue
  private int id;

  private void setId(int id) {
    this.id = id;
  }
----

