查询MySql视图时出现SQLGrammar错误

问题描述 投票:0回答:1

当运行GET请求时,我得到异常o.h.engine.jdbc.spi.SqlExceptionHelper:堆栈跟踪中的'字段列表'中的未知列'disburseme0_.reason_type',即使我已在实体类中正确配置了字段。我有一个Spring Boot SOAP接口,它正在查询MySql数据库视图。我已经从父表中分配了一个唯一键作为JPA中的视图ID。

我的实体类的一部分有:

@Entity
@Table(name="disbursement_payload")

public class Disbursement {
@Id 
@Column(name="ID")
private long disbursementId;

@Column(name="ReasonType")  
private String reasonType;
public long getDisbursementId() {
    return disbursementId;
}
public void setDisbursementId(long disbursementId) {
    this.disbursementId = disbursementId;
public String getReasonType() {
    return reasonType;
}
public void setReasonType(String reasonType) {
    this.reasonType = reasonType;
}

我认为:

CREATE VIEW disbursement_payload AS (
  SELECT 
   iso_number AS Currency,
trans_desc AS ReasonType,
account_number AS ReceiverParty,
amount AS Amount
  FROM m_payment_detail, m_loan_transaction 
  WHERE m_payment_detail.`id`= m_loan_transaction.`payment_detail_id` AND 
m_payment_detail.`payment_type_id`=2
); 

在实体或视图定义中是否缺少某些内容?我已经阅读了could not extract ResultSet in hibernate中的一条评论,我可能需要明确定义父模式。任何帮助,非常感谢。

mysql hibernate spring-boot view
1个回答
0
投票

根据基于下划线qazxsw poi分隔名称的camelCase转换,为​​db列和类var名称做映射

你可以尝试使用

_

视图代码是SQL代码,而hibernate将视图视为表,因此列名的转换基于相同的规则

并建议你不要使用(较旧的)隐式连接,根据你应该使用的条件(更近期)explici join sintax ..

© www.soinside.com 2019 - 2024. All rights reserved.