我有一个 micronaut 数据应用程序,对于复制操作,我需要使用同一个 JPA 存储库来访问多个数据源。我想将它们注入到不同的变量中,例如sourceRepo
and targetRepo
。数据源在 中声明,application.yml
名称为default和target。如果我声明一个存储库变量,@Inject
它将被初始化以访问默认数据源。
问题是,我如何声明一个注入的存储库变量,以便它访问目标数据源?我可以在下面声明或类似的目标注入,并且这些工作。但是这些注释都不会影响存储库变量或参数。EntityManager
SynchronousTransactionManager
@Inject
@CurrentSession("target")
EntityManager entityManager;
@PersistenceContext(name = "target")
SynchronousTransactionManager<Connection> transactionManager;