在持久化、Hibernate、Spring 数据之前获取生成的实体 ID

mr.*_*r.M 5 java spring hibernate jpa

一些先决条件:

我没有使用 Oracle DB 序列生成器。取而代之的是,我依赖于 Hibernate 序列生成器 ex

@Entity
@Table(name = "JPA_ENTITY_A")
@GenericGenerator(name = "system-uuid", strategy = "uuid2")
public class JpaEntityA{
    @Id
    @Type(type = "uuid-binary")
    @GeneratedValue(generator = "system-uuid")
    private UUID id;
    @Column(name="NAME_WITH_ID")
    String nameWithGeneratedId;
}
Run Code Online (Sandbox Code Playgroud)

我想要的是将以下生成的值保留到“NAME_WITH_ID”列中: this.nameWithGeneratedId+this.id

是否可行执行以下操作:

public String getNameWithGeneratedId(){
    return this.nameWithGeneratedId+this.id;//hope that the returned value will be persisted
}
Run Code Online (Sandbox Code Playgroud)

或者是否可以在将实体持久化到 DB 生成的 id 之前提前检索?如果是,那么我该如何实现呢?(根据下面的评论,这是不可能的)

提前谢谢。

chr*_*ke- 1

你不能;坚持本身的行为就是创建 ID 的原因。