Ok, deixa eu tentar imaginar um sistema qualquer sem VOs (ou qualquer outro nome sinônimo):
Vamos supor que eu queira saber quais os funcionários que trabalham em uma determinada empresa e rodar a folha de pagamento deles (um exemplo muito comum do dia-a-dia de sistemas CRUD).
Aqui eu já começo com uma instância da empresa. Utilizo o método getFuncionarios nela, que vai a camada de persistência e chama um método que FABRICA instâncias de funcionários. Correto?
Vamos supor que eu decida fazer usando a JDBC diretamente (sem reflection, hibernate, JPA e nada disso). Eu teria que ter setters para todos os campos para poder setar um valor para cada um deles conforme eles são lidos do banco, ok?
Vamos supor que eu pegue uma ferramenta de reflection que o meu primo criou que acessa os campos ou os setters automaticamente (seja por annotations, reflection bruto, xml, bola de cristal ou qualquer coisa). Ele vê a coluna NOME no ResultSet e chama o método setNome do funcionário que ele recém criou. Correto?
Quando a camada de persistência devolver a lista de funcionários para o objeto de negócio da empresa, beleza. O objeto de negócio chama os métodos de negócio que quiser (inclusive getters e setters), mas no geral são métodos de negócio.
Suponha que você queira cadastrar/inserir um novo funcionário na empresa X. Neste caso você instancia o funcionário com todos os campos com valores iniciais 0 ou null, dá um setEmpresa nele, chama o método setIsso, setAquilo e no final chama o método persistir, que chama a camada de persistência e gera uma SQL INSERT INTO …
Para preencher os valores do PreparedStatement do INSERT, será preciso utilizar os getters.
Agora chegamos no ponto: O objeto de negócio tem os campos para armazenar a informação. Setters burros para receber dados da camada de persitência e getters burros para passar dados a camada de persistência. Pronto! Seu encapsulamento foi pro saco porque no fim das contas o que você fez foi apenas criar VOs anabolizados onde você enfiou um monte de métodos de negócio e decidiu chamá-los de camada de negócio.
E então, como corrigir o modelo acima?