我不想使用自动增量ID。我在PostgreSQL中有此表:
CREATE TABLE public.project
(
id character varying(255) COLLATE pg_catalog."default" NOT NULL,
name character varying(255) COLLATE pg_catalog."default" NOT NULL,
number bigint NOT NULL,
state character varying(255) COLLATE pg_catalog."default",
CONSTRAINT project_pkey PRIMARY KEY (id)
)
我有这个模型:
@Entity
@Table(name = "project")
@JsonIgnoreProperties({ "hibernateLazyInitializer", "handler" })
public class Project {
@Id
@Column(name = "id")
private String id;
@Column(name = "name")
private String name;
@Column(name = "number")
private BigInteger number;
@Column(name = "state")
private String state;
我想使用简单的ID,我不想使用autoincrement和hibernate_sequence,也不知道我在哪里出错。
我有错误:
ERROR 11088 --- [ restartedMain] o.h.engine.jdbc.spi.SqlExceptionHelper : ERROR: relation "hibernate_sequence" does not exist
答案 0 :(得分:0)
您需要在spring.jpa.properties.hibernate.id.new_generator_mappings=false
文件中设置application.properties
。
答案 1 :(得分:0)
运行:
CREATE SEQUENCE hibernate_sequence START 1;
答案 2 :(得分:0)
对于我来说,我可以通过将postgres驱动程序升级到更新的版本来解决问题,该驱动程序似乎也可以与其他(较旧的)postgres版本一起使用。 (build.gradle中的更新版本):
implementation 'org.postgresql:postgresql:42.2.18'