Java Spring引导:使用HQL返回自定义pojo对象
假设我有这3个实体Java Spring引导:使用HQL返回自定义pojo对象,java,spring,hibernate,spring-boot,hql,Java,Spring,Hibernate,Spring Boot,Hql,假设我有这3个实体 @Entity public class Student { @Id @Column long studentId; @Column String name; } @Entity public class Exam{ @Id @Column long examId; } @Entity public class StudentExam { @Id @Column long studentExamId; @ManyToO
@Entity
public class Student {
@Id
@Column
long studentId;
@Column
String name;
}
@Entity
public class Exam{
@Id
@Column
long examId;
}
@Entity
public class StudentExam {
@Id
@Column
long studentExamId;
@ManyToOne
@JoinColumn("student_id")
Student student;
@ManyToOne
@JoinColumn("exam_id")
Exam exam;
@Column
int score;
}
我上的是pojo课
public class StudentExamDTO {
ExamDTO exam;
StudentDTO student;
int bestScore;
}
其中ExamDTO和StudentDTO是简单的非实体模型。最佳分数是学生在给定考试中取得的最好成绩。我想要的是使用Spring引导存储库接口直接返回ExamStudentDTO的简单请求
public interface ExamRepository extends JpaRepository<ExamStudent, Long> {
@Query("select new StudentExam(...) ..")
Object getStudentExam(@Param("examId")long examId, @Param("studentId")long studentId);
}
public interface ExamRepository扩展了JpaRepository{
@查询(“选择新的StudentExam(…)…)
对象getStudentExam(@Param(“examId”)long examId、@Param(“studentId”)long studentId);
}
有没有一种方法可以像doing Object[“column”]那样访问数据?如果是这样,是否可以直接在StudentExamDTO类上获取结果?您有什么问题?我正在寻找一种方法,直接将查询的结果数据返回到自定义pojo类中。包含聚合函数的查询在数据库中创建视图并将视图映射到实体。然后使用存储库查询视图。