新しいプロジェクトでは、永続ドメインオブジェクトにSpring MVCとJdbcTemplate(特にSimpleJdbcTemplate)を使用することに決めました。このアプローチで私が抱えていた1つの問題は、SELECTクエリからオブジェクトグラフをきれいに作成する方法です。 RowMapperのメカニズムは、単一のテーブルから行を引っ張っているときにうまくいくと思われます。私は、JOINクエリの結果をマッピングしているときに気になる。SimpleJdbcTemplateを使用してドメインオブジェクトのオブジェクトグラフをきれいに作成
コンクリートを与える(まだ完全に製造された)、実施例、私はN対1の関係にある2つのエンティティがあるとします。私は私のInvoiceDAO
上selectInvoices()
メソッドを呼び出すことができるようにしたいと思い
public class Invoice {
private Customer customer;
...
}
public class Customer {
private int id;
private String name;
...
}
を完全に形成されたCustomer
インスタンスが入力されたInvoice
のリストを取得します。代わりに、私は自分自身には、次のような何かを誘惑見つける:
public class Invoice {
// this makes me unhappy
private int customerId;
...
}
きれいにこれを実現させるためのベストプラクティスは何ですか?私は弾丸を噛んでORMを使うべきですか?
良い質問、そしてあなたのDAOのか、POJOのを濁っしたくない場合、あなたは行く必要があります:あなたは自分でそれをすべて行いたい場合は、私のトリックは、顧客を保持するためにマップを使用することですORMルート。 – Perception