質問: タイトル通りの環境において、ORマッパーの選定で有識者のアドバイスをいただきたく。 具体的には ・SpringDataJPA ・MyBatis で迷っております。 選定時の考慮したい点としては ・できればSQLのチューニングを行いたい。 ・エンティティなどはDBから自動生成したい。 ・遅延読み込みは性能面から使いたくはない。 というものです。 MyBatisでジェネレータがありましたため、使ってみましたがなんとも・・・ 正直なところ、別の課題が浮き彫りとなりました。 追加・更新・削除は使えるように見えましたが、検索をどうすべきか悩みます。 マスタメンテナンス機能が多いシステムの構築となりますが、一つのマスタのみで対応できるものはほぼなく、 複数のテーブルを合わせての検索となります。 そもそもの話、このように、複数のテーブルがある場合の対処法はどのようにすべきなのでしょうか? 簡単な検索であれば、JPAでメソッド名から推測してくれるようなものがありますので 複雑なものはNamedQueryとして使えばよさそう。と思いましたが、こちらはエンティティのジェネレータは見つからず・・・ ん~。もやもやと困っております。 さっくりと、楽ができて、楽しくコーディングができるものはないのでしょうか?
回答: こんなところかしら? できればSQLのチューニングを行いたい。 ===================== * mybatis : dynamic-sql * hibernate : querycriteria エンティティなどはDBから自動生成したい。 ====================== * mybatis : mybatis-generator * hibernate : hibernate-tools ・遅延読み込みは性能面から使いたくはない。 * mybatis : fetchType="eager" * hibernate : lazy="false" JOIN ===== * mybatis : association * hibernate : ***-to-***