在数据访问层同时使用 JDBC (JdbcTemplate) 和 JPA (EntityManager) 有什么问题吗?
我打算使用 JDBC 访问存储过程/例程。 这些存储过程将通过连接多个表(未注册为 JPA 实体)返回多个游标。
这些 JDBC 操作是纯只读的。
我没有将 JPA 和 JDBC 操作合并到给定的相同事务中 here
最佳答案
对我来说没问题。为工作使用正确的工具。例如,如果我想做一些数据跨越许多不同实体的报表查询,或者想使用 JPA 不支持或难以实现的一些强大的数据库功能(例如窗口函数、公用表表达式),我更愿意使用 JDBC 直接发出 native SQL 来完成工作。
架构 CQRS也使用了这个想法,它有两个不同的独立模型来更新信息(命令操作)和读取信息(查询操作)。例如,JPA 可以用于命令操作,而 native JDBC 用于查询操作。
关于spring - JPA和JDBC可以在DAO层共存吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18887770/