gpt4 book ai didi

java - 如何在 Eclipse 中从 EntityManager 访问 EntityManagerFactorylink

转载 作者:行者123 更新时间:2023-12-01 15:35:24 25 4
gpt4 key购买 nike

我正在使用Eclipselink JPA(2.0)。我需要访问entityManagerFactory来清除所有缓存,因为正常的属性设置或刷新或设置提示对我不起作用。我从这段代码中找到了一种方法:

entityManager.getEntityManagerFactory().getCache().evictAll(); 

但是eclipselinkentityManager中没有这样的方法叫getEntityManagerFactory()。我该怎么做?

我使用 EntityManagerFactory 的 Spring bean 配置,entityManager 在 DAO 层中使用 @PersistenceContext 进行注释。

在 Spring bean 配置中:

<bean id="entityManagerFactory"
class="org.springframework.orm.jpa.LocalEntityManagerFactoryBean">
<property name="jpaVendorAdapter" ref="jpaVendorAdapter" />
<property name="jpaDialect" ref="jpaDialect" />
<property name="persistenceUnitName" value="MyService" />
</bean>

在 DAO 中:

private EntityManager entityManager;

@PersistenceContext
public void setEntityManager(EntityManager entityManager) {
this.entityManager = entityManager;
}

谢谢。

最佳答案

如果使用 JPA1,则无法使用标准 JPA API,因为当时不存在该方法。如果使用 JPA2,那么 EM.getEntityManagerFactory() 就是添加到那里的方法。 http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#getEntityManagerFactory ()

关于java - 如何在 Eclipse 中从 EntityManager 访问 EntityManagerFactorylink,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8936741/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com