2011年11月11日金曜日

[hibernate][環境構築]hibernateの環境構築

1. googleで"hibernate ダウンロード"と検索し、SourceForgeからhibernateをダウンロードする。

2. ダウンロードしたファイルを解凍し、libフォルダにあるjarをビルドパスに追加する。
    ※ hibernate3の場合は、解凍した直下のディレクトリにhibernate3.jarがあるので注意を要する。
    ※ 最小限の構成ならば、lib配下のrequiredディレクトリにあるjarのみでも動く。
        ただしjasperのjarなど、required以外のディレクトリにあるものも必要になるケースが多い。
        全部のjarをビルドパスに追加するのが無難。

3. hibernate.cfg.xmlを作成し、次のように内容を記述する。

    <!DOCTYPE hibernate-configuration PUBLIC
      "-//Hibernate/Hibernate Configuration DTD 3.0//EN"
      "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

    <hibernate-configuration>
      <session-factory name="sessionFactory">
        <property name="show_sql">true</property>
        <property name="dialect">org.hibernate.dialect.MySQL5Dialect</property>
        <property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
        <property name="hibernate.connection.url">jdbc:mysql://localhost:3306/[データベース名]</property>
        <property name="hibernate.connection.username">[データベースユーザ名]</property>
        <property name="hibernate.connection.password">[パスワード]</property>
        <mapping class="entity.SampleEntity" />
      </session-factory>
    </hibernate-configuration>

    上記は、MySQL5.x系の最小設定。
    <mapping class>タグで、O/Rマッピングしたいエンティティクラスを指定する。
    パッケージまで書く必要があるので注意を要する。

4. 作成したhibernate.cfg.xmlをクラスパスの通っているディレクトリに置く。

    コマンドラインで実行しているなら、クラスパスは-cpオプションで指定する。
    Eclipseを使っている場合は、プロジェクト直下のディレクトリにある.classpathファイルを見る。

    <classpathentry kind="src" path="WEB-INF/src"/>

    このように記述されていた場合は、プロジェクト配下のWEB-INF/srcディレクトリに設定ファイルを置く。
    実行時にクラスパスをサーチする場合、サブディレクトリまでは見ないので必ず該当ディレクトリの直下に配置すること。

5. ソースファイル上で次のコードを記述し、SessionFactoryが作成されることを確認する。

    // コンフィギュレーションを作成する
    Configuration config = new Configuration().configure();

    // セッションファクトリーを作成する
    SessionFactory sessionFactory = config.buildSessionFactory();

    // セッションを取得する
    Session session = sessionFactory.openSession();

    ※ 確認はデバッグ実行で実施し、例外が発生しなければOKと判断する。
        (設定ファイル読み込み確認まで、まだクエリは出せない状態)

0 件のコメント:

コメントを投稿