在单个Spring应用程序中乘以数据库模式

时间:2014-07-15 09:47:44

标签: java spring hibernate

我希望在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。 如何解决这个问题的任何想法都是受欢迎的。

1 个答案:

答案 0 :(得分:0)

您不应该尝试拥有多个持久性上下文。但您可以通过@Table注释轻松管理多个架构。来自javadoc:

Example:

@Entity
@Table(name="CUST", schema="RECORDS")
public class Customer { ... }