我使用spring数据jpa,我尝试做多对多的单向关系。
@Entity
public class Appartment {
...
@ManyToMany
private List<AppartmentFeatureOption> featureOption;
}
@Entity
public class AppartmentFeatureOption {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long appartmentFeatureOptionId;
private String name;
private BigDecimal value;
}
我的数据库是在运行时创建的,但我收到此错误
org.hibernate.DuplicateMappingException:相同的物理表名称[appartment_feature_option]引用了几个逻辑表名称:[AppartmentFeatureOption],[Appartment_AppartmentFeatureOption]
有什么想法吗?
使用此代码进行编辑
@ManyToMany
@JoinTable(name="appartment_feautre_option_appartment", joinColumns=@JoinColumn(name="appartment_id"), inverseJoinColumns=@JoinColumn(name="appartment_feautre_option_id"))
private List<AppartmentFeatureOption> featureOption;
答案 0 :(得分:-1)
这实际上是您的真实代码,也许问题是您在 Appartment 和 AppartmentFeatureOption 之间使用 ManyToMany 关系,而有 AppartmentFeatureOption 中没有指向 Appartment 的链接。
根据我对公寓的理解,您希望拥有多个 AppartmentFeatureOption ,这是 OneToMany 关系。