首页 > 解决方案 > 我应该使用什么 Hibernate Query 来检索 MS SQL 中的最新记录?

问题描述

假设我有一个Entity名为Students

@Data
@Entity
@Table(name = "dbo.students")
public class Students implements Serializable {


    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @Column(name = "id")
    private String studentId;

    @Column(name = "name")
    private String studentName;

    @Column(name = "course")
    private String studentCourse;

    @Column(name = "date_admitted")
    private String dateAdmitted;

}

还有一个MS SQL表叫students

++++++++++++++++++++++++++++++++++++++++++++++++++++

id     name          course             date_admitted
1      Pankesh        EEE            2020-10-21 07:52:30.977
2      Pankesh        IT             2020-11-03 11:53:20.976
3      Pankesh        CE             2020-09-11 08:30:29.975

++++++++++++++++++++++++++++++++++++++++++++++++++++

我要检索的是最新记录

2      Pankesh        IT            2020-11-03 11:53:20.976

我的Hibernate查询

session.createQuery("FROM Students WHERE name='"+studentName+"' ORDER BY date_admitted DESC")

Hibernate我应该为这种情况提出什么查询?

注意:我正在使用AnnotationMapping映射到的方法MS SQL

标签: javasql-serverhibernate

解决方案


采用entityManager.createQuery("FROM Students WHERE studentName = :name ORDER BY dateAdmitted DESC" ).setParameter("name", studentName).setMaxResults(1).getResultList();


推荐阅读