我试图找到插入表格的最后一个元素。
我试着这样写:
m_query = m_session.createQuery("LAST(bankAccount) FROM AccountStatus");
想要记录的名称是bankAccount,表名是AccountStatus
我该怎么写呢?
非常感谢,
P.S
这是一个休眠查询
利
答案 0 :(得分:1)
关系模型中的“表”设置了语义。没有“最后”元素,排序可以是任意的。您需要引入一个排序标准,如插入日期的时间戳。有不同的可能实现。您可以通过简单的只读(对于用户,而不是Hibernate!)字段在Java对象模型上执行此操作,该字段通过数据库级别的触发器或Hibernate生命周期侦听器初始化为当前时间。然后,您可以轻松获得具有最新插入日期的实体。
答案 1 :(得分:1)
如果你的表中有id,你可以通过max id找到最后一个元素
m_query = m_session.createQuery("max(id) FROM AccountStatus");
答案 2 :(得分:0)
如果表格中存在自动增量ID列,您还可以使用:
m_query = m_session.createQuery("a1.bankAccount FROM AccountStatus a1 where not exists (a2.bankAccount FROM AccountStatus a2 where a2.id>a1.id)");