一尘不染

Hibernate中的GenerationType.AUTO与GenerationType.IDENTITY

spring-mvc

目前,我们使用mysql作为数据库,并且使用

@Generated Value(strategy = GenerationType.IDENTITY)

在某些情况下它可以正常工作,我们需要在那时候将数据库迁移到Oracle时无法正常工作。是否有人知道这背后的实际区别是什么以及它是如何工作的?


阅读 1469

收藏
2020-06-01

共1个答案

一尘不染

它如何与Oracle一起“正常工作”(您没有按您的意思定义基本信息)?我没有看到与AUTO您的问题相关的信息,它只是让实现选择要使用的内容。

IDENTITY(按照JPA javadocs和spec-您应该指代的)表示 autoincrement
。在Oracle中没有这样的概念,但是在MySQL,SQLServer和其他一些中却有。我希望任何体面的JPA实施甚至在尝试这种操作时都可以标记一个错误。

Oracle将允许使用“ SEQUENCE”或“ TABLE”策略

2020-06-01