0

埋め込み可能なコレクションがあり、その中に自動生成された UUID フィールドが必要です。mongoDB で hibernate ogm を使用しています。次のコードを試していますが、次の例外が発生します。

@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 に答える