1

具体的なクラスOrangeを持つFruitインターフェースがあります。フルーツがバスケットに埋め込まれていると想像してください。MongoDB にクラス名を含めなくて済むようにしたいので、concreteClass を使用したいと思いました。

@Embedded(concreteClass = HashMap<Integer, Orange>>)
private Map<Integer, Fruit> contents;

明らかに、concreteClass には Class が必要です。上記のように HashMap を表すにはどうすればよいですか。

4

1 に答える 1

1

className の格納は、Morphia がデータベースからデータを取得するときにインスタンス化する具象クラスを実際に知るために使用するメカニズムです。className が格納されていない場合、残っている唯一のメカニズムは、埋め込むタイプの具象クラスを指定することです。 、私はモルフィアがこれを処理するための他のメカニズムを提供していないと思います。インターフェイスへのプログラミングに関する/UsingInterfaces

このようなことができない場合:

HashMap<Integer, Orange>

私たちは立ち往生しているようです:

private Map<Integer, Orange> contents;
于 2013-05-24T15:03:37.560 に答える