我正在使用 Java 17 和 Spring Boot 3 创建一些基本的 BE,当我尝试插入这种类型的条目时
@Entity
@Table(name = "companies")
public class Company {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
public UUID id;
@Column(nullable = false, unique = true)
public String name;
public String icon;
}
使用以下 SQL 插入
insert into companies(icon, name) values ('icon.png', 'UPV')
它抱怨说
[23502] ERROR: null value in column "id" of relation "companies" violates not-null constraint Detail: Failing row contains (null, UPV, icon.png).
这些表是由 JPA 在本地运行的 Docker 容器中自动创建的,以防万一。知道会发生什么吗?
您还必须声明将用于生成实体 UUID 的
GenericGenerator
。
@Entity
@Table(name = "companies")
public class Company {
@Id
@GeneratedValue(strategy = GenerationType.UUID)
@GenericGenerator(name = "UUID", type = org.hibernate.id.uuid.UuidGenerator.class)
@Column(name = "id")
private UUID id;
@Column(nullable = false, unique = true)
public String name;
public String icon;
}