== Why is this an issue? 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 [source,java] ---- public class Book { @Id @GeneratedValue private int id; public void setId(int id) { // Noncompliant this.id = id; } ---- === Compliant solution [source,java] ---- public class Book { @Id @GeneratedValue private int id; private void setId(int id) { this.id = id; } ---- ifdef::env-github,rspecator-view[] ''' == Implementation Specification (visible only on this page) === Message Make this setter "private". === Highlighting * primary: visibility modifier, or method name if ``++protected++`` endif::env-github,rspecator-view[]