首页 > 解决方案 > JPA 标准是否提供了允许开发人员编写 ID 生成器的机制?

问题描述

Hibernate 支持自定义 ID 生成器,如如何在 JPA 中生成自定义 ID 中所述

我想知道,有没有 JPA 标准的方法呢?

标签: javajpa

解决方案


不,但您可以编写自己的逻辑来在PrePersist生命周期回调方法中分配主键。

这可以进一步扩展为使用https://stackoverflow.com/a/54006736/242042EntityListener中所述的,它允许您注入由 Spring 管理的操作所需的Spring 托管 bean 。PrePersistEntityListener

如果EntityListener不是由 Spring 管理,ThreadLocal 可能是一个替代方案(rel:将 Spring Application Context 传递到与请求关联的 ThreadLocal 中是否安全?


推荐阅读