Duvidas Sobre as DAOS

Galera tenho uma dúvida, quando monto um select da dao e na tabela q eu to pesquisando tem uma fk, neste mesmo select eu posso chamar uma outra dao que me retorna um outro objeto? E ai o retorno do primeiro select seria um objeto tendo outro objeto?

Está sua SQL terá acesso a varias tabelas, logo voce deve monta-la dentro deste dao mesmo, exemplo:

num ClienteDAO imagine voce tendo que listar todos os clientes que estao cadastrados e logo trazendo junto do cliente, os dados do endereço e de movimentação junto.

Ficou mais umas dúvidas, primeiro eu monto tudo em um sql? ou chamo a EnderecoDAO para me retornar os dados da tabela endereco? E segundo, nas classes Beans sempre q eu encontro um id de outra tabela (FK) na minha classe eu vou ter outro objeto por exemplo, dentro de Cliente eu vou ter um objeto Endereco?

Vc ou alguém saberia me dizer algum artigo na internet ou um livro sobre este assunto?
Desde já agradeço a ajuda!

Pense que você terá uma classe para gerenciar os serviços CRUD para classe classe da sua aplicação.