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

将一些MYSQL放入命名查询

后源
2023-03-14

我需要将一些MySQL代码转换为一个名为query的JPA

示例

从标题类似“%Matrix%”的电影中选择*

我的猜测会吗

@NamedQuery(name = "Movies.findMoviePart", query = "SELECT c FROM Movies c  where c.title  LIKE '% :title %'")})
be but it has some errors

org.springframework.dao.invalidDataAccessapiUsageException:org.hibernate.QueryParameterException:找不到命名参数[title];嵌套异常为java.lang.IllegalArgumentException:org.hibernate.QueryParameterException:找不到命名参数[title]

dao impl中的代码

@Override public List getAllPartMovie(String title){
TypedQuery query=EntityManager.CreateNamedQuery(“Movies.FindMoviePart”,Movies.Class);query.SetParameter(“title”,title);try{return query.GetResultList();}catch(NoResultException ex){//geen record gevonden return Null;}

坦克是你的帮手

共有1个答案

胥诚
2023-03-14

不要将%添加到查询中,将它们添加到查询中的参数中:

query.setParameter("title", "%" + value + "%");

另一个几乎与您相同的问题:如何指定一个由通配符包围的JPA命名参数?

 类似资料:
  • 我有这个问题。我已经有了MySQL中的数据库,现在我想让用户选择数据,如果数据存在,程序运行到“true”和“false”的情况下,其余的。我将MySQL查询放入Java中的if语句中。但当我把它放进去时,它会引起一个问题,无论我选择什么数据,它总是返回“true”,而不会遇到“false”的情况。当我尝试使用.isNullOrEmpty时,它总是返回“false”。在这种情况下还有其他解决方案吗

  • 我有SQL查询,结果是多行多列。 我想执行此查询并将结果放入

  • 问题内容: 我正在尝试使用以下SQL表达式重命名MySQL社区服务器5.5.27中的列: 我也试过 但它说: 错误:检查与您的MySQL服务器版本相对应的手册 问题答案: 使用以下查询: 该功能在Oracle数据库中使用。 注意用于MySQL的反引号,而双引号用于Oracle的语法。 另请注意,MySQL 8.0可能不接受反引号。在这种情况下,不带反引号的情况下执行查询,它可能会起作用。 @ la

  • 问题内容: 我有表 的列:,,。 我正在尝试将列中的两行相减,然后将结果放入一个名为的别名中。 我正在使用: 我在消费别名中得到的内容与原始别名一样简单: 我想要的是: 所以id 1 = 0,因为这是第一个date_taken kwh读数,因此不需要消耗值。这试图计算一年中每周的千瓦时消耗量。 问题答案: 只需为表名指定一个别名,然后在相关子查询中为表指定一个不同的别名即可。像这样的东西: SQL

  • 我想在JPA 2.1中将“命名查询”转换为“SQL查询”,并在运行之前对其进行更改。 例如,我有一个命名查询:从CU所在的客户中选择CU。代码=?1,我希望在PAR之后获得查询并对其进行转换和编辑(例如添加模式名称)并创建此查询:从db1.cc1cust cu中选择*其中cu.cc1cod=?1. 我该怎么做? 问候

  • 可以在映射文档中定义查询的名字,然后就可以象调用一个命名的 HQL 查询一样直接调用命名 SQL 查询.在这种情况下,我们不 需要调用 addEntity() 方法。 <sql-query name="persons"> <return alias="person" class="eg.Person"/> SELECT person.NAME AS {person.name},