【问题标题】:How to Auto generate UUID value for non-primary key using JPA如何使用 JPA 为非主键自动生成 UUID 值
【发布时间】:2020-10-27 20:32:50
【问题描述】:

我有 Spring Boot 应用程序,我在其中使用 JPA 层与 PostgreSQL 对话。我有一个 UUID 类型的非主键,我想在调用 save 方法时自动生成它。我用@GeneratedValue 注释了属性,但插入时列值为空。

@Column(name = "USER_UUID")
@GeneratedValue(strategy = GenerationType.AUTO)
private UUID userUuid;

我也将列创建为:

ADD COLUMN IF NOT EXISTS user_uuid uuid UNIQUE DEFAULT uuid_generate_v4();

这种情况下如何自动生成非主UUID值?

【问题讨论】:

    标签: spring-boot jpa spring-data-jpa spring-data


    【解决方案1】:

    您可以使用 JPA 回调。

     @PrePersist
        protected void onCreate() {
            setUserUuid(java.util.UUID.randomUUID());
        }
    

    【讨论】:

      猜你喜欢
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 2015-12-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-16
      • 2012-06-18
      相关资源
      最近更新 更多