【问题标题】:JPA call Store Procedure returned wrong resultJPA调用存储过程返回错误结果
【发布时间】:2012-07-04 19:44:29
【问题描述】:

我正在使用 JPA 原生查询来调用存储过程并将返回结果映射到一个类

createNativeQuery(String sqlString, Class resultClass);

这里的sqlString是一个这样格式的存储过程:

{call storeProcedureName parameter1, paramter2, parameter3}

我注意到当其中一个参数包含正斜杠(/)时,结果结果将是错误的。有没有人遇到过这个问题以及如何解决?谢谢

我正在使用 EclipseLink 和 glassfish 服务器。

【问题讨论】:

  • 您将需要进一步调试以查看参数是否正确传递给存储过程,或者是否是存储过程无法按预期处理正斜杠。跨度>

标签: jpa stored-procedures eclipselink


【解决方案1】:

您是将参数内联到 SQL 中,还是在查询中使用参数?您应该在查询中使用参数,将参数内联到 SQL 中是非常糟糕的(可能导致 SQL 注入攻击)。

看, http://wiki.eclipse.org/EclipseLink/UserGuide/JPA/Basic_JPA_Development/Querying/Native#Parameters

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-22
    • 2015-06-03
    • 2013-06-21
    • 1970-01-01
    相关资源
    最近更新 更多