我希望在hibernate中有多个数据库模式。我在单个Tomcat应用程序上尝试了许多Spring上下文(每个测试场景都有一个上下文):
AnnotationConfigApplicationContext ctx = new AnnotationConfigApplicationContext();
ctx.register(LocalBankConfig.class);
Map<String, Object> myProps = new HashMap<>();
myProps.put("simulationId", simulationId);
ctx.getEnvironment().getPropertySources().addFirst(new MapPropertySource("simulation.properties", myProps));
ctx.refresh();
我在商业模式中使用Spring注释:
@PersistenceContext
private EntityManager em;
…
@Transactional
method
但这种方法似乎不起作用。仅注入上次创建的String上下文中的EntityManager。 如何解决这个问题的任何想法都是受欢迎的。
答案 0 :(得分:0)
您不应该尝试拥有多个持久性上下文。但您可以通过@Table
注释轻松管理多个架构。来自javadoc:
Example:
@Entity
@Table(name="CUST", schema="RECORDS")
public class Customer { ... }