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

时间:2016-09-08 16:32:55

标签: java spring hibernate jpa

一些先决条件:

我没有使用Oracle DB序列生成器。而不是它,我依赖于Hibernate序列生成器e.x。

@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;
}

我想要的是将以下生成的值保留在列中#34; NAME_WITH_ID":this.nameWithGeneratedId+this.id

执行以下操作是否可行:

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

或者是否可以在将实体持久保存到数据库生成的ID之前提前检索?如果是,那我该怎么做呢? (根据以下评论,不可能这样做)

提前谢谢。

1 个答案:

答案 0 :(得分:1)

你不能;坚持自己的行为是创造身份证的原因。