我目前正在处理遗留应用程序。
此应用程序使用 spring(3.1.0.RELEASE)和 hibernate(3.6.9.Final)。
在某些DAO中,混合了hibernateTemplate
和jdbcTemplate
我认为开发人员最终使用jdbcTemplate
来简化选择请求。
你怎么看? 这类混合物的潜在影响是什么(缓存pb ......)?
你有没有遇到过这种代码?
答案 0 :(得分:2)
在同一事务中将jdbcTemplate(本机sql)与hibernateTemplate(hql)混合没有问题。我们的团队在相同(罕见)情况下使用该模式。但是在单一约定中使用单一方法很重要。
例如,在一个方法中,您获取满足某些业务逻辑的ID集合(这在SQL中更有效地编写它),然后将这些ID传递给使用这些ID运行某些HQL的其他方法,因为它是那里比较方便。
但是出于维护原因,在不同的方法中使用不同的约定是很好的。当然这可能包含在TX电话中。
最后说明:当我决定使用hibernate编写项目时,我的意思是hibernate是显性技术,当某些数据在其他技术中更容易或更快地获取时,我会使用其他技术来实现
无论如何,你必须知道hibernate缓存和推迟刷新等所有问题。
答案 1 :(得分:0)
如果您希望项目成功,请创建代码约定以及所有开发人员将遵循的规则。
代码应该看起来像是由一个人写的。
注意:所以不要混用HibernateTemplate和JdbcTemplate。