`
sgm51357
  • 浏览: 2638 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

getHibernateTemplate().save保存不成功,又无异常

阅读更多

我用ssh结构,插入一条数据不成功

大概配置:

 applicationContext.xml

<bean id="transactionProxyFactoryBean" abstract="true" class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean">
		<property name="transactionManager">
			<ref local="transactionManager"/>
		</property>
		<property name="transactionAttributes">
			<props>
				<prop key="delete*">PROPAGATION_REQUIRED</prop>
				<prop key="get*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="select*">PROPAGATION_REQUIRED,readOnly</prop>
				<prop key="save*">PROPAGATION_REQUIRED</prop>
				<prop key="update*">PROPAGATION_REQUIRED</prop>
                <prop key="has*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="is*">PROPAGATION_REQUIRED,readOnly</prop>
                <prop key="query*">PROPAGATION_REQUIRED,readOnly</prop>
			</props>
		</property>
	</bean>
<bean id="newInfo" class="com.sgm.tuanwei.bean.NewInfo"></bean>
	<bean id="newInfoDAO" class="com.sgm.tuanwei.dao.NewInfoDAO">
		<property name="sessionFactory" ref="sessionFactory"></property>
	</bean>
	<bean id="newInfoService" class="com.sgm.tuanwei.service.NewInfoService">
		<property name="newInfoDAO" ref="newInfoDAO"></property>
	</bean>
	<bean id="newInfoProxy" parent="transactionProxyFactoryBean">
		<property name="target" ref="newInfoService"></property>
	</bean>

 NewInfoDAO.java

	public boolean saveNewInfo(NewInfo newInfo)
	{
		// TODO 添加新闻信息
		boolean flag = false;
		try
        {
			getHibernateTemplate().save("NewInfo",newInfo);

	        flag = true;
        }
        catch (Exception e)
        {
	        e.printStackTrace();
	        System.out.println("DAO层触发saveNewInfo方法异常");
        }
		return flag;
}

 

NewInfoService.java

public boolean saveNewInfo(NewInfo newInfo)
    {
	    // TODO 添加新闻信息
    	boolean flag = false;
    	try
        {
	        newInfoDAO.saveNewInfo(newInfo);
	        flag = true;
        }
        catch (Exception e)
        {
	       e.printStackTrace();
	       System.out.println("service层触发saveNewInfo方法异常");
        }
	    return flag;
    }

 调用方法,返回的是true,没有报任何异常。。。,我想应该不是spring托管的问题,“save*”方法我已经托管给spring了的,可是好像就是不提交,而且数据

的自动增量ID是有反应的,我执行一次就增加1,但是数据却没有,当我用sql语句插入数据时就可以看到自动增量是已经加过的。感觉就像我插入了数据,然后又删除了,这样ID是一致增加,就是没数据。不知道是不是spring托管的没提交数据。。。。我通过实体类查询数据是可以的。看过其他一些问题,说是spring托管在持久层的问题,可是我的好像就是托管在业务层的。。希望有碰到过类似问题的,或者知道的帮忙解决下。。。

分享到:
评论
7 楼 wenxiang_tune 2009-05-18  
不知道的可以去看看详细的spring事务管理配置!!
6 楼 javer 2008-10-20  
倒,楼主消失了
5 楼 xiaopao 2008-07-28  
楼主到底怎么解决的呢?
4 楼 名如其人 2008-05-31  
楼主怎么解决的也没说一下
3 楼 xjl017 2008-05-23  
帮看看我这个问题,现象和你那个差不多!
http://www.iteye.com/topic/195970
2 楼 sgm51357 2008-05-22  
自己解决了。。。。。呃。配置文件粗心大意了。。。。
1 楼 sgm51357 2008-05-22  
谁能帮忙解决下。。。在。线。等啊。。。。

相关推荐

    hibernate保存不到数据1

    当使用Hibernate的`getHibernateTemplate().save()`方法尝试保存数据时,如果数据没有被保存到数据库,可能有以下几个原因: 1. **事务管理**:在默认情况下,Hibernate不会自动开启和提交事务。如果在代码中没有...

    hibernateTemplate和HibernateDaoSupport

    HibernateTemplate 是 Spring 提供的一个模板类,它封装了对 Hibernate Session 的操作,避免了直接与 Session 进行交互时出现的事务管理、异常处理等问题。HibernateTemplate 提供了一组丰富的静态方法,涵盖了大...

    HibernateTemplate及generator用法.doc

    - 保存:`getSession().save()`, `getSession().update()`, `getSession().delete()` - Query的使用: - 可以设置参数,类似PreparedStatement - 判断结果,通过`list.size()`,如有值则通过`list.get(0)`获取 - ...

    spring hibernatetemplate

    这意味着即使在第二个对象(stu2)上出现异常,第一个对象(stu1)的保存仍然有效,这显然不是我们想要的事务行为。 问题的关键在于,`HibernateTemplate`并不自动管理事务边界。在Hibernate中,当调用`Session`的`...

    Spring与Hibernate相结合的实例

    this.getHibernateTemplate().save(student); return student.getId(); } @Override public void update(Student student) { this.getHibernateTemplate().update(student); } @Override public void ...

    HibernateTemplate的用法总结

    6. **`void save(Object entity)`**:保存一个新的对象实例到数据库中。通常用于新增数据记录。 7. **`void saveOrUpdate(Object entity)`**:根据传入对象的状态(新记录或已存在记录),自动选择保存或更新操作。...

    HibernateTemplate类的使用

    CtxUtil.getBaseManager().getHibernateTemplate().execute(new HibernateCallback() { public Object doInHibernate(Session session) throws HibernateException, SQLException { // 保存stu1 Student stu1 = ...

    我的智囊团(SSH)01--07学习笔记

    - `void save(Object entity)`:保存新的实例到数据库。 - `void saveOrUpdate(Object entity)`:根据实例状态决定是保存还是更新。 - `void update(Object entity)`:更新已存在的持久化实例,但要求该实例处于...

    Hibernate3使用经验

    在这个例子中,我们首先创建了一个 `Session`,然后开始一个新的事务,并尝试保存用户数据。如果出现异常,则回滚事务并打印错误信息。 以上就是关于 Hibernate 3.0 的一些使用经验和技巧。这些内容涵盖了如何在 ...

    第24次课-1 Spring与Hibernate的整合

    Serializable save(Object entity):保存新的实例 void saveOrUpdate(Object entity):根据实例状态,选择保存或更新 void update(Object entity):更新实例的状态 void setMaxResults(int maxResults):设置分页的...

    Spring2 Hibernate3集成

    3. **异常处理**:Spring为Hibernate提供了一层异常转换机制,将Hibernate特有的异常转换为Spring的非检查异常,简化了异常处理逻辑。 4. **DAO支持**:Spring提供了对DAO的支持,可以方便地集成Hibernate DAO实现。...

    Java的Spring框架中DAO数据访问对象的使用示例

    `insert`方法调用`save`方法保存实体,`find`方法调用`get`方法获取指定ID的实体。 总结来说,Spring DAO支持为开发者提供了统一的数据访问接口,无论使用JDBC还是ORM框架如Hibernate,都能保持一致的编程风格。这...

Global site tag (gtag.js) - Google Analytics