2009-10-20 3 views
0

Я переделал несколько таблиц db, а также был создан интерфейс фасада и реализующий класс. Мне нужно сделать refresh() на сущности, но EntityManager является частным от обратной инженерии, и я не хочу редактировать обратный инженерный класс. Как мне получить EntityManger, чтобы я мог вызвать refresh()?Обновление EntityManager

ответ

1

Если частный - это ваш единственный барьер, и у вас нет другого разумного решения, попробуйте использовать отражение?

Field entityManagerField = reverseEngineeredInstance.class.getField("entityManager"); 
entityManagerField.setAccessible(true); 
EntityManager entityManager = entityManagerField.get(reverseEngineeredInstance); 

И у вас есть свой EntityManager. Естественно, я бы не рекомендовал использовать рефлексию в производственном коде, но если это так или нет, то идите дальше.

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