[英]What does the @Embedded annotation in Morphia actually do?
當寫文件到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的分叉中,我對其進行了限制,使其僅適用於課程級別。 這告訴Morphia映射類型,但不會在缺少的@Id
注釋上使映射失敗。 在該分支中,如果您想指定字段名稱以外的其他名稱,則只需使用@Property
就像處理任何非嵌入式類型一樣。
我希望至少可以澄清一下。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.