一尘不染

如何在Spring Boot时使用Hibernate生成自动UUID

spring-boot

我正在尝试实现的是生成一个UUID,该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;

但是当数据库插入完成时。“ uuid”为空。

非常感谢您的帮助。如果我问一个明显的愚蠢问题,对不起。


阅读 716

收藏
2020-05-30

共1个答案

一尘不染

您可以使用诸如@PrePersist之类的事件来填充UUID字段
https://docs.jboss.org/hibernate/orm/4.0/hem/en-
US/html/listeners.html

但是为什么在创建对象时不分配uuid uuid = UUID.randomUUID()?

2020-05-30