WebSphere 8.5.5数据库层(使用parametr调用函数或在jpa中选择)

时间:2016-02-15 15:32:34

标签: java jpa

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

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

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

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

我尝试过JPA 2.1。在WebSphere上调用函数并且它没有成功。

非常感谢。

1 个答案:

答案 0 :(得分:0)

  

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

     

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

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

  

我尝试过JPA 2.1。在WebSphere上调用函数并且它没有成功。

调用数据库函数时必须使用本机查询。在这种情况下,必须采取痛苦的地图做映射。有关详细信息,请参阅JPA : How to convert a native query result set to POJO class collection