JPA2にキーと値の両方が列挙型(Map<Enum, Enum>
)のマップを格納するのに助けが必要です。 JPAプロバイダとしてのHibernateでは、enumをblobとして格納しますが、データを文字列として格納する必要があります。私はこの問題を解決するために次の注釈を試しました:しかし、データはまだブロブとしてDBに格納されています。誰かがこの問題を解決しましたか?ストアマップ<Enum, Enum>を文字列として
答えて
ほとんどすべてのJavaオブジェクトにはtoString() method
が含まれています。データベースでマップを表現したい場合は、これを選択することをお勧めします。
しかし、キーや値の要素ではなく、保存したいMAPを確認する必要がありますか?
はい、それはキーとその値です。残念ですが、JPA2から始まり、休止状態です。このキーと値をStringとして保存するためにはコードの変更をここに投稿できますか? – user1289877
@Enumeratedは、値の型を定義するために使用されます。キーと値の両方のための列が保存されます列挙型のVARCHARが、名前があるテーブルにマップを以下に示します。
@Enumerated(EnumType.STRING)
@ElementCollection(fetch = FetchType.EAGER)
@MapKeyEnumerated(value = EnumType.STRING)
public Map<MyEnum, MyOtherEnum> elementsMap = new HashMap<>();
それは大体次の表を生成します:
[NAME_OF_ENTITY]_ELEMENTSMAP (
NAME_OF_ENTITY_ID INTEGER,
ELEMENTSMAP VARCHAR(255),
ELEMENTSMAP_KEY VARCHAR(255)
)
あなたの記事のおかげで、私はそれを試みたが、私を助けなかった。私はpostgresqlのDBを使用し、休止状態はint8、bytea、byteaデータ型をテーブルに作成します。 – user1289877
- 1. Spring - Enumを文字列として格納/取得しているモンゴル
- 2. Java enumと一致しない処理文字列
- 3. 値が<select><option>文字列として戻る
- 4. の文字列としての文字
- 5. StringDictionaryと辞書<文字列、文字列>
- 6. Hibernate aliasToBeanは文字列をEnumに変換しません
- 7. <=と文字列をトリミング2つの文字
- 8. 文字列をC#のEnum-Tag値にキャストする方法(Enum名にする)?
- 9. 文字列とCharStream <'a> in FParsec
- 10. 文字列としてのインデックス文字列
- 11. 文字列としての文字列圧縮結果
- 12. [Flags]列挙型を文字列として
- 13. 配列としての文字列オフセット
- 14. 文字列の区切り文字としてのWindowsバッチ文字列
- 15. 文字列と文字列をすべて文字列から削除する
- 16. 別の文字列に添え字として文字列を追加する
- 17. 文字列を等価のEnum値に変換する
- 18. VB.NETでEnum値に文字列をパースする
- 19. VB.Netで文字列ENUMを定義する
- 20. シェルで区切り文字として文字列を使用して文字列を切ります
- 21. 配列と の文字として非ASCII文字列を扱う
- 22. のArrayList <HashMapの<文字列、文字列>>へのString []
- 23. xcode ENUM UTF8リテラル文字を使用して
- 24. 型キャスト地図<文字列、文字列>
- 25. デシリアライズKeyValuePair <文字列、文字列> Json.Net
- 26. たJavaのジェネリックペア<文字列、文字列>適切
- 27. 辞書の問題<文字列、文字列>
- 28. プログラムコードを文字列として
- 29. スタックトレースを文字列として
- 30. CGPathを文字列として
文字列は」doesnのようなマップを保存しますまったく賢明な音。データの正規化について聞いたことがありますか? –
申し訳ありませんが、私は間違ったやり方でこの質問を書いています。今は固定されています。私は鍵とその値を意味します。 – user1289877
'toString()'をキーと値の両方に使うことができます。どうしたの? –