4.1.4 Viết Repository Cassandra
Như bạn đã thấy trong chương 3, việc viết một repository với Spring Data chỉ đơn giản là khai báo một interface mở rộng từ một trong các interface repository cơ bản của Spring Data và tùy chọn khai báo thêm các phương thức truy vấn cho các truy vấn tùy chỉnh. Thực tế, việc viết các repository cho Cassandra cũng không khác gì mấy.
Thật ra, có rất ít điều bạn cần thay đổi trong các repository mà chúng ta đã viết để làm chúng hoạt động với hệ thống lưu trữ Cassandra. Ví dụ, hãy xem xét IngredientRepository mà chúng ta đã tạo trong chương 3:
package tacos.data;
import org.springframework.data.repository.CrudRepository;
import tacos.Ingredient;
public interface IngredientRepository
extends CrudRepository<Ingredient, String> {
}Bằng cách mở rộng CrudRepository như được thể hiện ở đây, IngredientRepository đã sẵn sàng để lưu trữ các đối tượng Ingredient với thuộc tính ID (hoặc trong trường hợp của Cassandra là khóa chính) là kiểu String. Thật tuyệt! Không cần thay đổi gì cho IngredientRepository.
Những thay đổi cần thiết cho OrderRepository chỉ phức tạp hơn một chút. Thay vì sử dụng tham số kiểu Long, kiểu tham số ID được chỉ định khi mở rộng CrudRepository sẽ được đổi thành UUID như sau:
package tacos.data;
import java.util.UUID;
import org.springframework.data.repository.CrudRepository;
import tacos.TacoOrder;
public interface OrderRepository
extends CrudRepository<TacoOrder, UUID> {
}Cassandra rất mạnh mẽ, và khi kết hợp với Spring Data, bạn có thể tận dụng sức mạnh đó trong các ứng dụng Spring của mình. Nhưng bây giờ hãy chuyển sự chú ý của chúng ta sang một cơ sở dữ liệu khác cũng được Spring Data hỗ trợ: MongoDB.
