gpt4 book ai didi

java - 使用 Hibernate 和 spring 检查数据库中是否存在一行的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-04 03:08:16 25 4
gpt4 key购买 nike

我需要以非常快速的方式检查数据库中是否存在一行。假设我有主键。我在 Hibernate 的常见问题解答网站上找到了这段代码:

Integer count = (Integer) session.createQuery("select count(*) from ....").uniqueResult();

我刚开始使用 spring,所以我将 HibernateTemplate 对象注入(inject)到我的类中。如何翻译此代码段以与 HibernateTemplate 一起使用。

有谁知道比这更好/更快的方法吗?

谢谢。

最佳答案

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())。

关于java - 使用 Hibernate 和 spring 检查数据库中是否存在一行的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8232103/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com