讨论一下Spring的HibernateTemplate为什么不提供uniqueResult方法
直接用Hibernate的session.createQuery().setMaxResult(1).uniqueResult()方法返回单一记录
而为什么HibernateTemplate不提供返回单一记录的uniqueResult()方法,这样造成如果我一条语句只要返回第一条记录的时候总是要从数据库传输出所有满足条件的记录,然后 list.get(0)取第一条
如果有uniqueResult方法,只要求DB传一条记录就行,不会造成网络的浪费
不知道Spring是怎么考虑的,为了从查询到的list中get(0),Spring还乐意的提供DataAccessUtils.uniqueResult(getHibernateTemplate().find(...));,其实这都没有改善任何
也许Spring考虑到你有uniqueResult()的需求的时候,你之前的查询语句一定就是只返回了一条记录。