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

mvc

(Đinh Sỹ Hùng) #1

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:


(Đào An) #2

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


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