Olá,
Estou estudando pelo livro “Spring in Action”, e o autor, num de seus exemplos, cria a camada de persistência com o Hibernate e, depois, no capítulo sobre Transactions, ele cria classes que acessam a camada de persistência (ele as chamou de classes Service), como mostra o código de exemplo abaixo:
// classe da persistência
public class LivroDAO {
...
public void addLivro(Livro livro){
currentSession().save(livro);
}
...
}
//classe Service
public class LivroService {
...
public void addLivro(Livro livro){
livroDao.addLivro(livro);
}
...
}
Quando ele falou de transactions programáticas (por código Java e não XML), os códigos da transaction foram adicionados nos métodos da classe LivroService.
Minhas dúvidas são:
-> Por que essas classes que acessam a camada de persistência devem ser implementadas? Elas devem ser implementadas somente quando eu for usar transactions?
-> Como eu usarei as transactions, eu crio um pacote separado para as classes Service (um pacote “service”, por exemplo)?
-> Cada classe DAO terá uma classe Service correspondente?
Agradeço.