Я использую jpatransactionmanager в данных весны jpa, а провайдер - Hibernate.JpaRepository сохраняет сбрасывает все сущности
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactoryBean" />
</bean>
У меня есть три сущности, которые говорят, Aentity, Bentity. A и B имеют отношение один к одному. Существует третья сущность. Сохранение века не зависит от существа и страсти. Тем не менее, я нашел, когда сохраняется Centity. Aentity и Bentity автоматически сбрасываются на db. Я хочу контролировать это поведение и хочу, чтобы они сохранялись, когда я вызываю save, используя их репозиторий.
Другая информация: Aentity имеет cascase на для B. Transaction Информации для Centity является: Размножение: требуется новым и изоляция = по умолчанию
Я посмотрел на многих форумах, но не смог найти подсказку/решения.
Hibernate держит управляемых объектов в 'Session'. «Сессия» синхронизируется с базой данных через процесс, известный как флеш. Когда «Сессия» сбрасывается, управляется стратегией [промывки] (http://docs.jboss.org/hibernate/orm/4.3/javadocs/org/hibernate/FlushMode.html#AUTO) на «сессии». Стратегия по умолчанию - 'AUTO', которая [иногда сбрасывает' Session'] (https://dzone.com/articles/dark-side-hibernate-auto-flush) перед выполнением запроса SELECT. Стратегия промывки [может быть изменена] (http://stackoverflow.com/questions/24778966/jpa-change-default-flushmode-from-auto-to-commit). – manish