列名称无效 'saleStatus_id'
Invalid column name 'saleStatus_id'
使用迁移我创建了一个名为 sale_status
的 table
public class SaleStatus {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private short id;
private String description;
和make_sale
public class MakeSale {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private long id;
@Column(columnDefinition = "NVARCHAR(MAX) NULL")
private String detail;
@Column(name = "application_date")
private java.time.LocalDateTime applicationDate;
@OneToOne
private SaleStatus SaleStatus;
目前,我在 table 中有 sale_status_id 但它要求 saleStatus_id 字段名称全部为下划线,但是当我尝试插入数据时出现上述错误。我该如何解决?
错误详情为
[nio-8085-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper : Invalid column name 'SaleStatus_id'.
2021-08-31 14:03:34.099 ERROR 42928 --- [nio-8085-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet]
创建关系后,JPA 会使用标准命名约定对其进行映射。如果您需要以其他方式命名列,您总是可以告诉 JPA 它是如何被调用的。对于您的情况,您可以添加一些信息:
@OneToOne
@JoinColumn(name = "sale_status_id", referencedColumnName = "id")
private SaleStatus SaleStatus;
使用迁移我创建了一个名为 sale_status
的 tablepublic class SaleStatus {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private short id;
private String description;
和make_sale
public class MakeSale {
@Id
@GeneratedValue(strategy= GenerationType.IDENTITY)
private long id;
@Column(columnDefinition = "NVARCHAR(MAX) NULL")
private String detail;
@Column(name = "application_date")
private java.time.LocalDateTime applicationDate;
@OneToOne
private SaleStatus SaleStatus;
目前,我在 table 中有 sale_status_id 但它要求 saleStatus_id 字段名称全部为下划线,但是当我尝试插入数据时出现上述错误。我该如何解决?
错误详情为
[nio-8085-exec-1] o.h.engine.jdbc.spi.SqlExceptionHelper : Invalid column name 'SaleStatus_id'.
2021-08-31 14:03:34.099 ERROR 42928 --- [nio-8085-exec-1] o.a.c.c.C.[.[.[/].[dispatcherServlet] : Servlet.service() for servlet [dispatcherServlet]
创建关系后,JPA 会使用标准命名约定对其进行映射。如果您需要以其他方式命名列,您总是可以告诉 JPA 它是如何被调用的。对于您的情况,您可以添加一些信息:
@OneToOne
@JoinColumn(name = "sale_status_id", referencedColumnName = "id")
private SaleStatus SaleStatus;