spring管理的DAO
getHibernateTemplate()
如果dao继承HibernateDaoSupport,一定要用getHibernateTemplate(),不要使用getSession(),因为getSession()会得到原始的session,session的关闭以及事务完全不受spring控制了,我想既然是整合还是由spring来控制session会比较好,有些方法getHibernateTemplate()里面没有非要用session怎么办,方法如下:
public int queryByUserCount(final Users user) {
log.debug("finding Users count instance by example");
try {
int result = (Integer) getHibernateTemplate().execute(
new HibernateCallback() {
public Object doInHibernate(Session arg0)
throws HibernateException, SQLException {
Example example = Example.create(user)
.excludeZeroes().ignoreCase().enableLike(); // use
// like
// for
// string
// comparisons
Criteria crit = arg0.createCriteria(Users.class)
.add(example).addOrder(Order.asc("userid"));
int totalPage = ((Number) crit.setProjection(
Projections.rowCount()).uniqueResult())
.intValue();
return totalPage;
}
});
return result;
} catch (RuntimeException re) {
log.error("find by example failed", re);
throw re;
}
}
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架