Javax 持久性在生产级别将 IDENTITY 更改为 SEQUENCE
Javax persistence change IDENTITY to SEQUENCE on production level
是否可以将 id 生成从 GenerationType.IDENTITY
更改为 GenerationType.SEQUENCE
而不会对服务的生产版本产生影响?数据库管理系统是 PostgreSQL。
我需要切换到 SEQUENCE
以允许 Hibernate 执行批处理操作。但是我的生产服务有大约一年的 IDENTITY
策略。实体 class 中的更改是否会以某种方式影响之前生成的 ID?
现在我有
@Entity
@EqualsAndHashCode(of = {"id"}, callSuper = false)
public class MyClass {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter @Setter
private Long id;
}
如果我将策略更改为 GenerationType.SEQUENCE
会怎样?
只要您确保序列的起始值高于 id
列中的任何现有值,对 GenerationType.SEQUENCE
的更改应该不会成为问题。
是否可以将 id 生成从 GenerationType.IDENTITY
更改为 GenerationType.SEQUENCE
而不会对服务的生产版本产生影响?数据库管理系统是 PostgreSQL。
我需要切换到 SEQUENCE
以允许 Hibernate 执行批处理操作。但是我的生产服务有大约一年的 IDENTITY
策略。实体 class 中的更改是否会以某种方式影响之前生成的 ID?
现在我有
@Entity
@EqualsAndHashCode(of = {"id"}, callSuper = false)
public class MyClass {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Getter @Setter
private Long id;
}
如果我将策略更改为 GenerationType.SEQUENCE
会怎样?
只要您确保序列的起始值高于 id
列中的任何现有值,对 GenerationType.SEQUENCE
的更改应该不会成为问题。