java - 我们可以从 hql 查询中获取单个对象吗?

标签 java mysql hibernate hql

我正在 hql 中编写一个选择查询,我的任务是激活总线。首先我会从客户端得到一个消息作为 busId#busStatus,所以首先我寻找这个特定的 busId 是 Activity 的还是非 Activity 的所以我必须编写选择查询但是在 hibernate 状态 query.list() 返回 列表。这里我觉得不需要list,一个object就够了。

这是我的代码,

    String hql="from BusDetailBean where Busid= :busId and bus_status=:busStatus";
        Query query = session.createQuery(hql);
        query.setParameter("busId", busId);
        query.setParameter("busStatus", busStatus);

        List<BusDetailBean> busDetails=(List<BusDetailBean>)query.list(); 
       if(busDetails.isEmpty())
        {
             //my other stuff
        }
         else
         {

            //bus ativation stuff
         }

我的问题是如果列表不为空,选择查询只返回一个对象我必须在 else 部分使用 for 循环。那么我该如何优化这段代码。谁能帮我解决这个问题。

最佳答案

您可以使用query.getSingleResult()

关于java - 我们可以从 hql 查询中获取单个对象吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27901795/

相关文章:

java - AppCompat 相当于 "Theme.Wallpaper.NoTitleBar.Fullscreen"

java - Hibernate + Mysql 创建sessionFactory失败

java - hibernate 标准。选择所有不同的实体

java - 使用java比较两个TIME变量

java - EJB3 bean "self inject"可以通过 EJB 容器调用它自己的方法吗?

java 安全策略没有按预期工作,总是给出 AccessControlException

php - 如何使用codeigniter在mysql中插入带有特殊字符的文本

php - MYSQL:连接多个表 - 用用户名替换多个用户ID

php - 使用 ajax 搜索获取数据时未提交表单

java - 检索 object.class.simpleName 返回 "Object_$$_jvst622_7"