2012-01-20 3 views
0

Я использую Eclipselink JPA (2.0). Мне нужно получить доступ к entityManagerFactory, чтобы очистить весь кеш, поскольку нормальные настройки свойств или обновления или настройки подсказок не работают для меня. Я нашел способ сделать это из этой части коды:Как получить доступ к EntityManagerFactory от EntityManager в Eclipselink

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

Но нет такого метода называется getEntityManagerFactory() в EclipseLink EntityManager. Как мне это сделать?

Я использую конфигурацию Spring bean для EntityManagerFactory, а entityManager аннотируется с @PersistenceContext в слое DAO.

Весной фасолью конфигурации:

<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; 
} 

Спасибо.

+0

Производитель JPA 2 не имеет никакого отношения к доступности перечисленных вами методов, так как все они используют одни и те же интерфейсы. Пожалуйста, разместите соответствующий код, чтобы мы могли диагностировать настоящую проблему. – Perception

+0

Отредактировано с использованием исходного кода, пожалуйста, проверьте его. – popcoder

+0

Какую версию Spring вы используете? Имейте в виду, что вы должны использовать версию 3.0, если хотите хорошую поддержку JPA 2. – Perception

ответ

1

Если вы используете JPA1, вы не можете использовать стандартный JPA API, так как этот метод не существовал. Если используется JPA2, то EM.getEntityManagerFactory() - это путь, с которого он был добавлен. http://docs.oracle.com/javaee/6/api/javax/persistence/EntityManager.html#getEntityManagerFactory()

+0

Я использую версию eclipselink 2.2.0, она реализует JPA 2.0, правильно? – popcoder

Смежные вопросы