gpt4 book ai didi

mysql - 如何使用 Hibernate 从 Mysql 获取最后一条记录?

转载 作者:IT老高 更新时间:2023-10-29 00:14:02 26 4
gpt4 key购买 nike

List<Lahetys> last = session.createQuery("from lahetys order by lahetysNro DESC LIMIT 1").list();

在我得到的日志中:

INFO: Hibernate: select  from order by  lahetysNro DESC LIMIT 1
WARN: SQL Error: 1064, SQLState: 42000
ERROR: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'from order by lahetysNro DESC LIMIT 1' at line 1

“来自 LAHETYS”发生了什么?使用 HQL 或/和 SQL 处理该问题的最佳做法是什么?

另一个问题:

Lahetys last = (Lahetys)session.createSQLQuery("select * from lahetys order by lahetysNro DESC LIMIT 1").uniqueResult();
session.getTransaction().commit();

我得到一个异常(exception):

Ljava.lang.Object; cannot be cast to Lahetys 

所以我不能将对象转换到我的 Lahetys 对象上,奇怪吗?

谢谢!萨米人

最佳答案

您的 HQL 查询无效。 LIMIT 不是有效的 HQL 子句。要在 Hibernate 中做到这一点,只需做

Query query = session.createQuery("from lahetys order by lahetysNro DESC");
query.setMaxResults(1);
Lahetys last = (Lahetys) query.uniqueResult();

关于mysql - 如何使用 Hibernate 从 Mysql 获取最后一条记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13069689/

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