Hibernate データの保存(Save)

2008/07/03 14:00Update
TAGS: Hibernate | 保存 | save

Hibernateでは、Session.save(Object)メソッドを用いて、データの保存を行います。


データの保存例
import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.cfg.Configuration;
import org.hibernate.criterion.Expression;

/**
 * AppSuperDao: 親DAOクラス(定義の解説略)
 * UserMstDao:テーブル USER_MSTを操作するクラス
 */
public class UserMstDao extends AppSuperDao {
    /**
     * セッションを取得する(共通化すべきであるメソッド)
     * @return Session
     */
    private Session getSession() {
        SessionFactory sessionFactory = new Configuration().configure().buildSessionFactory();
        Session s = sessionFactory.openSession();
    
        return s;
    }


    /**
     * UserMstをデータベースに保存する
     * @param userMst 更新対象
     */
    public void save(UserMst userMst) {
        getSession().save(userMst); //保存
        //getSession().saveOrUpdate(userMst);   //これもできますよ
    }
    
}



Test用クラス
class Test {
    public static void main(String []args) {
        UserMstDao dao = new UserMstDao();
        
        //データ
        UserMst userMst = new UserMst();
        userMst.setId("001");
        userMst.setName("xxx名前");
        
        
        //トランザクション開始(トランザクションの処理を共通化すべきである)
        Transaction transaction = dao.getSession().beginTransaction();
        
        try {
            //データ保存
            dao.save(userMst);
            //トランザクション・コミット
            transaction.commit();
        } catch (Exception e) {
            //エラーの場合、トランザクション・ロールバック
            transaction.rollback();
        }
    }
}

有关作者
Syboos.jp編集長AJavaやオープンソース情報の執筆、Webサイトの開発や運営全般の業務に携わる。

Sponsored Link


Comments