java - 列名“saleStatus_id”无效
问题描述
使用迁移我创建了一个名为sale_status的表
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;
目前,我在表中有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;
推荐阅读
- java - 在 OSX 机器上,Appium 驱动程序初始化失败,“未设置 JAVA_HOME”
- android - Android 通过链接分享文本
- sql - 在oracle中以周间隔和参数日期计数数据
- java - Android Studio 无法识别基本包,例如字符串或整数“无法解析符号...”
- matlab - 数值分析:割线法。我究竟做错了什么
- neo4j - 创建包含范围的节点时遇到问题
- javascript - 在远程服务器上运行代码时出现“无法设置 null 的 textContent 属性”错误
- django - Django:从一个超类继承访问多个子类的某些属性
- c# - 如何使用数学来创建更高效的代码?
- javascript - 如何制作没有“固定”高度的可滚动框?