java - JPQl 查询有错误

标签 java jakarta-ee jpa jpql

Query query=entityManager.createQuery("Select e from StudentQualification e where e.student=:id");
@Id
    @GeneratedValue(strategy=GenerationType.IDENTITY)
    @Column(name="id")
    private Integer id;
    @ManyToOne
    @JoinColumn(name="student_id")
    private Student student;
    @ManyToOne
    @JoinColumn(name="qualification_type")
    private QualificationType qualificationType;
    @Column(name="obtain_marks")
    private Integer obtainMarks;
    @Column(name="total_marks")
    private Integer totalMarks;
    @Column(name="institute")
    private String institute;
    @Column(name="year_of_completion")

查询执行时出错:参数值 [1] 与预期类型不匹配 [com.autosoft.fortune.model.Student (n/a)] 我的查询在上面,之后我的类属性我应该做什么

最佳答案

i am also doing this"query.setParameter("id", studentId);" in my next line of code

查看您的 SQL 是什么:

 Select e from StudentQualification e where e.student=:id"
                                            ^^^^^^^^^

e.student 的类型为 Student private Student student;而不是简单的整数。

因此,请为学生对象提供填充的 id 来进行查询,而不是 id。

关于java - JPQl 查询有错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30637499/

相关文章:

java - 如何在 Android Studio 中调试 android 库模块?

java - 如何在 Ubuntu 18.04 上安装 Oracle Java 8?

postgresql - javax.persistence.NoResultException : No entity found for query JPQL Query

java - 无法触及异常的根本原因

java - 通过 CDI 检索单元测试中的替代实体管理器

java - JPA @OrderBy 在 @ElementCollection 中不起作用

java - 使可嵌入类的字段从 JPA 中的嵌入类 transient 化

java - Java中的Pig UDF : Error 1070

java - log4j2 - Syslog appender 和 PatternLayout

java - 快速响应的总线和REST服务解耦?