更新时间:2023-09-07 10:19:10
我能找到的***的办法是建立一个约定":我的存储库声明他们期望一个名为 myConventionalPU
的持久性单元来提供.然后,应用程序层将该别名分配给它设置并注入 Spring Data 的实体管理器工厂,因此我的自定义实现可以通过使用该别名通过自动装配接收正确的 EMF.这是我的应用程序上下文的摘录:
The best I could find is to set up a "convention": my repositories declare that they expect a persistence unit named myConventionalPU
to be made available. The application layer then assigns that alias to the entity manager factory that it sets up and injects into Spring Data, so my custom implementations can receive the correct EMF with autowiring by using that alias. Here's an excerpt of my application context:
<bean id="myEntityManagerFactory" name="myConventionalPU"
class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
[...]
</bean>
<jpa:repositories base-package="com.example"
entity-manager-factory-ref="myEntityManagerFactory"
transaction-manager-ref="transactionManager" />
在我的自定义实现中:
@PersistenceContext(unitName = "myConventionalPU")
private EntityManager em;
我根据这个要求打开了 DATAJPA-669.
I opened DATAJPA-669 with this requirement.