java - JPA 与 Spring JdbcTemplate

标签 java spring jpa jdbctemplate spring-jdbc

对于一个新项目,JPA 是否始终是处理关系数据的推荐工具,或者在某些情况下 Spring JdbcTemplate 是更好的选择?在您的回复中需要考虑的一些因素:

  • 新的数据库架构与预先存在的架构和表
  • 开发人员专业知识水平
  • 易于与数据缓存层集成
  • 性能
  • 还有其他需要考虑的相关因素吗?

最佳答案

如果您不想通过域模型访问数据库模式,请使用 Spring JdbcTemplate。使用 JdbcTemplate,您使用的是较低级别的访问,具有更大的灵 active ,但也可能是更多样板。

Spring JdbcTemplate 可以更轻松地与异国情调的数据库模式和存储过程焦点一起使用。使用 JPA,您需要确保数据库模式正确映射到域模型。

这两种技术都需要开发人员了解关系数据库、SQL 和事务。但是,使用 JPA,您会获得更多隐藏的复杂性。

据我所知,JPA 更容易插入数据缓存层,因为面向对象的重点使缓存条目识别、更新和失效更容易。

您可以更好地微调基于 JdbcTemplate 的后端,但在大多数情况下涉及更多代码。

要考虑的其他一些方面是,尽管使用 JPA,您可以获得数据库模式的域模型,但您通常需要使用额外的 DTO 类。使用 JdbcTemplate 可以直接对 DTO 类进行操作。

关于java - JPA 与 Spring JdbcTemplate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4573975/

相关文章:

jpa - JPQL 中的右连接

java - 根据实体列表查找实体

java - Crypto JS AES-128 密码 - 等效的 Javascript 代码

java - SPRING MVC数据库jdbc错误

java - 在 tomcat 中优雅地关闭 spring 批处理作业

java - 将可用注释功能扩展到另一个自定义注释

java - persistence.xml 和 hibernate.cfg.xml 的使用

java - Selenium : How to know current frame number or value?

java - ant 依赖与 antcall

java - Kafka Streams 生产者上的自定义 header