由于strategyUUIDGenerator已弃用,因此这是新的UUID生成器:

@GenericGenerator(
            name = "UUID", 
            type = org.hibernate.id.uuid.UuidGenerator.class
    )

在使用它时,我得到以下错误:

Org.hibernate.id.uuid.UuidGenerator中构造函数的参数0 需要类型为‘org.hibernate.Annotations.UuidGenerator’的Bean 找不到

我在documentation号中找不到任何与此相对应的东西.

为了充分披露,这是使用的整个注释块:

@Id
@GeneratedValue(strategy = GenerationType.AUTO, generator = "UUID")
@GenericGenerator(name = "UUID", type = org.hibernate.id.uuid.UuidGenerator.class)
@Column(...)

推荐答案

我真的建议你用 @UuidGenerator而不是

@GeneratedValue(strategy = GenerationType.AUTO, generator = "UUID")
@GenericGenerator(name = "UUID", type = org.hibernate.id.uuid.UuidGenerator.class)

大概是这样的:

  @Id
  @UuidGenerator
  private UUID id; // or String

因为如果您要判断java docs个批注,您将看到@UuidGenerator使用 @IdGeneratorType( org.hibernate.id.uuid.UuidGenerator.class )美元是你需要的.

关于这个问题,我真的不知道问题出在哪里,但我建议的解决方案将帮助您进行此替换.当指定@UuidGenerator时,我们可以 Select 要生成的UUID的具体版本.

还有一些使用它的动机被描述为8.5. User-defined generators

这些API是Hibernate6中的新特性,它们取代了老版本Hibernate中的classic 标识生成器接口和@GenericGenerator注释.

@UuidGenerator RFC 4122个UUID更灵活的生成器

Java相关问答推荐

如何让JFileChooser(DIRECTORIES_ONLY)从FolderName中的空白开始?

如何判断一个矩阵是否为有框矩阵?

为什么一个Test的instance?& gt;在构造函数中接受非空对象?

AssertJ Java:多条件断言

用户填充的数组列表永不结束循环

如何在antlr4中跳过所有反斜杠-换行符而保留换行符?

如何从日志(log)行中删除包名称?

我的Spring Boot测试显示&IlLegalStateException:无法加载某事的ApplicationContext.

如何使用log4j2(Json)记录由";异常引起的所有";?

在macOS上读取文件会导致FileNotFound,即使文件存在(并且具有权限)

二进制数据的未知编码/序列化

如何在列表(链表)中插入一个新 node (作为prelast)

无法将GSON导入到我的JavaFX Maven项目

在java中使用不同的application.properties-jar而不使用Spring

如何在Maven Central上部署?

将BlockingQueue+守护程序线程替换为执行器

如何设置默认序列生成器分配大小

如何在JSP中从select中获取值并将其放入另一个select

可以';不要在Intellij IDEA中使用最新的Java版本(JDK 21)

单例模式中热切初始化和惰性初始化的区别