当你使用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