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

MappingException:路径引用club.name无效!只能直接或通过其id属性指向关联

终睿
2023-03-14

我正在使用Spring Data Mongodb库,但我不知道用@Query在两个与@dbref连接的集合中找到一个元素,如下所示:

用户:

@Document
public class User {

@Id
@JsonSerialize(using=ObjectIdSerializer.class)
private ObjectId id;

@CreatedDate
private Date dateCreated = new Date();

@LastModifiedDate
private Date dateModified = new Date();

@NotEmpty
@Indexed
private String name;

@Language
private String lang;

@NotEmpty
@DBRef
private Club club;
...
@Document
public class Club {

@Id
@JsonSerialize(using=ObjectIdSerializer.class)
private ObjectId id;

@Indexed(unique = true)
private String name;

private Address address;
...
@Query("{\"$or\":"
            + "["
                + "{\"name\" : {\"$regex\" : ?0, \"$options\": \"i\"}}, "
                + "{\"club.name\" : {\"$regex\" : ?0, \"$options\": \"i\"}} "
            + "]"
        + "}")
public Page<User> findAll(String query, Pageable pageable);

共有1个答案

颜博达
2023-03-14

无法在MongoDB本身中查询DBRef。因此,使用Spring Data MongoDB是不可能的。由此产生的错误非常清楚,在其消息中“关联只能直接指向或通过其id属性指向!”

 类似资料:
  • 我们将app engine与CloudSQL结合使用,有时会出现以下异常。只有当我们从Java执行本机查询时才会发生这种情况(当我们使用JPA时不会发生这种情况)。知道怎么摆脱它吗? 异常[EclipseLink-4002](Eclipse持久性服务-2.3.2.v20111125-r10461):org。日食坚持不懈例外。DatabaseException内部异常:com。谷歌。云sql。jdb

  • 升级到Spring Boot2.0后,我的工作SQL会抛出以下异常-请在这里帮助我。

  • 我想访问项目“\src\main\resources”的资源形式,但由于任何原因,我只能访问目标类。这是我的代码: 这里是我的Project Dir: 问题是,即使我删除了目标/类中的所有文件并运行代码,编译器也会将文件从“src/main/ressource”复制到“目标/类”中并从那里读取它们。

  • 我们只考虑无向图。图的直径是在所有顶点和的选择中,和之间的最短路径距离的最大值。(回想一下,和之间的最短路径距离是路径中最少的边数。)接下来,对于顶点,让表示和之间的最短路径距离在所有顶点上的最大值。图的半径是所有顶点选择的中的最小值。半径和直径以下哪项始终保持不变?选择最佳答案。 1) r 我们知道(1)和(2)总是保存在任何写的参考书中。我的挑战是入学考试中提到的这个问题,只有(1)或(2)中

  • 我正在使用一个API,该API为内存映射的I/O提供指针。它通过填写指针到指针的参数来实现这一点: 因为这是内存映射的I/O,所以我很确定我应该在这里使用。(我不知道为什么他们没有将参数设为。) 但是,我的volatile void**不能隐式转换为函数的,因此我不能直接传入它: 我目前正在使用一个额外的变量和一个单独的赋值步骤来解决这个问题: 这似乎很冗长。在这种情况下,当指针传入时,将vola

  • 原文:Path effects guide Matplotlib 的patheffects模块提供了一些功能,用于将多个绘制层次应用到任何艺术家,并可以通过路径呈现。 可以对其应用路径效果的艺术家包括Patch,Line2D,Collection,甚至文本。 每个艺术家的路径效果都可以通过set_path_effects方法(set_path_effects)控制,它需要一个AbstractPat