Agora em novo endereço: www.objectzilla.com.br. Atualize-se, este conteúdo será logo removido. Mas não se assuste, como esse texto tem alguma coisa de interessante, eu farei uma versão atualizada lá. E só removerei este texto depois de passar o link aqui.
Martin Fowler, também conhecido no meio como Fofó, disse sobre certos maus cheiros no código. Pois bem, aconteceu comigo!
Eu não sei por que eu tive essa idéia, mas achei que se eu usasse JDBC puro seria mais fácil. Nossa senhora, parecia cheiro de quem comeu quilos de ovo, repolho e batata-doce! E pra piorar, havia um certo probleminha que eu passei por cima: livro pode ter múltiplos autores e autor pode ter muitos livros, então deveríamos ter uma entidade livro, uma entidade autor e um relacionamento muitos-para-muitos entre eles. Não foi o que eu fiz, coloquei uma lista de String na classe Livro e achei que isso mapearia fácil para um relacionamento na base onde realmente tem uma tabela “autores”, porém como seria a inserção de um livro em um caso desse? O que eu quase ia fazer era pedir uma busca na tabela “autores” passando o nome do autor para retornar o id (uma busca full scan!) e se retornasse algum id, eu iria fazer a inserção. A atualização teria complicações piores que é melhor nem comentar.