1

私はJavaで働いています。コマンドというクラスがあります。このオブジェクト クラスは、プリミティブ (ほとんどが int と double) であるパラメーターの変数 List を格納します。パラメーターの型、数、および順序は各コマンドに固有であるため、List は Object 型です。これらのパラメーター値に基づいてテーブルをクエリすることは決してないので、それらを単一の文字列に連結するか、何らかの方法でシリアル化することにしました。毎回参加する必要があり、そのテーブルはすぐに巨大になるため、これはテーブルを正規化するよりも優れたアプローチであると思います。(編集: Command オブジェクトには、コマンドの種類を識別する文字列や、コマンドが発行されたときのタイムスタンプなど、シリアル化されない他のメンバーも格納されます。)

だから私は 2 つの質問があります: それらを区切られた文字列に変換する必要がありますか? もしそうなら、どの型にキャストするかわからないまま、各オブジェクトを文字列として取得するにはどうすればよいですか? ループして .toString メソッドを使用しようとしましたが、うまくいきません。nullを返すようです。

または、配列のデータをDBの列にシリアル化する方法はありますか? シリアル化について読みましたが、クラス全体をシリアル化するコンテキストのようです。

4

1 に答える 1

2

I would use JSON serializer and deserializer like Jackson to store and retrieve those command objects in DB without losing the specific type information. On a side note, I would have these commands implement a common interface and store them in a list of commands and not in a list of objects.

于 2012-09-16T07:16:39.043 に答える