1
resposta

DAO

Eu não entendi a pergunta, o que seria a tarefa, produtoDAO e categoriaDAO?

Os DAO's que criamos recebem a conexão no construtor. Imagine que, ao invés disso, pegamos uma nova conexão automaticamente em um construtor sem argumentos, como no código a seguir:

public class ProdutosDAO { private final Connection con; ProdutosDAO() { con = Database.getConnection(); } }

O que acontece caso uma tarefa tenha que acessar dois dados, como ProdutoDAO e CategoriaDAO? Qual a desvantagem desta abordagem?

1 resposta

Augusto, bom dia. Quando recebemos a conexão no construtor, ela é aberta na classe Principal e pode ser reaproveitada em várias DAO's, permitindo o uso de transação. Quando eu crio a conexão no construtor da DAO, ela só vai poder ser utilizado nessa DAO. Então se eu tiver que fazer duas operações, na mesma transação, com Produto e Categoria, não seria possível, pois cada uma delas teria sua própria conexão.