Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Java EE (J2EE) и Spring > FlushMode


Автор: dEEp 9.8.2009, 22:11
Код

org.springframework.dao.InvalidDataAccessApiUsageException: 
Write operations are not allowed in read-only mode (FlushMode.NEVER/MANUAL): 
Turn your Session into FlushMode.COMMIT/AUTO or remove 'readOnly' marker from transaction definition.


При добавлении данных в бд получаю такой вот эксепшн. Пробовал ставить 
Код

@Transactional(readOnly = false)


но не решается проблема.  Как ещё можно отрубить readOnly? Хотя кстати он у меня нигде не стоит. 

Автор: garbuz 10.8.2009, 01:26
Может тут?
Код

<bean name="abstractTransactionProxy"
            class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
            abstract="true">
        <property name="transactionManager" ref="txManager" />
        <property name="transactionAttributes">
            <props>
                <prop key="find*">PROPAGATION_REQUIRED, readOnly
                </prop>
                <prop key="get*">PROPAGATION_REQUIRED, readOnly
                </prop>
                <prop key="add*">PROPAGATION_REQUIRED,-Exception
                </prop>
                <prop key="update*">PROPAGATION_REQUIRED,-Exception
                </prop>
                <prop key="delete*">PROPAGATION_REQUIRED,-Exception
                </prop>
            </props>
        </property>
    </bean>


Как метод называется который в базу пишет?

Автор: dEEp 10.8.2009, 01:31
привет полуночник. =)


а у меня такой конструкции вообще нет. 

пишу в базу так: getHibernateTemplate().save(post);

Добавлено через 14 минут и 27 секунд
попробовал написать так:

Код

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
        <property name="sessionFactory" ref="sessionFactory"/>
    </bean>

    <bean name="abstractTransactionProxy"
          class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"
          abstract="true">
        <property name="transactionManager" ref="transactionManager"/>
        <property name="transactionAttributes">
            <props>
                <prop key="save*">PROPAGATION_REQUIRED</prop>                
            </props>
        </property>
    </bean>


не помогло. :(

Автор: garbuz 10.8.2009, 23:14
Цитата(dEEp @  10.8.2009,  01:31 Найти цитируемый пост)
привет полуночник. =)

привет и тебе smile


Цитата(dEEp @  10.8.2009,  01:31 Найти цитируемый пост)
не помогло. :( 

Попробуй почитать тут http://www.java-course.ru/students/part19.html, там все понятно расписано smile

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)