【问题标题】:Multiply database schema in single Spring application在单个 Spring 应用程序中乘以数据库模式
【发布时间】:2014-07-15 18:08:45
【问题描述】:

我想在休眠中拥有多个数据库模式。我尝试在单个 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。 欢迎任何关于如何解决它的想法。

【问题讨论】:

    标签: java spring hibernate


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2020-05-04
      • 2022-08-23
      • 1970-01-01
      • 2018-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-01-23
      相关资源
      最近更新 更多