对于一个新项目,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/