最近,我不得不在我的实体中创建一个非主键字段,该字段应该像EMP001,EMP002,EMP003等递增,我认为可以通过使用序列生成器和{{1 }}注释。
但是,在浏览网络之后,我意识到JPA不仅不允许@GeneratedValue
批注使用序列,而且甚至使用@GeneratedValue
这样的非JPA批注也可以生成此类序列(来自Hibernate )令人难以置信,令人费解。
不管我的问题的解决方案代码如何,我都想知道为什么JPA不支持通过使用@Generated
和数据库序列来生成非@Id
字段。
我是否忽略了Java ORM精神的某些核心方面,该方面规定仅@GeneratedValue
字段必须使用序列生成?
此操作是否最好留给数据库触发器?
谢谢。