【问题标题】:Abstract Dao not updating or saving with HibernateAbstract Dao 不使用 Hibernate 更新或保存
【发布时间】:2013-06-17 17:27:24
【问题描述】:

我遇到了 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 定义

【问题讨论】:

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


    【解决方案1】:

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

    看看:Spring Transaction management

    【讨论】:

    • 感谢您的回答,我正在使用 Spring、Hibernate、Struts2,并且我通读了大部分内容,我相信我正在为 hibernate 提供我的 bean 定义的适当上下文,但我会探索该领域还有一些。
    • 为我指明了正确的方向,我进一步调试它以发现 Hibernate 因根据我的 catch 语句将日期转换为字符串而感到不安,在我在这里发布之前我真的应该抓住它.不过再次感谢!
    猜你喜欢
    • 2014-03-03
    • 2021-07-03
    • 2011-05-21
    • 1970-01-01
    • 2018-06-15
    • 1970-01-01
    • 1970-01-01
    • 2021-12-24
    • 2014-06-10
    相关资源
    最近更新 更多