org.hibernate.QueryException: Not all named parameters have been set: [name] [from com.dong.bean.Actor as b where b.name=:name]
at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:284)
at org.hibernate.impl.AbstractQueryImpl.verifyParameters(AbstractQueryImpl.java:268)
at org.hibernate.impl.QueryImpl.list(QueryImpl.java:75)
at com.dong.dao.RegistDao.saveBlog(RegistDao.java:27)
at com.dong.buiness.RegistBusiness.saveToBlog(RegistBusiness.java:13)
at com.yourcompany.struts.action.RegistAction.execute(RegistAction.java:76)
at org.apache.struts.action.RequestProcessor.processActionPerform(RequestProcessor.java:484)
---------------------------java原来代码
private static SessionFactory factory = SessionFactoryBuild.sessionFactory;
public static boolean saveBlog(Actor bb) {
Session session = null;
Transaction tx = null;
try {
session = factory.openSession();
tx = session.beginTransaction();
//查询是否有重名
String name = bb.getName();
Query query = session.createQuery(
"from com.dong.bean.Actor b where b.name=:name");
//query.setString("name", name);
List user = query.list();
//如果没有重名,则保存
if (user.size() == 0) {
session.save(bb);
} else {
throw new Exception("该用户名已存在!");
}
tx.commit();
} catch (Exception ex) {
ex.printStackTrace();
if (tx != null) {
tx.rollback();
return false;
}
} finally {
session.close();
}
return true;
}
}