Padrões como hibernate

Olá pessoal,
Depois de desenvolver alguns sisteminhas usando hibernate gostaria de saber qual a “melhor forma” de desenvolver aplicações que usarão hibernate.
Eu estava usando assim:
Minhas aplicações web requisitavam uma classe cahamada Fachada (Fachada.inserirUsuario, Fachada.inseriAluno, Fachada.getAlunos…)
cada método dessa classe persite os objetos através de uma outra classe chamada Persitencia (onde se encontra os métodos para persistir os objeto de uma maneira genérica ).
Gostaria de saber se essa é uma boa prática, andei lendo por ai e vi que algumas pessoas implemetavam para cada entidade do sistema uma classe DAO ex: UsuarioDAO, ALunoDao ,etc… para persistir essas entidades.
Qual vcs aconselham a usar para aplicações web?

[]’

http://hibernate.org/40.html

Obrigado Daniel, esse link esta me ajudando muito, gostaria de te perguntar : como vc esta desenvolvendo usando hibernate? poderias me explicar de uma forma bem superficial? ou alguém que esta trabalhando cm o hibernate poderia explicar com esta sendo o projeto do sistema que utiliza hibernate?

Atenciosamente