私が達成しようとしているのは、DB挿入時に自動的に割り当てられるUUIDを生成することです。 id値を生成する「id」という名前の主キー列に似ています。
モデル値は次のようになります。
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
@Column(nullable = false)
private Long id;
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "uuid2")
@Column(name = "uuid", columnDefinition = "BINARY(16)")
private UUID uuid;
しかし、DBの挿入が完了すると。 「uuid」は空です。
ヘルプは大歓迎です。そして、私が明白な愚かな質問をしているなら、すみません。
@PrePersistなどのイベントを使用してUUIDフィールドにデータを入力できます https://docs.jboss.org/hibernate/orm/4.0/hem/en-US/html/listeners.html
しかし、なぜオブジェクトが作成されたときにuuidを割り当てないのかuuid = UUID.randomUUID()?
試してもらえますか?
@Id
@GeneratedValue(generator = "uuid2")
@GenericGenerator(name = "uuid2", strategy = "org.hibernate.id.UUIDGenerator")
@Column(name = "id", columnDefinition = "VARCHAR(255)")
private UUID id;