Проблема в том, что studentFacade
инициализируется при построении того объекта, который содержит entityManage
, но любой каркас, который вы используете для DI, внедряет entityManager
только после создания объекта.
То есть при инициализации studentFacade
поле - entityManager
по-прежнему равно нулю.
Чтобы решить эту проблему, вы можете отложить инициализацию переменной studentFacade
до момента внедрения.Обычно это достигается с помощью некоторых хуков жизненного цикла, таких как:
@PostConstruct
public void onConstruct() {
studentFacade = new StudentFacade(entityManager);
}
Пример приведен для среды Spring, но я предполагаю, что почти те же правила применяются ко всему, что вы используете.