zoukankan      html  css  js  c++  java
  • Java Spring中@Query中使用JPQL LIKE 写法

    两种方式

    // 一
    public List<TestEntity> searchByJpql(){
        String jpql = "select k from TestEntity k where k.id = ?1 and k.no = ?2 and k.name like '%'||?3||'%' order by k.id asc";
        Object[] params = new Object[3];
        params[0]=Long.valueOf(id);
        params[1]=3L;
        params[2]="jobo";
        List<TestEntity> testEntity=testEntityDao.findByJpql(TestEntity.class, jpql, params);
    }
    // 二
    @Query("select k from TestEntity k where k.id = ?1 and k.no = ?2 and k.name like '%'||?3||'%'")
    public TestEntity searchOne(Long id, Long no, String name);

    常见异常如下:

    1.Cannot mix JPA positional parameters and native Hibernate positional/ordinal parameters;

    原因:?1,?2 ,?3有错误;

    2.Parameter with that position [2] did not exist;

    原因:params中的参数和?1,?2 ,?3 不对应;

    3.Parameter value [3] did not match expected type [java.lang.Long (n/a)];

    原因:params中的参数和TestEntity中定义的变量类型不配陪,[3] 是指数组中的value值,而不是Object[3];

  • 相关阅读:
    gcc/g++命令参数笔记
    周总结
    帆软FineBI试用
    C++输入流
    tt
    linux6 安装oracle11g
    linux下修改/dev/shm tmpfs文件系统大小
    centos6.5_x86_64 下安装 Oracle11gR2 的详细过程
    Linux Network配置
    安装KornShell(KSH)
  • 原文地址:https://www.cnblogs.com/pangpanghuan/p/6529580.html
Copyright © 2011-2022 走看看