在Spring MVC框架下 一个@Repository的dao中 可以同时注入hibernateTemplate和jdbcTemplate吗

在Spring MVC框架下 一个@Repository的dao中 因为感觉jdbc查询起来编码比较方便 所有想引入spring jdbc的东西 这时一个dao中想同时注入hibernateTemplate和jdbcTemplate 这样做可以吗 存在什么潜在的问题吗?

配置XML文件
destroy-method="close"
p:driverClassName="${jdbc.driverClassName}"
p:url="${jdbc.url}"
p:username="${jdbc.username}"
p:password="${jdbc.password}"/>





org.hibernate.dialect.MySQLInnoDBDialect

true

3
true
50
50
true
org.hibernate.cache.EhCacheProvider




基类dao
public class BaseScDao{
private Class entityClass;
@Autowired
private HibernateTemplate hibernateTemplate;
@Autowired
private JdbcTemplate jdbcTemplate;


}

继承dao
@Repository
public class PcMainDao extends BaseScDao {
public PcMain queryByYear(int year){
List list = (List)getHibernateTemplate().find("from PcMain pm where pm.Year=?", year);
if(list.size()!=0){
PcMain bean = list.iterator().next();
return bean;
}else{
return null;
}
}

public String queryEndTimeByYear(int year){
String endTime = getJdbcTemplate().queryForObject("select endTime from pc_main where year=?", String.class, year);

return endTime;
}

}

请大师指导下 谢啦!

这样做是可以的.
若是你的dataSource是不同的,这个时候需要避免在同一个service层去调用不同的jdbctemplate或者是hibernateTemplate,因为这里需要另外配置全局事物

这时一个dao中想同时注入hibernateTemplate和jdbcTemplate 这样做可以吗 存在什么潜在的问题吗?

可以 但是 hibernate有一级缓存 和 二级缓存 很可能造成数据不一致的问题

顶楼上的,根据自己业务情况合理使用这两个类