当前位置: 首页 > 知识库问答 >
问题:

在hql查询中使用%的问题

逑景铄
2023-03-14

我希望通过登录搜索员工列表,并使用扩展JParepository的DAO接口

public interface EmployeRepository  extends  JpaRepository<Employe, Long> {
    @Query("select e from Employe e where e.login like :x")
    public Page<Employe> employeeParLogin(@Param("x")String login, Pageable p);
}

在我的服务层中,我用

@Override
public Page<Employe> employeeParLogin(String login, Pageable p) {
    // TODO Auto-generated method stub
    return employeRepository.findByLogin("%"+login+"%", p);
}
Page<Employe> pe = employeMetier.employeeParLogin("fe",new PageRequest(0,2));

共有1个答案

齐乐逸
2023-03-14

您可以检查这个Spring JPA@Query,就像这个QA提供的那样,有两种方式,可以使用CONCAT函数,也可以使用double pipe。

因此您的EmployeRepository界面如下所示:

   public interface EmployeRepository  extends  JpaRepository<Employe, Long> {
      // you can use concat function like : CONCAT('%',:x,'%') or double pipe || 
      @Query("select e from Employe e where e.login like '%'||:x||'%'")
      public Page<Employe> employeeParLogin(@Param("x")String login, Pageable p);
   }

对于您的服务层,它将是:

@Override
public Page<Employe> employeeParLogin(String login, Pageable p) {
    // TODO Auto-generated method stub
    return employeRepository.findByLogin(login, p);
}

希望它能帮助你。

 类似资料:
  • 问题内容: 有没有办法使用HQL在Grails中使用hibernate命名查询? 我已经在《利用hibernate》一书中阅读了有关它们的内容,想知道是否有办法在Grails中使用它们。 像这样的映射文件中包含命名查询以及类映射: 现在,我确定可以包含一个 hibernate映射文件, 并将其集成到Grails GORM配置中,因为在此声明,包含 hibernate映射文件的 可以在Grails中

  • 我有一个HQL查询,通过传递一个列表来检查某些细节!精确的数组列表。下面是HQL查询。 下面是我用来传输两个参数数组列表的代码。 对于给定的参数,我从getQuery行中得到一个空指针异常!在第一次运行时,search chCriteria参数为空,因此其他参数将被执行!我不知道空指针异常发生在哪里! 非常感谢。 这是我的堆栈跟踪!

  • 问题内容: 我有以下hibernate映射: 而表如下所示: 我的hibernate查询看起来像: 但是我总是 有人可以帮我如何使它正常工作吗? 问题答案: 您必须使用子查询而不是联接。大致如下: 另外,根据类型的不同,应该以其他格式显示它。

  • 我正在运行以下内容,作为HQL查询where子句的一部分: 当我在SQL Management studio中运行它时,它运行得很好,但是当我通过eclipse运行它时,我得到了以下错误: 引起:java.lang.NullPointerExceptionorg.hibernate.dialect.function.CastFunction.render(CastFunction.java:55)

  • 请帮助我解决这个问题。这里我不能将Oracle类型char更改为varchar2。我需要使用oracle char类型变量。 @EngineerDollery在抛出上面的帖子之后,我用columnDefinition修改了实体类,注释属性。 但我仍然无法检索相应列的数据。