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

在Spring data jpa中跨本机查询参数换双引号

申宜
2023-03-14

我必须使用Spring Data JPA本机查询运行以下Oracle查询。

create user "kshitij" identified by "qwert123"

我正在尝试:

@Query(value="create user \"?1\" identified by \"qwert123\"",nativeQuery=true)
    void createUser(String userName);

然而,当我用“”换行?1时,它就会Hibernate,停止将?1作为变量,以用户名代替,而是作为实际的字符串。如何在spring data JPA中运行上述Oracle查询?

当前不起作用的方法:

@Query(value="select username from all_users where username = \"?1\"", nativeQuery=true)

共有1个答案

徐知
2023-03-14

你能试试这段代码吗?

@Modifying
@Transactional
@Query(value="create user :userName identified by \"qwert123\"",nativeQuery=true)
void createUser(@Param("userName") String userName);
 类似资料:
  • 我有一个服务类,它通过使用< code > carrepository . retrieve cars()调用JPA存储库来接收汽车列表。存储库方法使用本地查询来检索记录。 现在我想传递参数< code > carrepository . retrieve cars(Long vinNo,Long serialNo)并在查询中使用它们。我假设我会需要一些东西作为准备好的陈述。然而,我不知道如何实现

  • 我试图将下面的PostgreSQL查询转换为本机查询,但遇到错误。 Postgres查询: 本机查询: 但我得到了以下错误: 无法提取结果集;SQL [n/a];嵌套异常是 org.hibernate.exception.SQLGrammarException: 无法提取 ResultSet

  • 问题内容: 这是我的代码部分: 有时可以为null(Date类对象)。如果为null,则会引发以下异常: 如何使此代码正常工作并将null值持久保存到数据库中? 问题答案: 您正在使用postgresql(已经在堆栈中进行了说明),并且可能正在使用Hibernate,几乎可以肯定会遇到此问题:PostgreSQL JDBCNull String作为bytea 因此,这意味着转义到Hibernate

  • 问题内容: 我正在尝试做: 但是我得到了IllegalArgumentException,它告诉我参数超出范围。我究竟做错了什么? 问题答案: 参数周围不应有引号。尝试以下方法: 您可能还需要仔细检查您的真实意思,因为这可能并没有按照您的想象做。

  • 我写了原生sql查询,而不是使用hql和面对roblem 超出声明序数参数的位置。记住序数参数是基于1的!职位: 1 和DAO 我读了和hibernate使用0作为第一个索引。 堆栈跟踪 //更新 有趣的是,当我设置查询数值时 我明白了 但是在MySQL中我得到了成功的结果。 我如何决定这个问题?

  • 问题内容: 我正在尝试在vb.net中使用sql查询插入数据,如下所示。名称= corp int’l poc = 1 当我尝试插入时,出现错误(“字符串’“之后的未封闭的引号)。当我尝试仅用1个单引号插入名称时,就会发生这种情况。 因此,我添加了一个replace函数,以将2个单引号替换为1个单引号来转义符号。没有错误,但是当我查看数据库时,添加了2个单引号而不是1个。 谁能告诉我如何通过参数化查