gpt4 book ai didi

java.sql.SQLException : Column 'max_grade' not Found where sql query do not contain 'max_grade' 异常

转载 作者:行者123 更新时间:2023-11-29 01:38:31 24 4
gpt4 key购买 nike

我的问题是我试图从 3 个表连接中获取值。我的mysql查询如下。它工作正常,在 sql 控制台中没有任何错误。但是使用Java运行时报错:

StringBuilder queryString = new StringBuilder();
queryString.append("SELECT cs.id, MIN( s.grade_level_val ) as minGrade, MAX( s.grade_level_val ) as maxGrade FROM class_section cs ")
.append("LEFT JOIN enrollment e ON e.class_section_id = cs.id ")
.append("LEFT JOIN student s ON s.id = e.student_id ")
.append("WHERE cs.id = :classSectionId");

TypedQuery<ClassSectionVO> query = (TypedQuery<ClassSectionVO>) entityManager.createNativeQuery(queryString.toString(), ClassSectionVO.class);
query.setParameter("classSectionId", classSectionId);

List<ClassSectionVO> result = query.getResultList();

这里是ClassSectionVO:

import java.io.Serializable;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.Id;

@Entity
public class ClassSectionVO implements Serializable
{
private static final long serialVersionUID = 1L;

@Id
@Column(name = "id")
private Integer id;

@Column(name = "minGrade")
private Short minGrade;

@Column(name = "maxGrade")
private Short maxGrade;

public Integer getId()
{
return id;
}

public void setId(Integer id)
{
this.id = id;
}

public Short getMinGrade()
{
return minGrade;
}

public void setMinGrade(Short minGrade)
{
this.minGrade = minGrade;
}

public Short getMaxGrade()
{
return maxGrade;
}

public void setMaxGrade(Short maxGrade)
{
this.maxGrade = maxGrade;
}
}

查询中没有 max_grade 列,但它给了我错误:

java.sql.SQLException :column 'max_grade' not found.

最佳答案

如果您的 Configuration对象设置一个 ImprovedNamingStrategy , 然后 camelCase 名称被转换为 snake_case。

如果您不想要 snake_case,那么要么不设置命名策略,要么将其设置为 DefaultNamingStrategy .

关于java.sql.SQLException : Column 'max_grade' not Found where sql query do not contain 'max_grade' 异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32630260/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com