JpaTransactionManager 有两个bean。
可以使用限定符符号来管理它们。
<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";
}
问题是:如何使用隔离级别或只读分配?@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";
}
我怎么解决这个问题?