package com.ankurm.hibernatedemo.naturalid; import jakarta.persistence.Entity; import jakarta.persistence.GeneratedValue; import jakarta.persistence.Id; import org.hibernate.annotations.NaturalId; /** * {@code @NaturalId(mutable = true)} -- the explicit opt-in for a natural id that IS allowed * to change (e.g. an email address). * *
Docs: docs/06-natural-ids.md, Topic 3. */ @Entity public class MutableNaturalIdEntity { @Id @GeneratedValue private Long id; @NaturalId(mutable = true) private String code; public MutableNaturalIdEntity() { } public MutableNaturalIdEntity(String code) { this.code = code; } public Long getId() { return id; } public String getCode() { return code; } public void setCode(String code) { this.code = code; } }