具有命名参数的本机查询失败,并显示“未设置所有命名参数”

成员之声

我想执行一个简单的本机查询,但是它不起作用:

@Autowired
private EntityManager em;

Query q = em.createNativeQuery("SELECT count(*) FROM mytable where username = :username");
em.setProperty("username", "test");
(int) q.getSingleResult();

为什么会出现此异常?

org.hibernate.QueryException: Not all named parameters have been set: [username]
普雷德拉格·马里奇(Predrag Maric)

JPA在本机查询中不支持命名参数,仅对于JPQL。您必须使用位置参数。

命名参数遵循第4.4.1节中定义的标识符规则。命名参数的使用适用于Java Persistence查询语言,而不是为本机查询定义的。仅位置参数绑定可用于本机查询。

所以用这个

Query q = em.createNativeQuery("SELECT count(*) FROM mytable where username = ?1");
q.setParameter(1, "test");

尽管JPA规范在本机查询中不支持命名参数,但某些JPA实现(例如Hibernate)可能会支持它

本机SQL查询支持位置参数和命名参数

但是,这会将您的应用程序耦合到特定的JPA实现,从而使其无法移植。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

尚未设置所有命名参数:[:int]

来自分类Dev

具有命名参数的TupleConstructor

来自分类Dev

具有命名参数的findAll异常

来自分类Dev

具有命名参数的构造函数?

来自分类Dev

异常“ org.hibernate.QueryException消息未设置所有命名参数:”的原因可能是什么?

来自分类Dev

原因:org.hibernate.QueryException:尚未设置所有命名参数:使用hibernate模板时

来自分类Dev

Spring SpEL JPA @Query-使用数字列获取“ QueryException:尚未设置所有命名参数”

来自分类Dev

从Powershell获取所有命名参数,包括空参数和设置参数

来自分类Dev

C-具有命名参数的函数指针类型

来自分类Dev

通过反射调用具有命名参数的方法

来自分类Dev

具有命名参数包含等号的Bash脚本

来自分类Dev

具有命名参数的SQL更新语句

来自分类Dev

通过反射调用具有命名参数的方法

来自分类Dev

C-具有命名参数的函数指针类型

来自分类Dev

飞镖中的私有命名参数

来自分类Dev

带有命名参数的 R 映射

来自分类Dev

并非所有命名参数都已在特定条件下设置

来自分类Dev

并非所有命名参数都已在特定条件下设置

来自分类Dev

由以下原因引起:org.hibernate.QueryException:尚未设置所有命名的参数:[isActive] [来自用户,其中isActive =:isActive]

来自分类Dev

休眠:使用带有命名参数的select插入实体

来自分类Dev

没有命名参数的REST HTTP DELETE

来自分类Dev

无法执行,没有命名参数匹配

来自分类Dev

只有命名参数的方法中的 ArgumentError

来自分类Dev

为什么 Kotlin 高阶函数可以有命名参数?

来自分类Dev

在代码的方法调用位置“自动插入所有命名的参数”

来自分类Dev

Couchbase N1QL的select语句,在PHP中具有命名参数

来自分类Dev

具有命名参数的马提尼路由无法加载静态文件

来自分类Dev

Flutter:未定义具有命名参数“ enabled”的AlertDialog和TextButton

来自分类Dev

使用maven执行具有命名参数的shell脚本和ant脚本

Related 相关文章

  1. 1

    尚未设置所有命名参数:[:int]

  2. 2

    具有命名参数的TupleConstructor

  3. 3

    具有命名参数的findAll异常

  4. 4

    具有命名参数的构造函数?

  5. 5

    异常“ org.hibernate.QueryException消息未设置所有命名参数:”的原因可能是什么?

  6. 6

    原因:org.hibernate.QueryException:尚未设置所有命名参数:使用hibernate模板时

  7. 7

    Spring SpEL JPA @Query-使用数字列获取“ QueryException:尚未设置所有命名参数”

  8. 8

    从Powershell获取所有命名参数,包括空参数和设置参数

  9. 9

    C-具有命名参数的函数指针类型

  10. 10

    通过反射调用具有命名参数的方法

  11. 11

    具有命名参数包含等号的Bash脚本

  12. 12

    具有命名参数的SQL更新语句

  13. 13

    通过反射调用具有命名参数的方法

  14. 14

    C-具有命名参数的函数指针类型

  15. 15

    飞镖中的私有命名参数

  16. 16

    带有命名参数的 R 映射

  17. 17

    并非所有命名参数都已在特定条件下设置

  18. 18

    并非所有命名参数都已在特定条件下设置

  19. 19

    由以下原因引起:org.hibernate.QueryException:尚未设置所有命名的参数:[isActive] [来自用户,其中isActive =:isActive]

  20. 20

    休眠:使用带有命名参数的select插入实体

  21. 21

    没有命名参数的REST HTTP DELETE

  22. 22

    无法执行,没有命名参数匹配

  23. 23

    只有命名参数的方法中的 ArgumentError

  24. 24

    为什么 Kotlin 高阶函数可以有命名参数?

  25. 25

    在代码的方法调用位置“自动插入所有命名的参数”

  26. 26

    Couchbase N1QL的select语句,在PHP中具有命名参数

  27. 27

    具有命名参数的马提尼路由无法加载静态文件

  28. 28

    Flutter:未定义具有命名参数“ enabled”的AlertDialog和TextButton

  29. 29

    使用maven执行具有命名参数的shell脚本和ant脚本

热门标签

归档