複合主キーを持つSQLテーブルには、いくつかのデータが格納されます。 ID
,TYPE
およびPAGE
は複合キーを構成し、VAL1およびVAL2は値を格納します。複合キーを使用してSQLテーブルを格納するJavaクラスを構成するにはどうすればよいですか?
私は、String name; String val1; String val2;
を持つクラスを作成するインスタンスを移入し、SQLテーブルとクラスのインスタンスのコレクションとの間の変換を行いたいです。そのようなクラスがあれば、良い実装は何でしょうか?私はこれらのオプションの中から選択しています:
()abstract class Type
がabstract class ID
に拡張されていますが、これは不自然なようです。
(2)ID、TYPE、およびPAGEを連結しますが、最初と2番目のエントリが衝突します。 12_11_2
のような特殊文字を連結すると、文字列のこれらの文字をエスケープする際に問題が発生します。
(3)5弦(各列に1つ)を持つクラスが不自然と思われる、私はString compositeKey;
のような独特のハンドルを持っていないので、複合してSQLテーブルを回すための最も効率的な方法は何ですかクラスのインスタンスの集合にキーを入れる?
JPAでは、コンポジットキーに別のクラスを使用しています。だから私はそれを推測しています。ですから、あなたは(1)のように継承ではなく「合成」を使用します。 (2)sux。 –