我们将 Eclipselink 用于 ORM,但我们需要一些更轻量级的数据库交互,这些交互更等同于 JDBC。我的问题是 Eclipselink 是否支持这样的习语,以及它对直接 JDBC 是否有任何优势。我可以看到一个优点是一致性和能够使用现有的连接处理。其他的?
具体来说,我正在寻找的是相当于 Hibernate 的Native SQL Query的东西。
我们将 Eclipselink 用于 ORM,但我们需要一些更轻量级的数据库交互,这些交互更等同于 JDBC。我的问题是 Eclipselink 是否支持这样的习语,以及它对直接 JDBC 是否有任何优势。我可以看到一个优点是一致性和能够使用现有的连接处理。其他的?
具体来说,我正在寻找的是相当于 Hibernate 的Native SQL Query的东西。
EclipseLink 实现了 JPA - 您可以通过 EntityManager 运行 SQL 查询。如果您开始运行与应用程序模型无关的 SQL 查询,那么您将没有 JDBC 的优势——相反,您将使用更重的基础架构。但是,如果您将SQL绑定到模型,您将拥有利用全部数据库潜力对查询进行额外优化的优势。我不确定这是否是你想要做的......
如果您在应用程序中同时使用 JPQL 和 SQL 查询,那么 JPA 2 本机查询可能是正确的方法。这里有些例子 :
http://www.oracle.com/technology/pub/articles/vasiliev-jpql.html
如果你的应用只使用 SQL 查询和更新,那么 ORM 只是一个开销。您也可以获得不同的声明式事务,例如通过 Spring 的 JDBC 支持。