以下 id 生成是否可以在不依赖 Hibernate @GenericGenerator
且仅使用纯 JPA 的情况下实现?
import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import org.hibernate.annotations.GenericGenerator;
@Entity
public class MyObject implements Serializable {
@Id
@GeneratedValue(generator = "uuid")
@GenericGenerator(name = "uuid", strategy = "my.IdGenerator")
@Column(name = "ID", length = 36, nullable = false)
private String id;
// ...
}
最佳答案
您可以使用@PrePersist
回调
@Id
@Column(name = "ID", length = 36, nullable = false)
private String id;
// ...
@PrePersist
public void prePersist() {
id = UUID.randomUUID();
}
有关生命周期回调的更多信息,请参见:Configuring a Life Cycle Callback Method on a JPA Entity
关于java - 无需 Hibernate 的自定义 @Id 生成器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37026649/