当前位置:编程学习 > JAVA >>

项目光报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 开发
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,