Java 要检索MS SQL中的最新记录,我应该使用什么Hibernate查询?

Java 要检索MS SQL中的最新记录,我应该使用什么Hibernate查询?,java,sql-server,hibernate,Java,Sql Server,Hibernate,假设我有一个实体类,名为学生 @Data @Entity @Table(name = "dbo.students") public class Students implements Serializable { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private String studentId;

假设我有一个
实体
类,名为
学生

@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;

}
++++++++++++++++++++++++++++++++++++++++++++++++++++

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

++++++++++++++++++++++++++++++++++++++++++++++++++++
还有一个名为
students的
mssql

@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;

}
++++++++++++++++++++++++++++++++++++++++++++++++++++

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
方法映射到
mssql

使用
entityManager.createQuery(“来自学生,其中studentName=:name ORDER BY dateaccepted DESC”).setParameter(“name”,studentName.setMaxResults(1.getResultList()

最新记录的ID不应该是2吗(我想你把样本数据弄混了)?糟糕。打字错误
dateaccepted
也不应该是
字符串。考虑<代码> ZONDATDeTIME < /COD>或<代码> LoalDATeTime< /代码>,它将给我一个<代码>不能反序列化< /Cord>错误。我以前在Java中测试过这一点,当我把它作为
String
时,我能够得到
Hibernate
日志,但我的日志是
session.createQuery(来自学生,其中name=''+studentName+“'orderbydate\u-DESC)
我试图在这里帮助您避免SQL注入。永远不要将值连接到查询。始终使用一个对您进行适当转义的参数。为什么这可能会导致SQL注入/破坏数据?从未听说过bobby表?不,我从没听说过SQL注入讽刺