Spring中HibernateTemplate和JdbcTemplate的区别

时间:2014-01-01 08:52:43

标签: spring

我很困惑b / w这两个用于相同目的除了这个hibernatetemplate来自orm包而Jdbctemplate来自jdbc包。 我想知道什么时候我们有HibernateTemplate然后我们需要JdbcTemplate或反之亦然。 什么时候使用其中一种,哪种更好用。

2 个答案:

答案 0 :(得分:1)

如果你有一个规范化的数据库,你可以很容易地将表映射到代表业务实体的Java类,那么你可以很好地使用HibernateTemplate(甚至可以更好地使用Spring JPA存储库)。

如果您有一个未规范化的旧数据库并且将表映射到业务实体是一项艰苦的工作,那么您将不得不使用JdbcTemplate

答案 1 :(得分:1)

HibernateTemplate v / s JdbcTemplate

HibernateTemplate JdbcTemplate 都是 helper类,它提供了用于从数据库中查询/检索数据的不同方法。还将已检查的异常转换为未检查的DataAccessException。

Spring为休眠和JDBC模板类提供支持。它提供了包含所有通用代码的模板类。但是众所周知,JDBC不是ORM工具,它不能将行表示为对象,而Hibernate可以做到这一点。

如果在项目中使用休眠模式,则建议使用 HibernateTemplate ;如果不使用休眠模式,则建议使用 JdbcTemplate 类。