2012-06-14 6 views
0

У меня проблема с режимом флеша в разговоре.FlushMode не работает

Если я установил режим сброса в ручную в аннотации @Begin (..), Hibernate по-прежнему заполняет любые изменения на прикрепленном объекте непосредственно в базе данных.

CustomerBranch является Entity

@begin (присоединиться = истина) общественности Строка addCustBranch() бросает исключение {

CustomerBranch customerBranch=new CustomerBranch(); 
BeanUtils.copyProperties(customerBranch,doCustomerBranch) 

branchesMap.get(selectedBranch.toLowerCase()).getCustomerBranch().add(customerBranch) 
custBranchesList.add(customerBranch); 
} 
@Begin(flushMode=FlushModeType.MANUAL,join = true) 

public void populateSelectedList() throws Exception { 

    // PersistenceProvider.instance().setFlushModeManual(getEntityManager()); 

    ((Session)getEntityManager().getDelegate()).setFlushMode(FlushMode.MANUAL); 

     custBranchesList.clear(); 

      custBranchesList.addAll(branchesMap.get(selectedBranch.toLowerCase()).getCustomerBranch()); 

} 

выше способом добавить список custBranchesList здесь я cant use any persist по-прежнему напрямую изменяются в базе данных

componet.xml

разговор таймаут = "120000" родитель-conversation- Ид = параметр "PID" />

<web:hot-deploy-filter url-pattern="/*.mobee"/> 



<persistence:entity-manager-factory installed="@[email protected]" 

    name="entityManagerFactory" persistence-unit-name="mobeeadmin"/> 

<persistence:managed-persistence-context auto-create="true" 

    entity-manager-factory="@[email protected]" name="entityManager" persistence-unit-jndi- name="@[email protected]"/> 

Благодаря & уважением Наг

+0

Вы можете активировать журнал спящего режима для просмотра того, что он выпускает? – Firo

ответ

0

Может быть, вы уже внутри разговора, когда выполняется ваш метод @Begin? join=true просто держит предыдущую беседу нетронутой и не изменяет свой flushMode, даже если вы указали другое значение. Чтобы проверить попытку nested=true.

 Смежные вопросы

  • Нет связанных вопросов^_^