gpt4 book ai didi

java - @Id 不创建主键

转载 作者:行者123 更新时间:2023-12-02 08:44:09 25 4
gpt4 key购买 nike

在我的 Spring Boot 数据库项目中,我希望这个“id”字段能够自动生成、唯一的主键,但事实并非如此。当我检查 H2 数据库 GUI 时,主键是一些模糊的、隐藏的第三列,当我查询表时它甚至没有列出。我附上了它的屏幕截图。

H2数据库GUI截图:

enter image description here

这是我的@Entity 类。

package com.schabby.springdb;

import java.io.Serializable;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class Entry implements Serializable {

@GeneratedValue(strategy=GenerationType.AUTO)
@Id
private Long id;

private String text;

public Entry() {
}


public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getText() {
return text;
}

public void setText(String text) {
this.text = text;
}

}

最佳答案

试试这个:

@Entity
public class Entry implements Serializable {

@Id
@GeneratedValue(strategy=GenerationType.IDENTITY)
private Long id;

private String text;

public Entry() {
}


public Long getId() {
return id;
}

public void setId(Long id) {
this.id = id;
}

public String getText() {
return text;
}

public void setText(String text) {
this.text = text;
}

}

这里IDENTITY表示持久化提供者必须使用数据库标识列为实体分配主键。

您可以引用以下引用资料来了解有关不同GenerationType的更多信息。

引用: https://docs.oracle.com/javaee/5/api/javax/persistence/GenerationType.html

关于java - @Id 不创建主键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61194581/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com