0

作業中のアプリケーションに Spring JDBC を使用していますが、問題に直面しています。私のドメイン層にはフィールドがあります。プリミティブ型とオブジェクトの関連付け。個人が地方自治体に属している場合、私は次のことを持っています。

public class Person {

    private Municipality municipality;

    // More code
}

public class Municipality {
    // More code
}

データベースでは、これを主キー + 外部キーでモデル化します。この場合の person テーブルには、municipality テーブルの主キーへの外部キーがあります。個人と自治体のリポジトリを作成しました。今、私は人を取得したいのですが、同時に自治体もそれに接続したいと考えています。

最初に行うことは、Person リポジトリを使用して人物を見つけることです。次に、Person に属する市町村を見つけたいと思います。ただし、現時点では、ドメイン オブジェクトでモデル化された外部キーがありません。つまりprivate int municipality_id、Person クラスにはフィールドがありません。これにより、ドメイン オブジェクトがデータベースと結合されます (少なくともこれについては)。

Municipality_id を見つけるためだけに別のクエリを発行するのは正しくないように感じます。どうすればこの問題を解決できますか? ただし、自治体を見つけるには Municipality_id が必要です。

4

1 に答える 1

1

ここにいくつかの可能なオプションがあります。

  1. person オブジェクトに自治体 ID を含めます。このアプローチに問題があるようです。これは気にしません。クエリ内の他の人のデータに沿って ID を戻すだけです。
  2. 2 番目のクエリを発行して自治体を取得し、その自治体を人物オブジェクトに入力します。このアプローチにも問題はありません。
  3. 2 つのテーブルを結合し、両方のオブジェクトのデータを戻します。マッパーで自治体オブジェクトを作成し、それを人物オブジェクトに設定します。
于 2013-03-23T00:09:57.560 に答える