Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/334.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用参数更新和替换零件或字符串/记录_Java_Sql_Spring Boot_Spring Data_Named Query - Fatal编程技术网

Java 使用参数更新和替换零件或字符串/记录

Java 使用参数更新和替换零件或字符串/记录,java,sql,spring-boot,spring-data,named-query,Java,Sql,Spring Boot,Spring Data,Named Query,全部> 这里有一个命名查询,用于更新和替换记录 @NamedQuery(name=POST.UPDATE\u POST\u MESSAGE,query=“UPDATE POST p SET p.MESSAGE=REPLACE(p.MESSAGE,:value,'ANONYMOUS')” 我想将“旧字符串”参数化,但它显示了 原因:java.lang.IllegalArgumentException:您试图使用查询字符串UPDATE Post p set p.message=REPLACE(p.m

全部>

这里有一个命名查询,用于更新和替换记录

@NamedQuery(name=POST.UPDATE\u POST\u MESSAGE,query=“UPDATE POST p SET p.MESSAGE=REPLACE(p.MESSAGE,:value,'ANONYMOUS')”

我想将“旧字符串”参数化,但它显示了

原因:java.lang.IllegalArgumentException:您试图使用查询字符串UPDATE Post p set p.message=REPLACE(p.message,:value,'ANONYMOUS')中不存在的值名称设置参数值

以下是我的dao层中的代码:

private static final String VALUE = "value";

public void updateMessage(String value) {
  EntityManager entityManager = createEntityManager();

  entityManager.createNamedQuery(POST.UPDATE_POST_MESSAGE)
     .setParameter(VALUE, value)
     .executeUpdate();
}
我不确定我们是否可以在replace函数中使用一个参数,我一直在到处搜索,但找不到答案。
如果不可能,是否有人可以帮助/推荐一种使用参数替换记录的方法。

此处您将参数值指定给值变量,但使用值((小写)。

字符串值的值是什么-为什么不使用字符串文字
“值”
?取决于用户输入的内容。??
设置参数(值,值)
-大写的
指的是参数的名称对不起,我更新了我的问题/code我建议您向我们提供整个堆栈跟踪和
POST.UPDATE\u POST\u消息的值