当前位置: 首页 > 面试题库 >

将条件查询与休眠一起使用时,如何将条件“或”在一起?

常乐
2023-03-14
问题内容

我正在尝试使用hibernate条件查询在三个字段上执行基本的“或”操作。

class Whatever{
 string name;
 string address;
 string phoneNumber;
}

我想建立一个条件查询,其中我的搜索字符串可以匹配“名称”或“地址”或“ phoneNumber”。


问题答案:

您要使用Restrictions.disjuntion()。像这样

session.createCriteria(Whatever.class)
    .add(Restrictions.disjunction()
        .add(Restrictions.eq("name", queryString))
        .add(Restrictions.eq("address", queryString))
        .add(Restrictions.eq("phoneNumber", queryString))
    );

请在此处查看Hibernate文档。



 类似资料:
  • 问题内容: 我有一个带有设置和发布列的数据表,这两个表都保留时间戳。我的目标是使用CriteriaQuery在下面创建等效的SQL查询。 SQL查询: 该CriteriaBuilder#DIFF() ,因为它需要包含数字参数功能显然是不行的,所以我尝试使用CriteriaBuilder#功能: 但是,当我尝试运行此代码时,它引发了异常。似乎文字不是呈现为常量,而是呈现为参数: 所以我尝试匿名重写L

  • 问题内容: 任何使用条件/ hql / sql告诉我查询的人。要求是用户输入电子邮件或用户名查询从表user返回用户的密码。 问题答案: 如果您正在做的只是获取一个字段,那么您可能只想执行hql(或者可能是sql)。 如果您符合条件,我相信您将撤回整个对象,只是为了最终使用一个字段。 编辑: 这是一个非常广泛的问题。这是一个教程

  • 问题内容: 在我当前的项目中,我遇到了使用hibernate条件查询获取实体的问题。我有以下实体: 教授,其中包含学生名单 学生,其中包含作业列表。 作业,其中包含分配到的学生的ID。 现在,我想获得与教授有关的所有作业,即教授分配给他的学生的所有作业。 此查询显示我要在条件查询中实现的内容。 如何使用hibernate条件API实施此查询? 问题答案: 假设您的表格是这样的: 使用别名的简单示例

  • 问题内容: 我需要使用detachedCriteria进行此SQL查询: 这个想法是从不属于用户的游戏中获取ID。我尝试了与detachedCriteria类似的10种不同方法,但得到了“未知实体:null” MappingException代码应类似于: 还设置投影以仅返回游戏的ID。 有任何想法吗?我认为Hibernate在加入没有别名的查询时会遇到一些麻烦。添加别名是可行的,但结果是完全错误

  • 问题内容: 我不确定如何描述这个问题,所以我认为举个例子是问我问题的最好方法: 我有两个表具有多对多关系: 驾驶员许可证<->许可证类别 LicenceClass是诸如“汽车”,“摩托车”和“中型刚性”之类的东西。 使用Hibernate Criteria,如何找到同时具有“汽车”和“摩托车” LicenceClasses的所有许可证? 2008年12月11日更新我发现可以使用自定义ResultT

  • 问题内容: 我在MySQL中使用group_concat编写了一个查询,例如 并给出我的预期结果。 现在,我想使用休眠条件编写相同的查询。 问题答案: 简单的答案是 否定的 为什么? Hibernate仅支持在多个数据库中使用的通用功能/语法。Microsoft SQL Server中没有任何功能,也可能在其他数据库中。 解决方案: 您必须将其作为简单SQL查询执行。