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 でのストアドプロシージャの実行方法(例) - (2010/06/17 14:48)
- Hibernate JDBCでバッチ処理 - (2008/11/11 11:31)
- Java GenericsでDAO実装を簡素化させる - DAOパターン実装その2 - (2008/10/22 17:13)
- Java+HibernateでDAOパターンを実装してみる - その1 - (2008/10/22 16:36)
- Hibernate データロード - プライマリキーでデータ検索 - (2008/09/01 22:13)
- Hibernate データの検索 - (2008/08/21 20:54)
- Hibernate データの削除(Delete) - (2008/07/03 14:05)
- Hibernate データの保存(Save) - (2008/07/03 14:00)