亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

JPA persist 在級聯子項時插入不正確的 id 值

JPA persist 在級聯子項時插入不正確的 id 值

UYOU 2021-06-08 13:08:21
這段代碼失敗了我在數據庫中有一個現有的版本化值,我使用 獲取該值entity manager.find并在實體上設置。VersionEntity version = entityManager.find(VersionEntity.class, 1);entities.forEach(__ -> __.setVersion(version));entities.forEach(entityManager::persist);entityManager.flush();我專門查找并分配版本 1,那么為什么它甚至會嘗試使用版本 2。我什至嘗試過merge,但沒有奏效。我的屬性顯然是錯誤的/不正確的。刷新失敗本地異常堆棧:異常 [EclipseLink-4002](Eclipse 持久性服務 - 2.7.1.qualifier):org.eclipse.persistence.exceptions.DatabaseException 內部異常:org.postgresql.util.PSQLException:錯誤:插入或更新表“ t_quality_measurement”違反外鍵約束“fk_t_quality_measurement_version” 詳細信息:表“t_version”中不存在鍵(版本)=(2)。錯誤代碼:0 調用:INSERT INTO T_QUALITY_MEASUREMENT (BRAND, DATE, KPICODE, KPICOMPAREVW, KPICOMPAREWT, KPIVALUE, ORGANISATIONUNIT, PHASE, PLANT, SERIES, SIGNALCOLOR, TECHNOLOGY, TEMPORALUNIT, (?, S?) ?, ?, ?, ?, ?, ?, ?, ?, ?) bind => [14 個參數綁定] 查詢:當我專門查找 1 時,我不確定為什么它會嘗試使用 2。@Entity@Table(name = "T_QUALITY_MEASUREMENT")public class QualityMeasurementEntity extends Versioned implements Serializable {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(columnDefinition = "serial")    private Integer id;    @Column(length = 100)    private String series;版本化看起來像這樣@MappedSuperclasspublic abstract class Versioned {    @ManyToOne    @JoinColumn(name = "version", insertable = false, updatable = false)    protected VersionEntity version = null;    public VersionEntity getVersion() { return version; }    public void setVersion(VersionEntity version) { this.version = version; }}和版本實體。@Entity@Table(name = "T_VERSION", indexes = {        @Index(name = "pk_version", columnList = "id", unique = true)})@NamedQuery(name = "Version.findById", query = "SELECT v FROM VersionEntity v WHERE v.id = :id")public class VersionEntity {    @Id    @GeneratedValue(strategy = GenerationType.IDENTITY)    @Column(columnDefinition = "serial")    private Integer id;    @Column(name = "CREATED")    private LocalDateTime created;
查看完整描述

1 回答

  • 1 回答
  • 0 關注
  • 212 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號