2013/08/19

hibernate session.save視点、設定xml

=>視点:物をhibernateに渡す。
creates some new Event objects and hands them over to Hibernate for management, using the save method. Hibernate now takes responsibility to perform an INSERT on the database


★Native Hibernate APIs--->hibernate.cfg.xml
JPA APIs--->persistence.xml

★★
・Sessionとは、永続化サービスの提供を行うもの。DBから取得したオブジェクトを保持し、状態管理を行うもの。永続化サービスでは、「永続化コンテキストに対する変更がDBに反映」されます。
・HibernateのSession管理
  ★宣言的トランザクションを利用しているときは、org.hibernate.SessionFactory.getCurrentSession()->セッション操作->flushのみでOKです。SessionのクローズやオープンはHibernateが行なってくれます。

    session = sessionFactory.getCurrentSession();
    //ここにセッション操作のコードを記述
    session.flush();

★プログラム内でトランザクション管理を行うとき

    プログラム内でトランザクション管理を行うときには、セションのオープン、開始、操作、クローズを全てメソッド内に書かなければなりません。

    session = sessionFactory.openSession();
    session.beginTransaction();
    //ここにセッション操作のコードを記述
    session.getTransaction().commit();
    session.close();