Olá,
Geralmente vcs dividem as classes em pacotes por funcionalidades ou por entidades?! Eu geralmente crio pacotes baseado na entidade, por exemplo, se tenho a entidade Pessoa, vou ter um pacote assim:
br.com.guj.pessoa
|___ Pessoa.java
|___ PessoaDao.java
|___ PessoaDaoImpl.java
|___ PessoaBusiness.java
|___ PessoaOQueMaisFor.java
Só que olhando os codigos do guj, está tudo dividido por funcionlidades: pacote para dao, interceptors, etc. O que é mais comum?!
Até.