0

我有一个可嵌入的集合,我想在其中有一个自动生成的 UUID 字段。我正在将休眠 ogm 与 mongoDB 一起使用。我正在尝试以下代码,但会导致以下异常:

@Embeddable
public class Attachment {

    @Id
    @GeneratedValue(generator = "uuid")
    @GenericGenerator(name="uuid", strategy="uuid2")
    private String attachmentId;

例外:

Caused by: org.hibernate.annotations.common.AssertionFailure: Declaring class is not found in the inheritance state hierarchy: com.xxx.yyy.zzz.model.Attachment

如果我删除这个 id 字段,一切正常,除了我的嵌入文档中没有 id。有什么想法吗?

4

1 回答 1

0

我认为目前没有办法做你需要的事情。

,和应该与实体一起使用,而不是与可嵌入对象一起使用(据我所知)@GeneratedValue@GenericGenerator@Id

创建新的嵌入元素时,您可能需要手动生成新的 UUID。

于 2016-01-14T12:17:16.610 回答