gpt4 book ai didi

java - Morphia 中的 @Embedded 注释实际上有什么作用?

转载 作者:行者123 更新时间:2023-12-03 20:29:48 25 4
gpt4 key购买 nike

将文档写入 Mongodb 时使用 Morphia ,这样的结构写出来不会有任何问题,没有 需要 @Embedded注解:

@Entity
public class Blog {
@Id
private String id;
private List<Comment> comments;
}
comments字段被愉快地存储为嵌套数组 Comment元素( Comment 是一个没有注释的普通 POJO)。

然而, Morphia文档建议我应该使用这个:
@Entity
public class Blog {
@Id
private String id;
@Embedded
private List<Comment> comments;
}

但在我使用 @Embedded 的测试中与简单地编写没有注释的结构相比,注释似乎没有做任何额外的事情。

那么 @Embedded 是什么意思?注释实际上是做什么的?除了简单地写入数据之外,它是否会影响查询、索引或其他一些存储功能的能力?

最佳答案

Serializable通常不与 Morphia 一起使用。 @Embedded有点暧昧的东西,原本的意图似乎已经迷失了。事实上,在我正在制作 Morphia 官方 2.0 的 fork 中,我已经限制它只适用于类级别。这告诉 Morphia 映射类型,但不会在丢失的 @Id 上映射失败。注解。在该分支中,如果您希望指定字段名称以外的名称,只需使用 @Property就像您对任何非嵌入类型一样。

我希望这至少能澄清一点。

关于java - Morphia 中的 @Embedded 注释实际上有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51845286/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com