3

在数据访问层中同时使用 JDBC (JdbcTemplate) 和 JPA (EntityManager) 有什么问题吗?

我打算使用 JDBC 来访问存储过程/例程。这些存储过程将通过连接多个表(未注册为 JPA 实体)返回多个游标。

这些 JDBC 操作是纯只读的。

我没有在此处给出的相同事务中组合 JPA 和 JDBC 操作

4

1 回答 1

3

对我来说没关系。为工作使用正确的工具。例如,如果我想做一些数据跨越多个不同实体的报表查询,或者想要使用一些 JPA 不支持或难以实现的强大数据库功能(例如窗口函数、公用表表达式),我宁愿使用 JDBC 直接发出原生 SQL 来完成工作。

CQRS架构也使用了这种思想,它有两个不同的独立模型来更新信息(命令动作)和读取信息(查询动作)。例如,JPA 可用于命令动作,而原生 JDBC 用于查询动作。

于 2013-09-19T07:11:46.223 回答