当你使用getSingleResult()的时候,他的返回值为null时就会报javax.persistence.NoResultException: No entity found for query.加上注释先判断为空下面那段代码,解决方法如下:
public WebStore getWebStore(String storeName) {
if (storeName == null) {
return null;
}
String qlString = "select w from WebStore w where w.storeName =:storeName";
Query query = em.createQuery(qlString);
query.setParameter("storeName", storeName);
//先判断空
if(query.getResultList().size()==0 ){
return null;
}else{
return (WebStore) query.getSingleResult();
}
}
注意:这个时候<h:commandButton>中不要有这个immediate="true"属性;
我转发的地址是:http://nhy520.iteye.com/blog/844526
本文介绍了一种解决使用getSingleResult()方法时遇到javax.persistence.NoResultException异常的方法。通过在获取结果前检查结果列表是否为空来避免异常,并提供了一个具体的示例。
1144

被折叠的 条评论
为什么被折叠?



