0

我有一个类别类:

@Embeddable @NoSql(dataFormat=DataFormatType.MAPPED) 公共类 Category 实现 Serializable {

 @Id
 @GeneratedValue
 @Field(name="_id")
 private String id;

 private String name;

 @Embedded
 @ElementCollection(targetClass = Category.class)
 private List<Category> children = new ArrayList<>();

}

如果我坚持下去,它会陷入无限循环。

有什么建议么?

4

1 回答 1

0

一个类不能既是实体又是可嵌入的。ElementCollection 的目标只能是 Embeddable。你需要两节课。一个 RootCategory (Entity) 和一个 ChildCategory (Embeddable),可能共享一个公共类。在 Embeddable 中有一个 id 是没有意义的,所以也许有,

CategoryRoot(id,类别),Category(名称,子项)

否则,考虑不嵌入孩子,而是有一个@OneToMany 关系。

于 2013-05-08T14:17:06.497 回答