• 締切済み

DAOと呼ぶべきか、何と呼ぶべきか

やや抽象的な質問です Tomcat+Struts+Hibernate+PostgreSQL でWEBプログラムを書いています。 DBについて、Hibernateを使う前は JDBCを直接叩いていましたが、その部分は DAOとしてまとめて特定のクラスに役割を持たせていました。 現在は、その処理はHibernateに任せていますが、それでもすべてのクラスからHibernateを叩くわけでもなく、例えば会員管理をするとして、会員テーブルに対するトランザクション一般を特定のクラスに役割を持たせたくなります(POJOをエンティティにする分には不要ですが、SELECTなどで結局SQLを書く以上、欲しくなる)。 まさに今そういうクラスを作ろうとしていますが、そのクラス名で悩んでいます。 例えば、会員テーブルに関するHibernateへの手続きをまとめたクラスの名前を "UserDAO" のようにするべきか、それだといかにもJDBCを直接叩くクラスだと誤解されやすいか、どうでしょうか。 あるいは、"DAO"の解釈など、根本的に勘違いをしていますでしょうか。 "UserTableLogic"なんていうクラス名でもいいかも知れませんが、どうも散文的な感じがします。 「そんなんどうでもいいじゃん」と言いたくなる気持ちを抑えて是非ご教授下さいませ。

みんなの回答

  • sha-girl
  • ベストアンサー率52% (430/816)
回答No.1

「DAO」はData Access Object の略ですが 一般的には汎用的な意味ではなく Microsoft Accessのデーターベースのエンジンを 指すのでは? ※一応有名です。

sj2
質問者

お礼

遅ればせながら、回答どうもありがとうございました。 私の認識では一般的な汎用的な意味なのですが、ご指摘の件についていろいろ調べてみようと思います。 ありがとうございました。