当前位置: 首页 > 面试题库 >

如何在春季启动时使用Hibernate生成自动UUID

雷国兴
2023-03-14
问题内容

我正在尝试实现的是生成一个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”为空。

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


问题答案:

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

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



 类似资料:
  • 问题内容: 我的Maven依赖项出了什么问题。当我包含JPA时,我会列出pf例外 这是我的Maven依赖项 我的例外 和我的源代码 因此,我没有任何想法(不幸的是,没有示例)如何运行Spring boot和休眠两者。 问题答案: 您是否为数据源设置了或?这是一个例子: 有关可以在何处放置配置文件以及如何配置应用程序以处理任何目录中的属性文件的说明,请参阅此链接以获取更多信息。

  • 问题内容: 我目前正在使用Spring编写API后端,我想使用Spring Boot部署到生产服务器上。 如果我在Eclipse中运行后端以编译为War(在Maven中指定),并使用Tomcat 7,则它可以正常运行。 但是,当我想部署到服务器时,我正在使用Spring Boot。 应用程序 pom.xml 当我将整个项目复制到Linux服务器上并运行 maven package时 ,代码可以毫无

  • 问题内容: 我有以下Spring Security配置: 我期望以下逻辑:未经身份验证的用户将被重定向到。Spring会显示默认的Tomcat 403页面,而不是该页面。我也尝试过自定义,尽管没有成功。 如何在访问失败时实施自定义逻辑? 问题答案: AccessDeniedHandler仅适用于经过身份验证的用户。未经身份验证的用户的默认行为是重定向到登录页面(或适用于所使用的身份验证机制的任何内

  • 问题内容: 我是spring的新手,我使用https://start.spring.io/创建了一个新的spring boot项目,没有更多依赖关系,解压缩了zip文件并在IntelliJ IDEA中打开了该项目。我没有做任何进一步的配置。我现在正在尝试使用@PostConstruct方法设置bean-但是,该方法从未被spring调用。 这些是我的课程: SpringTestApplicatio

  • 问题内容: 我试图将Spring集成到具有数千个类的大型应用程序中,并且由于组件扫描,我在启动容器时遇到了巨大的延迟。 我已经将“基本软件包”中指定的目录数量缩小到最小,以减少扫描无关目录所浪费的时间,但是初始化的类路径扫描部分仍然需要大约1-2分钟。 那么,有没有一种方法可以优化扫描过程?我曾考虑过将候选类路径存储在文件中,然后使容器从文件中获取,而不是每次启动时都扫描类路径,但是我真的不知道从

  • 问题内容: 我正在使用logback库在spring boot项目中实现日志记录。我想根据我的spring配置文件(属性“ spring.pofiles.active”)加载不同的日志记录配置文件。我有3个文件:logback-dev.xml,logback- inte.xml和logback-prod.xml。我正在使用Spring Boot版本1.2.2.RELEASE。 如您在Spring