Java Spring数据OneToMany关系IP错误
有人能帮我提一个问题吗。我在文档中创建了对象结构,但relationschip-OneToMany不起作用Java Spring数据OneToMany关系IP错误,java,spring,jpa,spring-data,one-to-many,Java,Spring,Jpa,Spring Data,One To Many,有人能帮我提一个问题吗。我在文档中创建了对象结构,但relationschip-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
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_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;
}
我相信问题在于
mappedBy
值,因为mappedBy
的值应该与相应类中的属性名称相同,而不是与@表中的注释相同。因此,要解决这个问题,只需将mappedBy
表单e_orders
中的值更改为attachedOrder
order
是一个受限的SQL单词,我已经更改为“e_orders”,但仍然是一个生成的SQL,当属性为order
(Partner+Position)Yuriy Tsarkov。它在调用创建脚本之前崩溃。它在HibernateJpaConfiguration.class中配置的第一阶段直接崩溃
@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;
}