gpt4 book ai didi

java - org.hibernate.MappingException : Repeated column in mapping for entity for OneToOne Mapping

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

我正在两个类 SkuImplSkuAvailability 之间构建 OneToOne 关系。下面是代码

SkuImpl.java

@Entity 
public class SkuImpl implements Sku {
@OneToOne(targetEntity=SkuAvailabilityImpl.class)
protected SkuAvailability totalSku;
//setter and getters
}

SkuAvailabilityImpl.java

@Entity 
public class SkuAvailabilityImpl implements SkuAvailability{
@OneToOne(optional=true,targetEntity=SkuImpl.class,cascade=CascadeType.ALL)
@JoinColumn(name="SKU_ID")
protected Sku sku;
//setter and getters
}

当我尝试将应用程序部署到 glassfish 中时,它没有部署,出现异常

Caused by: org.hibernate.MappingException: Repeated column in mapping for entity:
SkuAvailabilityImpl column: SKU_ID
(should be mapped with insert="false" update="false")

如何解决这个异常?

最佳答案

尝试像这样编写@JoinColumn:

@OneToOne(optional=true,targetEntity=SkuImpl.class,cascade=CascadeType.ALL) 
@JoinColumn(name="SKU_ID",referencedColumnName="someNameOfColumnId")
protected Sku sku;

referencedColumnNameSkuImpl 类中的列 ID。

下面的代码是不必要的:

  @OneToOne(targetEntity=SkuAvailabilityImpl.class) 
protected SkuAvailability totalSku;

关于java - org.hibernate.MappingException : Repeated column in mapping for entity for OneToOne Mapping,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36099652/

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