2016-08-12 1 views
1

複合主キーを持つSQLテーブルには、いくつかのデータが格納されます。 ID,TYPEおよびPAGEは複合キーを構成し、VAL1およびVAL2は値を格納します。複合キーを使用してSQLテーブルを格納するJavaクラスを構成するにはどうすればよいですか?

enter image description here

私は、String name; String val1; String val2;を持つクラスを作成するインスタンスを移入し、SQLテーブルとクラスのインスタンスのコレクションとの間の変換を行いたいです。そのようなクラスがあれば、良い実装は何でしょうか?私はこれらのオプションの中から選択しています:

()abstract class Typeabstract class IDに拡張されていますが、これは不自然なようです。

(2)ID、TYPE、およびPAGEを連結しますが、最初と2番目のエントリが衝突します。 12_11_2のような特殊文字を連結すると、文字列のこれらの文字をエスケープする際に問題が発生します。

(3)5弦(各列に1つ)を持つクラスが不自然と思われる、私はString compositeKey;

のような独特のハンドルを持っていないので、複合してSQLテーブルを回すための最も効率的な方法は何ですかクラスのインスタンスの集合にキーを入れる?

+0

JPAでは、コンポジットキーに別のクラスを使用しています。だから私はそれを推測しています。ですから、あなたは(1)のように継承ではなく「合成」を使用します。 (2)sux。 –

答えて

1

MyKey(文字列A;文字列B;文字列C;)をキーとして使用し、値としてクラスMyValue(文字列D;文字列E)を使用してください。

関連する問題