UPDATE AND REPLACE部分或带参数的字符串/记录



ALL>

我在这里有一个命名查询来更新和替换记录。

@NamedQuery(name = POST.UPDATE_POST_MESSAGE, query = "UPDATE Post p SET p.message = REPLACE(p.message, :value, 'ANONYMOUS')"

我想要";旧字符串";可以参数化,但显示错误

由以下原因引起:java.lang.IollegalArgumentException:您试图使用查询字符串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();
}

我不确定我们是否可以在替换函数中使用参数,我一直在到处搜索,但我找不到答案。如果不可能,有人能帮助/推荐一种使用参数替换记录的方法吗。

这里您为value变量分配了参数值,但使用了value(小写(。

相关内容

  • 没有找到相关文章

最新更新