2016-06-06 4 views
0

При выдаче простого «найти» операцию по сущности, EclipseLink бросает NPE:EclipseLink NPE на поиск

java.lang.NullPointerException: null 
    at org.eclipse.persistence.internal.jpa.CMP3Policy.createPrimaryKeyFromId(CMP3Policy.java:224) 
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.findInternal(EntityManagerImpl.java:808) 
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:730) 
    at org.eclipse.persistence.internal.jpa.EntityManagerImpl.find(EntityManagerImpl.java:599) 

Предприятие использует Multitenancy со стратегией таблицы каждого арендатора.

ответ

1

Убедитесь, что вы устанавливаете свойство арендатора на менеджере объекта, например, так:

String tenant = // ... 
EntityManager em = // ... 
em.setProperty(PersistenceUnitProperties.MULTITENANT_PROPERTY_DEFAULT, tenant); 
+0

Используете ли вы ** persistence.xml ** файл? –

+0

Да, но свойство арендатора зависит от данных запроса (оно является динамическим). –

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