当前位置: 首页 > 知识库问答 >
问题:

创建在类路径资源中定义名称为“entityManagerFactory”的bean时出错。原因:实体映射中的重复列

杨良平
2023-03-14

我正在尝试与我现有的实体建立一些关系。在我的表之间添加几个许多关系之后。在删除我的前一个表格后,Spring建议该id(应与插入=“false”更新=“false”)进行映射。不太确定问题出在哪里

我的实体:

public class Madeen implements Serializable {

  // TODO update to oracle sequence
  @Id
  @GeneratedValue(strategy = GenerationType.IDENTITY)
  @Column(name = "id")
  private Long id;

  @CreatedDate
  @NotNull
  @Column(name = "created_date", updatable = false)
  private Instant createdDate = Instant.now();

  @ManyToOne
  @NotNull
  @JoinColumn(name = "id")
  private Organization organization;

  @NotNull
  @Column(name = "person_id")
  private String personId;

  @NotNull
  @Column(name="status")
  private String status;
public class Debts {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    @NotNull
    @Column(name = "person_id")
    private String personId;

    @NotNull
    @ManyToOne
    @JoinColumn(name= "id")
    private Madeen MadeenId;

    @CreatedDate
    @NotNull
    @Column(name = "created_date", updatable = false)
    private Instant createdDate = Instant.now();

    @NotNull
    @Column(name = "updated_date")
    private Instant updatedDate;

    @NotNull
    @Column(name= "debt_amount")
    private double debtAmount;

    @ManyToOne
    @NotNull
    @JoinColumn(name = "id")
    private Organization organization;



}

错误

共有1个答案

卢阳泽
2023-03-14

这是因为上面的@JoinColumn(name=“id”)组织。

joincolumn的name属性引用Madeen表中存储organization_id的数据库列。因为Madeen已经有了自己主键的列id,所以会出现这个错误。

将马登@JoinColumn(名称 = “id”) 更改为@JoinColumn(名称 = “organization_id”)

并为组织和债务做同样的事情

有关更多信息,请查看本文。

 类似资料: