Co-Authored-By: Claude Sonnet 5 <[email protected]> Claude-Session: https://claude.ai/code/session_01EQNA6DJ9VgCtW6zhCE8Xud
43 lines
851 B
Java
Executable File
43 lines
851 B
Java
Executable File
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).
|
|
*
|
|
* <p>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;
|
|
}
|
|
}
|