2

タイプ java.lang.Object の Entity メンバーを永続化する方法はありますか?

メンバーを持つエンティティDynamicPropertyがあるとしましょう

private String name;
private Object value;

値は、基本的に非複雑なもの (文字列、ブール値、整数、10 進数、列挙型など) のいくつかの型にすることができます。

それを行う方法はありますか?DB(Oracle)の列タイプはどうあるべきか。

4

2 に答える 2

0

それらが基本型である場合は、いつでもそれらを文字列として保存してから、ゲッターで適切なクラスにキャストすることができます。

別のオプションもあります-値の型を保持し、必要な型のフィールドを持つクラスを作成できますが、設定されるのは1つだけです。何かのようなもの

class Foo
{
    Integer a;
    Double b;
    String c;
    int type;

    //getters and setters

    public Object getObject()
    {
        if (type == 1)
            return a;
        else if (type == 2)
            return b;
        return c;
    }
}

ちょっとした回避策ですが、うまくいくはずです。オブジェクトを抽象として永続化することはできないと思います。

また、@Embedded注釈を見てください。役立つ場合があります。

于 2013-05-08T14:26:30.477 に答える