0

私は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;
    }

これは、この休止状態のユーティリティ クラスに移動します。エンティティ データは、呼び出される add 関数に渡されるパラメーターにありますが、休止状態がそれを保存しないようです。

    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 定義

4

1 に答える 1

0

実装をもっと見ないとわかりません。春を使用しているようです。この問題は通常、トランザクション コンテキストを定義するのを忘れたときに発生します。

見てください: Spring トランザクション管理

于 2013-06-20T21:26:32.847 に答える