Phân biệt DAO và Repository trong mô hình MVC?

Trước đây mình thường thao tác với database thông qua DAO (Data Access Object) để thực hiện các câu truy vấn dữ liệu ? Nhưng khi học tới Spring DATA JPA thì lại thao tác thông qua thằng Repository mình thấy cũng không khác gì nhau cho mấy đều thao tác với DB cả ?

@Repository
public interface BookRepository extends CrudRepository<Book, Integer> {
   // some code...
}

Mô hình MVC : Controller - Model - DAO.
Mô hình MVC trong Spring : Controller - Service - Repository.
Chúng có sự khác nhau gì không ạ ? Mới tìm hiểu mong m.n giúp đỡ !

DAO is an abstraction of data persistence. Repository is an abstraction of a collection of objects.

Mình có đọc trên stackoverflow mà chưa hiểu lắm :frowning:

Dao thì chỉ thao tác với 1 bảng thôi, còn Respository thì bạn có thể kết hợp nhiều bảng của nhiều Dao với nhau để lấy dữ liệu cần. Bạn có thể sài cả 2 trong 1 project

1 Like
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?