@GeneratedValue
UUID
が @Id ではない場合、@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(...)
で格納オプションを構成できます。