当前位置: 首页 > 知识库问答 >
问题:

@文档(collection=“Test”)在MongoRepository-Spring数据-mongodb中不工作

卓正业
2023-03-14

我正在尝试使用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
}

但它总是选择集合名称为可序列化的(ICentroRepository中扩展T的接口/类,而不是@Document集合中定义的值。有人能帮我设计我的通用mongo存储库吗?非常感谢:)

共有3个答案

东方文林
2023-03-14
public interface ICentroRepository<T implements Serializable, ID implements 
Serializable> extends MongoRepository<T, ID> {  
} 

我不确定是这样吗?

慕容宏毅
2023-03-14

您应该创建一个SkuItemRepository,它在SkuItem上泛化,这就是Spring数据的工作方式,否则如果调用它的findById(id)和…,它将返回什么。。。?

当Spring的基本存储库接口是通用的时,创建通用存储库的好处是什么。因此,您只是创建了一个没有任何用处的标记接口

蔡宏大
2023-03-14
public interface ICentroRepository<T extends Serializable, ID extends 
Serializable> extends MongoRepository<T, ID> {  
}

public interface ICentroRepository extends MongoRepository<SkuItem, ID> {  
}
 类似资料:
  • 我无法在Spring Data MongoDB中将值初始化为false,因此在我的查询中,我想搜索字段设置为false或null的文档。 以下片段似乎不起作用:

  • 我在GET api中有多个查询参数(如姓名、年龄、性别、位置等…n个数字)。现在我需要使用这些查询值来查询我的mongo数据库。现在用户可以发送从0到n的查询参数。 我正在尝试使用类似的东西 或者 但问题是,考虑到用户可以发送的所有排列和组合,我将不得不编写多个查询。有没有更好的方法来做到这一点?

  • 问题内容: 我正在尝试使用Spring查询Mongo存储库并过滤数组子文档。我已经参考过如何使用mongodb过滤子文档中的数组,但是想知道是否有更合适的方法或Java结构化方法来使用Spring。 我当前正在使用速记存储库接口符号,但是我正在获取未过滤数组的完整文档。 PersonRepository.java 人.java 地址.java 样本输入 预期产量 实际产量 问题答案: 好吧,在Sp

  • 我有一个应用程序与MongoDB(猫鼬)在NodeJs。 在一个集合中,我有这种类型的文档,按周定义: 我有一个查找具有相同时间戳的废物的函数,例如,它给出了此时间戳的最长持续时间。 我想删除所有条目与该时间戳: 并只插入持续时间最高的一个: 我正在使用带有$pull和$push的updateOne,但它不起作用。 我还尝试了。 如果我在MongoDB Compass shell中使用相同的命令,

  • 我有一个具有以下模式的用户集合: 用户将查找用户。名称,必须是唯一的。添加新用户时,我首先执行搜索,如果没有找到这样的用户,我会将新用户文档添加到集合中。搜索用户和添加新用户(如果未找到)的操作不是原子操作,因此,当多个应用程序服务器连接到DB服务器时,可能会同时收到两个具有相同用户名的添加用户请求,从而导致两个添加用户请求都找不到这样的用户,这反过来会导致两个文档具有相同的“user.name”

  • 从Employee em中选择*,其中em.Limit 我想用Spring数据将上面的查询转换为HQL查询。