如何使用Hibernate从Mysql最后一个记录?
技术问答
456 人阅读
|
0 人回复
|
2023-09-14
|
List last = session.createQuery("from lahetys order by lahetysNro DESC LIMIT 1").list();在日志里,我得到了:4 F" w) `1 i2 i& j- E* z. M
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处理这个问题的最佳实践是什么?7 S i* {. V* {. a! p
另一个问题:; Q# W+ {6 ]! p% U
Lahetys last = (Lahetys)session.createSQLQuery("select * from lahetys order by lahetysNro DESC LIMIT 1").uniqueResult();session.getTransaction().commit();我得到了一个例外:: C0 X% K- p/ H/ k6 D
Ljava.lang.Object; cannot be cast to Lahetys所以我不能把对象投射到我身上Lahetys对象上,很奇怪吗?/ [" O0 r1 C: i& N9 S
谢谢!萨米族
+ k8 ?$ B" M R# V: F % b) `7 |' d2 c+ F! B( _" \
解决方案:
3 g6 k2 {' G0 z- Z 您的HQL查询无效。LIMIT不是有效的HQL子句。要在Hibernate只要做到这一点! Z2 C! U( s4 s5 U7 I6 X
Query query = session.createQuery("from lahetys order by lahetysNro DESC");query.setMaxResults(1);Lahetys last = (Lahetys) query.uniqueResult();;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; |
|
|
|
|
|