查询执行是否总是必须返回一个列表?如果我确定它只返回一个对象,我该如何替换下面的代码?
@Override
public List<DocInfo> findAllByDocId(String docId)
{
Query q = getCurrentSession().createQuery("from DocInfo item where item.id = :docId");
q.setString("docId", docId);
List<DocInfo> docInfoList = q.list();
return docInfoList;
}
Run Code Online (Sandbox Code Playgroud)
Gui*_*ido 21
如果我没有错,你可以使用Query#uniqueResult()和Hibernate.我认为这就是你要找的东西.在这种情况下,NonUniqueResultException如果查询返回了多行,则必须在代码中处理.
您可以使用
query.getSingleResult();
Run Code Online (Sandbox Code Playgroud)
当您绝对确定查询只会返回一行时,我正在谈论
import javax.persistence.Query;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
23255 次 |
| 最近记录: |