@GeneratedValue

如果我们有一个不是 @IdUUID,我们可以添加 @GeneratedValue,然后 Ebean 将为其分配一个合适的 UUID 生成器。

/** The Id property using DB Identity or Sequence */
@Id @GeneratedValue
private long id;

/** Alternate unique UUID property */
@GeneratedValue @Column(unique = true)
private UUID uid;

原生存储

UUID 在以下数据库平台中具有原生支持

  • H2
  • Postgres
  • SQL Server 17

在使用这些数据库平台时,UUID 存储在原生庄园中。

二进制存储

存储为 BINARY(16),可以选择存储在优化庄园中,这意味着字节顺序已更改,以便在索引中提供更好的分布。

Varchar 存储

存储为 VARCHAR(40)。

DatabaseConfig.setDbUuid()

当数据库平台不支持原生 UUID 时,我们可以通过 DatabaseConfig.setDbUuid(...) 配置存储选项。