gpt4 book ai didi

java - 为什么这会导致 java.sql.SQLIntegrityConstraintViolationException?

转载 作者:行者123 更新时间:2023-12-02 05:19:34 24 4
gpt4 key购买 nike

我的应用程序有一个带有此属性和 JPA 注释的实体类 (Ativo):

@JoinColumn(name = "BOLSA", referencedColumnName = "ID")
@ManyToOne(optional = false, cascade = {CascadeType.PERSIST})
private Bolsa bolsa;

当我尝试持久化实体类(Ativo)时,抛出此异常:

内部异常:java.sql.SQLIntegrityConstraintViolationException:该语句已中止,因为它会导致在“BOLSA”上定义的“SQL131102225757700”标识的唯一或主键约束或唯一索引中出现重复键值。

我不明白我的代码有什么问题。如果这只是现有对象的外键,为什么要尝试创建 Bolsa 类型的新对象?

<小时/>

Ativo 类的 header :

@Entity
@Table(name = "ATIVO")
public class Ativo implements EntityInterface<Ativo>, Serializable {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ID")
private Long id;

@Basic(optional = false)
@Column(name = "CODIGO", unique=true, nullable = false)
private String codigo;

@Basic(optional = false)
@Column(name = "TIPO_MERCADO", nullable = false)
private String tipoMercado;

@Column(name = "DESCRICAO", nullable = false, length = 10000)
private String descricao;

@JoinColumn(name = "BOLSA", referencedColumnName = "ID")
@ManyToOne(optional = false, cascade = {CascadeType.PERSIST})
private Bolsa bolsa;
<小时/>

Bolsa 类的 header :

@Entity
@Table(name = "BOLSA")
public class Bolsa implements EntityInterface<Bolsa>, Serializable, Comparable<Bolsa> {

private static final long serialVersionUID = 1L;

@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Basic(optional = false)
@Column(name = "ID")
private Long id;

@Basic(optional = false)
@Column(name = "NOME", unique = true, nullable = false)
private String nome;

@Column(name = "DESCRICAO", nullable=false, length = 10000)
private String descricao;

最佳答案

错误消息很明确:您试图插入数据库中已存在 id 的行,因此会发生完整性约束冲突(重复的主键)。

检查您的代码,即设置 id 的部分,并确保它使用唯一标识符。或者使用 id 字段中的注释每次自动生成一个新 key 。或者定义一个数据库序列来执行此操作。

关于java - 为什么这会导致 java.sql.SQLIntegrityConstraintViolationException?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19755556/

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