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