生成自定义标识

Posted

技术标签:

【中文标题】生成自定义标识【英文标题】:Generate custom id 【发布时间】:2021-09-08 14:20:28 【问题描述】:

我需要根据该表中的其他 3 列生成自定义 ID(即主键)。这 3 列是散列的,因此我得到 id 作为主键。我可以使用 Hibernate 和 @GenericGenerator 执行类似的操作,还是必须手动设置所有 CRUD 操作?

主要问题是 add 方法,因为据我所知 @GenericGenerator 使用已存储在数据库中的数据进行操作,而在 add 方法中,数据库对即将插入的行一无所知。

【问题讨论】:

【参考方案1】:

看起来自定义生成器可能是解决您的问题的好方法。使用自定义生成器,您可以非常轻松地以您想要的方式生成 ID。关于该主题有一篇非常不错的文章,其中包含如何实现以及如何将自定义生成器与 Hibernate 一起使用的示例:https://www.baeldung.com/hibernate-identifiers#5-custom-generator

【讨论】:

例如,如果我要添加新行,我如何将列值传递给该方法? @Evillain,你看过这个例子吗?您将对象作为第二个参数。只需从传递的对象中读取值。

以上是关于生成自定义标识的主要内容,如果未能解决你的问题,请参考以下文章

Flowable实战Flowable6.4.1自定义id生成

Symfony2:奏鸣曲实体中的自定义标识符

我爱java系列---自定义注解

注解机制的分类使用及原理详解,开始自定义一个自己的注解

自定义BuildConfig

Java核心知识自定义注解