【问题标题】:Can't use @Embedded for a list of Objects Morphia不能将 @Embedded 用于对象 Morphia 列表
【发布时间】:2020-10-12 07:32:37
【问题描述】:

这是我拥有的主要文档类型

@Entity("users")
public class UserModel {
   @Id
   private ObjectId id;
   private String userID;
   private String prefix;
   @Embedded
   private List<TodoList> todoLists;
   @Embedded
   private List<Reminder> reminders;
// Getters, setters, constructor

这是 TodoList 类:

@Embedded
public class TodoList {
    @Id
    private ObjectId id;
    private String name;
    private List<String> todos;
    private List<String> completed;

列表的@Embedded 注释出现此错误:

UserModel.java:18: error: annotation type not applicable to this kind of declaration
   @Embedded

我真的不明白我做错了什么......

(我使用的是 Morphia 2.0.1,甚至放置一个简单的 TodoList 类而不是这些类的列表都会引发该错误)

【问题讨论】:

    标签: java mongodb morphia


    【解决方案1】:

    刚刚发现@Embedded 不能用于字段,只能用于类。所以我只需要简单地将它从 UserModel 中删除并保留在 TodoList 类中。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-08
      • 1970-01-01
      • 1970-01-01
      • 2021-07-26
      • 2022-10-26
      相关资源
      最近更新 更多