gpt4 book ai didi

hibernate - 如何验证数据库中是否存在记录?

转载 作者:行者123 更新时间:2023-12-05 09:23:58 25 4
gpt4 key购买 nike

我需要验证数据库中是否存在记录,但无论我传递给以下代码的 ID 是什么,它都不会显示任何内容。记录是否存在。

       session = HibernateUtil.getSession();
session.beginTransaction();
Query q = session.createQuery("select count(*) from Users where id = :id");
q.setInteger("id", id);
Integer count = (Integer)q.uniqueResult();
if(count > 0) {
System.err.println(">");
}
else {
System.err.println("<");
}
session.getTransaction().commit();
session.close();

我也使用了下面的代码,但仍然有同样的问题

  try{
session = HibernateUtil.getSession();
session.beginTransaction();
Users users = null;
users = (Users) session.load(Users.class, id);
}catch(Exception e){
System.err.println("<");
}

最佳答案

尝试使用投影来获得结果。

    session = sessionFactory.openSession();
session.beginTransaction();
Criteria criteria = session.createCriteria(Users.class);
criteria.add(Restrictions.eq("Id", Id));
criteria.setProjection(Projections.rowCount());
long count = (Long) criteria.uniqueResult();
session.getTransaction().commit();
if(count != 0){
System.out.println("present");
else{
System.out.println("absent");
}

关于hibernate - 如何验证数据库中是否存在记录?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17825045/

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