摘要Dao没有用Hibernate更新或保存

时间:2013-06-20 18:07:57

标签: java mysql spring hibernate model-view-controller

我有Hibernate的问题,我正在尝试保存和实体通过和Abstract Dao类,它似乎不想保存或更新,但我的删除功能似乎完美无缺。所以我想知道是否有人可以指出我似乎出错的地方。

我做了调试,看到实体在进行更新或保存时实际上已完全加载到变量中。

提前感谢任何想法。

我正在提取所有数据的类:

        try{
        accountDao.add(newAccount);
        return SUCCESS;
    }
    catch(Exception e){
        this.addActionError("And unknown error has occurred please try refreshing the page");
        return INPUT;
    }

对于这个hibernate实用程序类,实体数据是在被调用的add函数中传递给的参数,但似乎hibernate似乎不会保存它:

    public abstract class AbstractDao<Entity> extends HibernateDaoSupport {

    public void add(Entity entity) {
        getHibernateTemplate().save(entity);
    }

    public void delete(Entity entity) {
        getHibernateTemplate().delete(entity);
    }

    public abstract List<Entity> findAll();

    public abstract List<Entity> findById(Long id);

    public void update(Entity entity) {
        getHibernateTemplate().update(entity);
    }

}

Bean定义

<bean id="accountDao" class="com.dao.AccountDao">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean id="utilityDao" class="com.dao.UtilityDao">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

<bean id="account_usageDao" class="com.dao.Account_UsageDao">
    <property name="sessionFactory" ref="sessionFactory" />
</bean>

    <bean id="addCustomerInfo" class="com.action.customer.AddAction" scope="prototype">
    <property name="accountDao" ref="accountDao"/>
    <property name="utilityDao" ref="utilityDao"/>
    <property name="account_usageDao" ref="account_usageDao"/>
</bean>

更新1:Bean定义

1 个答案:

答案 0 :(得分:0)

如果没有看到更多的实施,我无法分辨。看来你正在使用弹簧。当我忘记定义事务上下文时,这个问题通常会发生在我身上。

查看:Spring Transaction management