日期:2014-05-17  浏览次数:20717 次

hibernate的保存问题(问题有点急,小女子在此先谢过大家了哈)
问题描述:
执行:
User user=new User();
user.setName("abc");
userDao.save(user);
我可以打印出ID:System.out.println(user.getId());
但是:数据库中没有存入我的数据
在此过程中,程序并没有报错。
同样的:我朋友在他电脑上访问我的数据库,同样的代码,他能成功保存。

谢谢大家了!
看在女生节的份上,大家帮帮小女子吧!急~~~
------解决方案--------------------
不给user  id能save?
------解决方案--------------------
你看下是不是事务没有提交这类的问题?
------解决方案--------------------
提供的线索有点少啊,不好判断,妹子,多提供些代码
------解决方案--------------------
数据库连接配对了吗?
------解决方案--------------------
自动提交设置了么?
------解决方案--------------------
妹纸啊, 你把你的 IE 缓存和 tomcat 缓存删掉在试试, 或者重启 IDE
------解决方案--------------------
妹子 上代码吧。
------解决方案--------------------
事物是不是没有提交啊,妹子,,,
------解决方案--------------------
你写个test去对数据库进行插入,试试,,,
------解决方案--------------------
代码:
Family family=new Family();
System.out.println("family="+family.getId());
familyDao.save(family);
System.out.println("family="+family.getId());
User user=new User();
user.setFamily(family);
userDao.save(user);


刚new出来的family,System.out.println("family="+family.getId());肯定是空指针啊。你都没赋值。
------解决方案--------------------
org.springframework.orm.hibernate3.HibernateSystemException: a different object with the same identifier value was already associated with the session: [com.zhijia.gfamily.po.player.User#13];
=====================================
作为ID 13的User对象已经存在了,这个你需要看下关于Hibernate的Entity管理状态
由于你的User是new出来的,保存后能打印ID,不知道你的Dao里是怎么写的...是数据库自增的吗,还是如何赋值的。
这种错误一般由于两个主键相同的对象,在不同事务中,且不同的管理状态下,hibernate无法区分你要保存的对象才会出现的,因为保存时,hibernate还会去检查内存的
------解决方案--------------------
引用:
Quote: 引用:

你写个test去对数据库进行插入,试试,,,

我换句话说吧,我电脑是服务器。有人可以通过访问我tomcat把数据添到数据库,有的人不能,我在本机也不能。不能的原因是,报了如上的错误。
我知道啊,我说你在服务器端写个main函数调用试试,可以插入吗?
------解决方案--------------------
为此推荐你看下这个文章
http://developer.51cto.com/art/200907/133235.htm
------解决方案--------------------
有没有试过在save之后加flush()强制刷一下
------解决方案--------------------
那就debug插入那里的句子,然后从服务器点击看看呗,,,
------解决方案--------------------

session.beginTransaction().commit();

有没有提交事务
------解决方案--------------------
大神好     多
------解决方案--------------------
引用:
再补充一段:
Caused by: org.hibernate.NonUniqueObjectException: a different object with the same identifier value was already associated with the session: [com.zhijia.gfamily.po.player.User#13]



这个