我需要以非常快的方式检查数据库中是否存在一行。
假设我有主键。
我在 Hibernate 的 FAQ 网站上找到了这段代码片段:
Integer count = (Integer) session.createQuery("select count(*) from ....").uniqueResult();
我刚刚开始使用 spring,所以我将 HibernateTemplate 对象注入到我的类中。
如何翻译此代码片段以与 HibernateTemplate 一起使用。
有谁知道比这更好/更快的方法?
Thanks.
Long count = hibernateTemplate.execute(new HibernateCallback<Long>() {
@Override
public Long doInHibernate(Session session) {
return (Long) session.createQuery("select count(someEntity.id) from SomeEntiuty someEntity ...").uniqueResult();
}
});
Hibernate以前使用Integer进行计数查询,但现在使用Long。另外,请注意,即使没有弃用,Spring也建议不要再使用HibernateTemplate并直接使用Hibernate API(使用sessionFactory.getCurrentSession()
).
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)