Colegas, comecei meus estudos com Java devido a uma nova oportunidade de trabalho, tenho pesquisado em fóruns e livros, o ultimo que li foi o “Desenvolvendo aplicações web com netbeans 6”.
O livro realmente da uma base para desenvolver aplicações web, porém me deixou com algumas dúvidas em relação a arquitetura, ficarei grato se puderem me ajudar, seguem exemplos e dúvidas.
O autor cria a entity atraves do menu ‘Entity Class from Database’, cria um DAO e um controller (este por sua vez me parece um facade, porém não entendo a necessidade do mesmo), depois coloca referência a um array da entidade no SessionBean, segundo ele pq o fluxo padrao de trafego do visual jsf é por escopo de sessão.
Isso não ocasionaria um problema se no sessionBean houvessem referências a muitos arrays de entities ? Principalmente tendo em vista que todos esses arrays são preenchidos no metodo init() do SessionBean, ou até mesmo sendo preenchidos gradualmente.
segue em anexo um pedaço do codigo que exemplifica a situação.
public class SessionBean1 extends AbstractSessionBean {
private void _init() throws Exception {
}
public SessionBean1() {
}
@Override
public void init() {
// Perform initializations inherited from our superclass
super.init();
todosGrupos(); // preenche array da entity
}
protected GrupoController getGrupoController() {
return (GrupoController) getBean("GrupoController");
}
private Grupo[] grupos;
public Grupo[] getGrupos() {
return grupos;
}
public void setGrupos(Grupo[] grupos){
this.grupos = grupos;
}
public void todosGrupos() {
grupos = (Grupo[]) getGrupoController().todos().toArray(new Grupo[0]);
}
private Integer id = null;
public Integer getId() {
return id;
}
public void setId(Integer id){
this.id = id;
}
}
GrupoController:
public class GrupoController {
private BaseDao<Grupo, Long> grupoDao;
public BaseDao<Grupo, Long> getGrupoDao() {
return grupoDao;
}
public void setGrupoDao(BaseDao<Grupo, Long> grupoDao) {
this.grupoDao = grupoDao;
}
public void atualizar(Grupo grupo) {
grupoDao.update(grupo);
}
public void salvar(Grupo grupo) {
grupoDao.save(grupo);
}
public void excluir(Grupo grupo) {
grupoDao.delete(grupo);
}
public List todos() {
return grupoDao.getAll("SELECT a FROM Grupo a");
}
}
Caso alguem conheça alguma aplicacao open source, que tenha sido desenvolvida com hibernate e visual web jsf por favor me indique
desde já obrigado