gpt4 book ai didi

java - 在 jpa 中使用命名查询更新查询无法正常工作

转载 作者:行者123 更新时间:2023-12-01 18:00:38 25 4
gpt4 key购买 nike

我正在尝试使用 jpa 更新一个简单的表。我为它写了一个jpa命名查询

@NamedQuery(name="updatedetails",query="update myentity set enddesc=?, startdesc=? Where id=?")

我的代码如下

em.createNamedQuery("updatedetails",myentity.class).serParameter(1, "abcd").serParameter(2,"gjvg").serParameter(3, "gghjj").executeUpdate();

myentity 是我的类(class)名称

它向我抛出以下错误

Encountered "=" at character but expected ["."] While parsing the query

查询有问题吗

最佳答案

我认为 JPA 命名查询应该使用实际名称作为参数占位符,而不是 ?,后者在准备好的语句中使用。所以这样的事情应该有效:

@NamedQuery(name="updatedetails",query="update myentity set enddesc = :enddesc, startdesc = :startdesc Where id = :id")

List<myentity> results = em.createNamedQuery("updatedetails", myentity.class)
.setParameter("enddesc", "abcd")
.setParameter("startdesc", "gjvg")
.setParameter("id", "gghjj")
.getResultList();

作为旁注,您可能应该使类名称以大写字母开头,即称其为 MyEntity,而不是您当前拥有的名称。

关于java - 在 jpa 中使用命名查询更新查询无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41234818/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com