2
respostas

DAO ou ORM?

Já fiz uso de ambos os padrões de projeto, mas gostaria de saber quando cada um é mais adequado. Acho ORM mais prático, porém prefiro trabalhar com DAOs porque ao meu ver é mais organizado, uma vez que com elas é possível separar a abstração da comunicação com o banco de dados

2 respostas

Bom dia Gabriel, na verdade ORM não é um padrão. Os frameworks ORM são usados para trabalharmos com persistencia de dados de uma forma Orientada a Objetos ao invés de pensar relacional(tabelas, etc..).

DAO é um padrão onde temos uma classe responsável por ter métodos que acessam o banco de dados, mas podemos usar o padrão DAO em um projeto sem um framework ORM, como jdbc puro ou podemos usar o padrão DAO em um projeto com framework ORM como o hibernate.

Entendi, mas alguns Frameworks, o Laravel pro exemplo, fazem o mapeamento das colunas do DB tendo por base os atributos da classe (ORM), nesses casos, como posso fazer a divisão entre minha classe DAO e a classe que é puramente uma abstração?