Существует два компонента JpaTransactionManager.
Может управлять ими с помощью обозначения квалификатора.
<bean id="transactionManagerConstant" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="constant"/>
<qualifier value="first"/>
</bean>
<bean id="transactionManagerRelative" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="relative"/>
<qualifier value="second"/>
</bean>
Код Java:
@Transactional("first")
public String saveWork(){
em1.persist(work);
work = (Work) ctx.getBean("work");
return "/workLists.xhtml";
}
@Transactional("second")
public String saveEvent(){
em2.persist(event);
event = (Event) ctx.getBean("event");
return "/eventLists.xhtml";
}
Проблема в том, как мнеиспользовать уровень изоляции или readOnly присваивания?Аннотации @Qualifier не работают:
@Transactional(isolation = Isolation.SERIALIZABLE, propagation=Propagation.REQUIRED, readOnly = false)
@Qualifier("first")
public String saveWork(){
em1.persist(work);
work = (Work) ctx.getBean("work");
return "/workLists.xhtml";
}
@Transactional(isolation = Isolation.SERIALIZABLE, propagation=Propagation.REQUIRED, readOnly = false)
@Qualifier("second")
public String saveEvent(){
em2.persist(event);
event = (Event) ctx.getBean("event");
return "/eventLists.xhtml";
}
Как я могу решить эту проблему?