タイプ java.lang.Object の Entity メンバーを永続化する方法はありますか?
メンバーを持つエンティティDynamicPropertyがあるとしましょう
private String name;
private Object value;
値は、基本的に非複雑なもの (文字列、ブール値、整数、10 進数、列挙型など) のいくつかの型にすることができます。
それを行う方法はありますか?DB(Oracle)の列タイプはどうあるべきか。
タイプ java.lang.Object の Entity メンバーを永続化する方法はありますか?
メンバーを持つエンティティDynamicPropertyがあるとしましょう
private String name;
private Object value;
値は、基本的に非複雑なもの (文字列、ブール値、整数、10 進数、列挙型など) のいくつかの型にすることができます。
それを行う方法はありますか?DB(Oracle)の列タイプはどうあるべきか。
それらが基本型である場合は、いつでもそれらを文字列として保存してから、ゲッターで適切なクラスにキャストすることができます。
別のオプションもあります-値の型を保持し、必要な型のフィールドを持つクラスを作成できますが、設定されるのは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
注釈を見てください。役立つ場合があります。