Oracle LIKE%在createQuery(";)中无法识别,但在@Query(";)中工作

Oracle LIKE%在createQuery(";)中无法识别,但在@Query(";)中工作,oracle,spring-boot,jpa,graphql,Oracle,Spring Boot,Jpa,Graphql,当我试着去做的时候, 这可以工作并返回一个列表 @Repository{ public interface CustomerRepository extends JPARepository<CustomerEntity,Long>{ @Query("select c from Customer c where c.custName LIKE %:custName% ORDER BY AGE DESC" List<CustomerEnti

当我试着去做的时候, 这可以工作并返回一个列表

@Repository{   
public interface CustomerRepository extends JPARepository<CustomerEntity,Long>{
    @Query("select c from Customer c where c.custName LIKE %:custName% ORDER BY AGE DESC"
    List<CustomerEntity> fetchAllCustomer(String custname);
}
@Repository{
公共接口CustomerRepository扩展了JPARepository{
@查询(“从客户c中选择c,其中c.custName类似%:custName%按年龄描述订购”
列表fetchAllCustomer(字符串custname);
}
但当我尝试这样做时: 结果1-->返回一个列表, 结果2-->错误:java.lang.illegealArguments:org.hibernate.gql.internal.QuerySyntaxException:意外标记:%1行第112列附近

public class CustomerResolver implements GraphQlQueryResolver{
  @PersistaneUnit
  private EntityManagerFactory emf;

  public List<CustomerType> findCustomer(String search){
  EntityManager em = emf.createEntityManager();

  List<CustomerType> result1 = (List<CustomerType>)em.createQuery("select c from Customer c ORDER BY AGE 
  DESC").setMAXResults(3).getResultList();
  System.out.println(result1);

  List<CustomerType> result2 = (List<CustomerType>)em.createQuery("select c from Customer c where  
  c.custName LIKE %:custName% ORDER BY AGE 
  DESC").setParameter("custName",search).setMAXResults(3).getResultList();
  System.out.println(result2);

  ...code
  ...code
  ...return ...
  

  
}
}
公共类CustomerResolver实现GraphQlQueryResolver{
@持久单位
私人实体管理工厂emf;
公共列表查找客户(字符串搜索){
EntityManager em=emf.createEntityManager();
List result1=(List)em.createQuery(“按年龄从客户c订单中选择c
DESC”).setMAXResults(3.getResultList();
系统输出打印项次(结果1);
List result2=(List)em.createQuery(“从客户c中选择c,其中
c、 custName LIKE%:custName%按年龄排序
DESC“).setParameter(“custName”,search).setMAXResults(3.getResultList();
系统输出打印项次(结果2);
…代码
…代码
…返回。。。
}
}
是不是createQuery不占LIKE的%,但对@Query有效??????? 还是我遗漏了什么

亲切问候,,
Kasis

这是我的示例,请检查

@Query("SELECT u.username FROM User u WHERE u.username LIKE CONCAT('%',:username,'%') ORDER BY AGE DESC")
List<String> findUsersWithPartOfName(@Param("username") String username);
@Query(“从用户u中选择u.username,其中u.username如CONCAT(“%”,:username,“%”)按年龄描述排序”)
列出findUsersWithPartOfName(@Param(“用户名”)字符串用户名);
List result2=(List)em.createQuery(“从客户c中选择c,其中c.custName如CONCAT(“%”,:custName,“%”)按年龄顺序描述”)。setParameter(“custName”,search)。setMAXResults(3)。getResultList();CONCAT完成了@Zaur的任务。谢谢你,伙计!!!