如何使用Hibernate从Mysql最后一个记录?
技术问答
314 人阅读
|
0 人回复
|
2023-09-14
|
List last = session.createQuery("from lahetys order by lahetysNro DESC LIMIT 1").list();在日志里,我得到了:* F; L1 b! v8 O! k& L
INFO: Hibernate: select from order by lahetysNro DESC LIMIT 1WARN: SQL Error: 1064,SQLState: 42000ERROR: 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处理这个问题的最佳实践是什么?
% n8 f" T. @% e J$ A, Y% {% S另一个问题:0 d& k6 |) Y& J4 I8 a u
Lahetys last = (Lahetys)session.createSQLQuery("select * from lahetys order by lahetysNro DESC LIMIT 1").uniqueResult();session.getTransaction().commit();我得到了一个例外:
7 T* v. p- W# O) J s, a8 JLjava.lang.Object; cannot be cast to Lahetys所以我不能把对象投射到我身上Lahetys对象上,很奇怪吗?$ Y8 f1 r: R* E$ p# R. E
谢谢!萨米族
0 K1 `1 y% f ?6 U 1 G4 C* e' j& k1 p+ v
解决方案:
/ l' u. Z- R, p6 L, P- P 您的HQL查询无效。LIMIT不是有效的HQL子句。要在Hibernate只要做到这一点6 a9 x9 ^* Q: M" F' t( G5 K
Query query = session.createQuery("from lahetys order by lahetysNro DESC");query.setMaxResults(1);Lahetys last = (Lahetys) query.uniqueResult();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|