gpt4 book ai didi

java - JPA 中的复合键

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:33:07 25 4
gpt4 key购买 nike

我想创建一个具有自动生成的主键的实体,以及一个由其他两个字段组成的唯一复合键。我如何在 JPA 中执行此操作?
我想这样做是因为主键应该用作另一个表中的外键,并且将其组合起来并不好。

在下面的片段中,我需要命令和模型是唯一的。 pk当然是主键。

@Entity
@Table(name = "dm_action_plan")
public class ActionPlan {
@Id
private int pk;
@Column(name = "command", nullable = false)
private String command;
@Column(name = "model", nullable = false)
String model;
}

最佳答案

您可以使用 @UniqueConstraint像这样:

@Entity
@Table(name = "dm_action_plan",
uniqueConstraints={ @UniqueConstraint(columnNames= "command","model") } )
public class ActionPlan {
@Id
private int pk;

@Column(name = "command", nullable = false)
private String command;

@Column(name = "model", nullable = false)
String model;
}

这将允许您的 JPA 实现为唯一约束生成 DDL。

关于java - JPA 中的复合键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/90885/

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