0

名前、ブランド、価格、容量などのプロパティを持つコンピューターパーツ(具体的にはRAMモジュール)を表すクラスがあります。独自のデータをデータベースに挿入するメソッドが必要です。そのプロパティがnullでない限り、すべてのプロパティをデータベースに挿入する必要があります。これを行うための最良の方法は、データベースの列の文字列タイトルを含むマップと、オブジェクトの対応するプロパティを取得するメソッドをループすることでしょうか。リフレクションを使用するのはこれが初めてなので、これが実際にこれを行うための最良の方法である場合は、サンプルコードのスニペットをいただければ幸いです。

よろしくお願いします、ベン

4

2 に答える 2

1

いいえ。あなたは、永続性よりもシリアル化の問題について実際に話しているのです。永続性は、データベース内の列にマップされる、事前定義されたプロパティを持つエンティティの概念を維持します。プロパティを検出するだけの場合は、基本的にオブジェクトをシリアル化しています。

リフレクションを使用してこれを行う場合の問題は、サイクルを含む可能性のあるオブジェクト(すでに検出されたノードを指すオブジェクト)のグラフを作成し始めると、非常に複雑になることです。

もう1つのオプションは、Cocoaのように、単純なプロパティマッピングプロトコルを使用することです。各オブジェクトタイプは、それ自体をエンコードしてからデコードする方法を知っていますが、フォーマットに依存しないエンコーダーまたはデコーダーからです。したがって、50の異なるエンティティに対してXMLで実行する場合、後でエンティティコードを変更せずにJSONをサポートすることができます。

于 2013-01-31T00:25:54.527 に答える
0

いくつかのフレームワークはすでにあなたが探しているものを実装しています:) いくつかの概念についてはhttp://en.wikipedia.org/wiki/Object-relational_mappingを見てください:

PlayFrameworkに付属しているEbeanを見て、Hibernateの両方があなたが探していることを実行することをお勧めします

于 2013-02-03T03:30:22.547 に答える