一个hibernate问题,我的一个action里面有两个表单,这种配置是否造成以下问题?

来源:百度知道 编辑:UC知道 时间:2024/05/14 12:45:42
当我添加博客记录执行doAddBlog时总加不进category_id,我从页面上得到category的name,然后通过CategoryDAO的findByName(String name)方法来得到这个category,然后想把这个分类赋值给blog,可是总赋值不了,因为以下原因:
(CategoryDAO的findByName(String name)方法返回总是为空)

org.hibernate.exception.SQLGrammarException: could not execute query
at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:67)
at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:43)
看上去应该是hql的语法错误,可是您看一下我的语法:
Category category=null;
String hql = "from Category c where c.name="+name;
try{
category=(Category)hsession.createQuery(hql).uniqueResult();
tx.commit();
return category;
} catch(Exception e){
e.printStackTrace();
if(tx!=null){
System.out.println("==================rollback executed!");
tx.rollback();

Query query=hsession.createQuery("from Category c where c.name=:name");

category=(Category)query.setString("name",name).uniqueResult();
是这样写的

hql语句的查询参数不是这么传的吧

category=(Category)hsession.createQuery(hql).uniqueResult();
这里session应该是手误,有一个问题是字符串你那种写法应该加上单引号