此回复为自动发出,仅用于显示而已,并无任何其他特殊作用
楼主【Young_suse】截止到2008-07-21 21:00:28的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:20 每贴平均分数:6
回帖的总数量:17 得分贴总数量:2 回帖的得分率:11%
结贴的总数量:3 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
楼主【Young_suse】截止到2008-07-21 21:00:28的历史汇总数据(不包括此帖):
发帖的总数量:3 发帖的总分数:20 每贴平均分数:6
回帖的总数量:17 得分贴总数量:2 回帖的得分率:11%
结贴的总数量:3 结贴的总分数:20
无满意结贴数:0 无满意结贴分:0
未结的帖子数:0 未结的总分数:0
结贴的百分比:100.00% 结分的百分比:100.00%
无满意结贴率:0.00 % 无满意结分率:0.00 %
敬礼!
解决方案 »
- 求一个CAS单点登陆的例子
- 无刷新技术问题
- 关于在startup.bat中设置环境变量的问题
- Java课程设置问题,请大家多提意见
- 高分求解:我在luncene里面用了海量的分词系统,大数据量索引的时候出现了问题
- 这个问题怎么解决呢?
- 怎么将一个int转换成一个指定长度的String,并且当位数不足时左边补0
- applet-servlet通讯时的问题
- SOAPException异常,请教给为高手!
- 不好意思我知道这蛮基础的但是我真的记不起少什么了,麻烦各位帮忙看一下好么看没看出来都谢谢您,在百度谷歌上搜也没有我这样的错误.
- tomcat console打印出AbandonedObjectPool is used?
- struts 如何把从数据库查出来的数据保存在本地
你控制台SQL语句有打印出来不?
看是否有insert语句,我再继续帮你找原因
<prop key="update*">PROPAGATION_REQUIRED </prop>
<prop key="delete*">PROPAGATION_REQUIRED </prop>
<prop key="find*">PROPAGATION_REQUIRED,readOnly </prop>
</props>
</property>
</bean> UserDAOImpl类中有如下代码:
public void addUser(User user) {
try {
getHibernateTemplate().save(user);
} catch (RuntimeException re) {
throw re;
}
}
我没用过1.X但看你这个有点不对,你的key="save"也就是说save的PROPAGATION_REQUIRED 但你在UserDAOImpl里
是addUser啊,也不是save开头啊.不知道对你有没有帮助.我也学习一下
2 我怀疑你save的操作是更新。当然不会出现异常。 你查一下你的代码吧。比如
public void addUser(User user) {
try {
System.out.println(user.getId()); // 我怀疑这个add其实是update
getHibernateTemplate().save(user);
} catch (RuntimeException re) {
throw re;
}
}
你在你的save方法后,手动执行一下getHibernateTemplate().flush()方法吧。
就要加上this.setComplete();操作的结果才会保存进数据库.
这个add也应该不是更新吧,更新应该调用getHibernateTemplate().update(user)才对,而且我测试了更新操作,也不能把更新的数据持久到数据库,我调用update后,打开数据库,看到的还是更新前的数据。
配置了以后还是看不到SQL语句说明根本就没执行这个方法
你flush() 强制执行一下试试看
原因是你集成了spring 用myeclipse生产的代码 你在hibernate.xml配置文件里加上
<property name="connection.autocommit">true</property> 变搞定或者自己写dao 不用myeclipse生成代码 都行
我就是用myeclipse生成的dao,而且没有配置<property name="connection.autocommit">true </property>
非常感谢你。
但是我还想问自己写dao就不用配置<property name="connection.autocommit">true </property>了吗?或者是自己写dao需要在代码中要加上事务提交的代码。
比如之前我用的办法是:把getHibernateTemplate().save()用下面几句替换,
session = getSession();
session.beginTransaction();
session.save(user);
getSession().getTransaction().commit();
但这样完全是在自己管理事务,没有用到spring的声明式事务管理功能。
getHibernateTemplate().update(user); sql语句也出来了,可是查数据库发现数据没有更新过来。
getHibernateTemplate().flush();
加上这句也不行,靠,服了
加上这句之后问题解决了.
可是为什么不会提交呢
用<property name="connection.autocommit">true </property>
就可以了.
我在hibernate.cfg.xml中加上<property name="connection.autocommit">true </property>
还是不行啊
强顶呀
???
1.没有hibernate.cfg.xml文件可以放到spring配置的代码里面。
2.前面还是没有存进数据库,检查数据格式。后头发现是hibernate配置bean主键类型没有配置好。
<property name="defaultAutoCommit" value="true"/>试试
<property name="defaultAutoCommit" value="true"/>
后台打印:
Hibernate: select hibernate_sequence.nextval from dual 然后跳转到错误页面???