【问题标题】:WebSphere 8.5.5 database layer (call function with parametr or select in jpa)WebSphere 8.5.5 数据库层(带参数调用函数或在jpa中选择)
【发布时间】:2016-02-16 01:43:36
【问题描述】:

我正在开发在 WebSphere Server 8.5.5 版上运行的应用程序。 该应用程序具有数据库层,它使用参数调用 3 个 MS SQL 函数。 SQL 函数由两个(最多三个)连接表组成。

什么更好?
我可以使用 SQL 函数(Java CallableStatement)吗? 我可以在 JPA 2.0 中直接白 SQL SELECT(NamedQuery) 并且不使用 sql 函数吗?

我认为在 JPA 中使用 SQL SELECT 更清晰。 什么更快?

我认为数据库查询(函数或 jpa 选择)是直接在数据库中执行的。是真的吗?

我尝试了 JPA 2.1。在 WebSphere 上调用函数,但不成功。

非常感谢。

【问题讨论】:

    标签: java jpa


    【解决方案1】:

    我认为在 JPA 中使用 SQL SELECT 更清晰。什么更快?

    我认为数据库查询(函数或 jpa 选择)是直接在数据库中执行的。是真的吗?

    当查询字符串不复杂时,最好将命名查询用于本机查询。当考虑性能。你必须知道引擎盖下发生了什么。 您可能已经使用简单的 JDBC 编写了一些程序,因此您知道如何查询 传递给驱动程序并发送到数据库。使用 HQL 或 JPA-QL 时,查询首先具有 解析成数据库可以理解的SQL语言。在这种情况下,我们有一个额外的 解析步骤之间。请注意,本机 SQL 查询,包括存储过程调用,持久性 框架仍然负责将 JDBC 结果集映射到持久对象的图形。

    我尝试了 JPA 2.1。在 WebSphere 上调用函数,但不成功。

    调用数据库函数时必须使用本机查询。在这种情况下就不得不费力地映射做映射。请参阅JPA : How to convert a native query result set to POJO class collection 了解更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-04-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-27
      • 2014-10-21
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多