gpt4 book ai didi

java - 为什么 JPA 更新 OrderColumn 而不是在创建时设置它?

转载 作者:太空宇宙 更新时间:2023-11-04 06:49:14 25 4
gpt4 key购买 nike

我想在我的 OrderColumn 表中添加一个 NOT NULL 约束。使用约束运行我的代码时出现约束违规错误。在没有约束的情况下运行,我发现该行首先在没有 OrderColumn 的情况下插入,然后立即使用正确的 OrderColumn 进行更新。这种行为有原因吗?

我的实体管理 OrderColumn:

@Entity
@Table(name="INSPECTION")
public class Inspection implements Serializable
{
...
@OneToMany(cascade={CascadeType.PERSIST, CascadeType.MERGE, CascadeType.REMOVE}, orphanRemoval=true)
@OrderColumn(name="LIST_INDEX", nullable=false)
@JoinColumn(name="INSPECTION_ID")
private List<RecommendationInstance> recommendations;
...
}

这个问题源于Why is JPA ignoring my @OrderColumn in a basic use case?我很困惑为什么我的 OrderColumn 没有被插入。可以在那里看到其他代码示例。

最佳答案

这里的问题是,RecommendationInstance 实体是一个单独且独立的实体,没有订单列的映射。 Eclipselink 旨在仅从实体本身创建插入。有一个功能请求要求 eclipselink 存储语句并在处理其他映射时添加到它们中,但我仍然没有方便。

关于java - 为什么 JPA 更新 OrderColumn 而不是在创建时设置它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23567267/

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