- Zaponaj się z adnotacją @PostConstruct. Nie używaj konstruktora w Managed Beans, ponieważ w konstuktorze nie są dostępne zarządzalne (wstrzykiwalne) obiekty np. EJB/beany CDI. Dlatego tam lepiej przeprowadzać inicjalizację.
@PostConstruct
private void init() {
// tu robisz to co w konstruktorze, ale masz
// dostep do wszystkich obiektow
}
- SessionScope żyje raczej dłużej niż tego potrzebujesz. Wystarczy Ci @ViewScoped.
- Projektem warto zarządzać za pomocą Apache Maven (pom.xml).
- DataController (DAO) to jest coś co zwykle wstrzykuje się za pomocą adnotacji @ejb lub @Inject. Poczytaj o SOLID i dependency injection. Dzięki zastosowaniu DI pisanie testów jednostkowych jest łatwiejsze.
Tak sobie pomyślałem, że korzystnie może być jeśli na początku zrefaktoryzujesz projekt do CDI/JDBC (niewiele brakuje). Dopiero później przerób to na JPA2/EJB. :)