Hibernate データの更新(Update)
2008/07/03 13:41Update
Hibernateでは、Session.update(Object)メソッドを用いて、データの更新を行います。
データの更新例
Test用クラス
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 id 主キー。Serializable の型(String、Integer、Double、...)
* @return 合致するUserMstデータ。
*/
public UserMst get(String id) {
return (UserMst)getSession().get(UserMst.class, id);
}
/**
* UserMstをデータベースに更新する
* @param userMst 更新対象オブジェクト
*/
public void update(UserMst userMst) {
getSession().update(userMst);
}
}
Test用クラス
class Test {
public static void main(String []args) {
UserMstDao dao = new UserMstDao();
//データベースからデータを取得
UserMst userMst = dao.get("001");
//データを再設定
userMst.setName("新しい名前");
//トランザクション開始(トランザクションの処理を共通化すべきである)
Transaction transaction = dao.getSession().beginTransaction();
try {
//データ更新
dao.update(userMst);
//トランザクション・コミット
transaction.commit();
} catch (Exception e) {
//エラーの場合、トランザクション・ロールバック
transaction.rollback();
}
}
}
Sponsored Link
- Relative Articles
- Hibernate設定ファイルその1 - hibernate.cfg.xml - (2008/07/09 14:08)
- Hibernate c3p0 - よく利用されているコネクションプーリング - (2008/07/09 15:00)
- Hibernate 方言(Dialect)一覧 - (2008/07/09 15:10)
- Hibernate のSessionとSessionFactory - (2008/07/09 15:51)
- ThreadLocal でHibernate Session を効率的に管理する - (2008/07/09 18:43)
- Hibernateで複数のDBに接続するには? - (2008/07/09 18:47)
- Hibernateとは - (2008/07/11 14:23)
- Hibernate のインストール - (2008/07/24 11:01)
- Hibernate の開発手順 - (2008/07/24 12:44)
- Hibernate SQLをログに出力方法 - (2008/07/30 16:06)