我正在尝试使用java的泛型创建通用mongo存储库。 我已经定义了如下的存储库。
public interface ICentroRepository<T extends Serializable, ID extends
Serializable> extends MongoRepository<T, ID> {
}
我正在定义文档实体,如下所示
@Document(collection = "mycollectionName")
public class SkuItem implements Serializable {
@Id
private String _id;
String title;
//Getter and Setter of _id and title
}
但它总是选择集合名称作为serializable(在ICentroRepository中扩展T的接口/类,而不是在@Document集合中定义的值)。 任何人都可以帮我设计我的通用mongo存储库吗? 很多人提前谢谢你。 :):)
答案 0 :(得分:0)
public interface ICentroRepository<T extends Serializable, ID extends
Serializable> extends MongoRepository<T, ID> {
}
到
public interface ICentroRepository extends MongoRepository<SkuItem, ID> {
}
答案 1 :(得分:0)
你应该在SkuItemRepository
上创建一个SkuItem
,这就是Spring Data的工作原理,否则如果你调用findById(id)
并且...... ?
当Spring的基础存储库接口只是通用的时,创建通用存储库有什么好处。所以你只是创建一个没有任何用处的标记界面。
答案 2 :(得分:-1)
public interface ICentroRepository<T implements Serializable, ID implements
Serializable> extends MongoRepository<T, ID> {
}
我不确定 是吗?