【发布时间】:2013-09-19 06:40:41
【问题描述】:
在数据访问层同时使用 JDBC (JdbcTemplate) 和 JPA (EntityManager) 有什么问题吗?
我打算使用 JDBC 来访问存储过程/例程。 这些存储过程将通过连接多个表(未注册为 JPA 实体)返回多个游标。
这些 JDBC 操作是纯只读的。
我没有在给定 here 的相同事务中组合 JPA 和 JDBC 操作
【问题讨论】:
在数据访问层同时使用 JDBC (JdbcTemplate) 和 JPA (EntityManager) 有什么问题吗?
我打算使用 JDBC 来访问存储过程/例程。 这些存储过程将通过连接多个表(未注册为 JPA 实体)返回多个游标。
这些 JDBC 操作是纯只读的。
我没有在给定 here 的相同事务中组合 JPA 和 JDBC 操作
【问题讨论】:
对我来说没问题。为工作使用正确的工具。例如,如果我想做一些数据跨越多个不同实体的报表查询,或者想要使用一些 JPA 不支持或难以实现的强大数据库功能(例如窗口函数、公用表表达式),我宁愿使用 JDBC 直接发出原生 SQL 来完成工作。
架构CQRS 也使用了这种思想,它有两种不同的独立模型来更新信息(命令操作)和读取信息(查询操作)。例如,JPA 可用于命令操作,而原生 JDBC 用于查询动作。
【讨论】: