为什么JPA不支持使用@GeneratedValue生成非ID字段?

时间:2019-04-15 16:23:15

标签: java hibernate jpa orm

最近,我不得不在我的实体中创建一个非主键字段,该字段应该像EMP001,EMP002,EMP003等递增,我认为可以通过使用序列生成器和{{1 }}注释。

但是,在浏览网络之后,我意识到JPA不仅不允许@GeneratedValue批注使用序列,而且甚至使用@GeneratedValue这样的非JPA批注也可以生成此类序列(来自Hibernate )令人难以置信,令人费解。

不管我的问题的解决方案代码如何,我都想知道为什么JPA不支持通过使用@Generated和数据库序列来生成非@Id字段。 我是否忽略了Java ORM精神的某些核心方面,该方面规定仅@GeneratedValue字段必须使用序列生成?

此操作是否最好留给数据库触发器?

谢谢。

0 个答案:

没有答案