【问题标题】:Java Spring Data OneToMany relationschip ErrorJava Spring Data OneToMany 关系芯片错误
【发布时间】:2021-07-17 16:48:39
【问题描述】:

有人可以帮忙解答一个问题吗?我已经按照文档制作了对象结构,但是关系芯片 OneToMany 不起作用。

    Order:
    - Positions
    - Partners

    I receiving error:

    SQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'order (order_id)' at line 1

订单:

@Getter
@Setter
@Entity
@Table(name = "e_orders")
public class Order {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "order_id")
    private int orderId;

    @Column(unique = true)
    private String orderNumber;
    private int count;

    @OneToMany(mappedBy = "e_orders", fetch = FetchType.LAZY)
    private List<Partner> partners;

    @OneToMany(mappedBy = "e_orders", fetch = FetchType.LAZY)
    private List<Position> positions;
}

合作伙伴:

@Getter
@Setter
@Entity
@Table(name = "e_partner")
public class Partner {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "partner_id")
    private int id;

    private String name;
    private String street;
    private String city;

    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
    @JoinColumn(name = "order_e_id")
    private Order attachedOrder;
}

职位:

@Getter
@Setter
@Entity
@Table(name = "e_position")
public class Position {

    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "position_id")
    private int id;

    private String guid;
    private String posnr;

    @ManyToOne(fetch = FetchType.LAZY, cascade = CascadeType.PERSIST)
    @JoinColumn(name = "order_e_id")
    private Order attachedOrder;
}

【问题讨论】:

  • order 是一个受限的 SQL 字
  • 我已更改为“e_orders”,但仍然是同样的问题
  • 分享一个生成的sql,plz
  • 你还有mappedBy = "orders",而属性是order(合伙人+职位)
  • 尤里·察尔科夫。它在调用创建脚本之前崩溃。它直接在 HibernateJpaConfiguration.class 配置的第一阶段崩溃

标签: java spring jpa spring-data one-to-many


【解决方案1】:

我相信问题出在您的mappedBy 值中,因为mappedBy 的值应该与相应类中的属性名称相同,而不是@Table 注释中的值。因此,要解决此问题,只需将 mappedBy 中的值从 e_orders 更改为 attachedOrder

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-02-10
    • 2014-01-18
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多