【问题标题】:Generate "GENERATED ALWAYS AS IDENTITY" With Spring JPA for PostgreSQL使用 PostgreSQL 的 Spring JPA 生成“GENERATED ALWAYS AS IDENTITY”
【发布时间】:2023-02-19 05:05:02
【问题描述】:

是否有可能让 Spring-Data-JPA 使用 GENERATED ALWAYS AS IDENTITY 生成 PRIMARY KEY 列。

class SomeClass {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private ID id;
    ...
}

javax.persistence.*库得到的结果是:

CREATE TABLE IF NOT EXISTS public.sometable
(
    id bigint NOT NULL DEFAULT nextval('sometable_id_seq'::regclass),
    ...
    CONSTRAINT sometable_pkey PRIMARY KEY (id)
    ...
);

但是,理想的代码是:

CREATE TABLE IF NOT EXISTS public.sometable (
    id bigint PRIMARY KEY GENERATED ALWAYS AS IDENTITY
    ...
);

是否有指令告诉 Spring Data 生成 GENERATED ALWAYS AS IDENTITY数据库

【问题讨论】:

    标签: postgresql spring-data-jpa


    【解决方案1】:

    不,这是不可能的。已使用 columnDefinition 进行测试,它会产生异常或无效的 DDL。祝你今天过得愉快 :)

    【讨论】:

      猜你喜欢
      • 2023-03-27
      • 2017-10-13
      • 2021-01-08
      • 2021-10-30
      • 2019-11-07
      • 1970-01-01
      • 1970-01-01
      • 2021-02-26
      • 1970-01-01
      相关资源
      最近更新 更多