项目光报HQL错误,找不到是哪写错了
是哪一点写错了? --------------------编程问答-------------------- 你要用 实体类,,而不是表名。。。 --------------------编程问答-------------------- Info是我的实体基础类 --------------------编程问答-------------------- 据说是hql中没有实现insert,参考http://zhidao.baidu.com/question/326458756.html,你可以直接使用session.save()方法,示例代码如下:
public boolean save(Object obj)
{
boolean state = false;
Session session = null;
Transaction tscn = null;
try
{
session = HibernateUtil.getSessionFactory().getCurrentSession();
tscn = session.beginTransaction();
session.save(obj);
tscn.commit();
}
catch (HibernateException e)
{
if(null != tscn)
{
tscn.rollback();
}
e.printStackTrace();
state = false;
}
finally
{
HibernateUtil.closeSession();
state = true;
}
return state;
}
最后,你原来的代码中貌似没有关闭session --------------------编程问答-------------------- id 存的是 null? --------------------编程问答-------------------- 你这个ID是自动生成的你干嘛还要传一个null值啊...还有就是那个Insert你要做的是HQL插入还是原生SQL的插入 --------------------编程问答-------------------- 主键存null,报错 --------------------编程问答-------------------- 你把hql跟sql弄混了吧 --------------------编程问答-------------------- 看了下,表名称貌似都不一样,另外,你用的是executeUpdate()更新方法,主键ID必须有值;还有用HQL的话注意一下字段,建议你使用session.update(Object obj)来做,这样可非常省事。 --------------------编程问答-------------------- 首先 主键是不能为空的,其次,用hql语句插入值得话是用Session的save()方法。
补充:Java , Web 开发