JPA多对多单向

时间:2015-09-01 03:39:40

标签: spring spring-data-jpa jpa-2.1

我使用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;

1 个答案:

答案 0 :(得分:-1)

这实际上是您的真实代码,也许问题是您在 Appartment AppartmentFeatureOption 之间使用 ManyToMany 关系,而有 AppartmentFeatureOption 中没有指向 Appartment 的链接。

根据我对公寓的理解,您希望拥有多个 AppartmentFeatureOption ,这是 OneToMany 关系。