java - hibernate 中的 GenerationType.AUTO 与 GenerationType.IDENTITY

标签 java hibernate spring-mvc jpa

目前,我们使用 MySQL 作为数据库,我们使用

@Generated Value(strategy = GenerationType.IDENTITY)

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

最佳答案

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

IDENTITY”(根据 JPA javadocs 和规范 - 您应该指的是)表示 autoincrement。在 Oracle 中没有这样的概念,但在 MySQL、SQLServer 和其他一些中存在。我希望任何体面的 JPA 实现在尝试这样的事情时都会标记错误。

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

关于java - hibernate 中的 GenerationType.AUTO 与 GenerationType.IDENTITY,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33096466/

相关文章:

java - 有没有办法让正则表达式中的相同字符以不同方式标识

java - 查询 Spring-Boot jpa 1.5 的可选参数

java - 必须至少存在一个 JPA 元模型!但它是生成的吗?

java - Hibernate 自动生成第二个 id

java - import android.support 无法解决

Java Multimap 具有自然排序的键,但集合按添加元素的顺序排序

java - 获取日期回退一天

java - spring-boot-starter-parent 在 pom 文件中到底做了什么?

java - 休息 Controller 不工作

值字段的 JavaScript 警告消息