2-3session.load/ClassCastException

2021-03-21

こんにちは管理人(@vip___p)です。

今回はHibernate/session.loadついて触れていこうと思います。

備忘録です。

下記のような方は是非参考にしてください。

Hibernateを学習予定

下記の記事も参考にしてください。

1-3.HibernateのExpressionの代わり

2-1.HibernateのSessionの保存や削除について

2-2.Hibernateで値をcopyしてDBに保存方法

Hibernate/session.load

リプレイスを行っている中でsession.loadを使用箇所がありました。

User user = (User) session.load(Sample.class,id)

元コードはsessionで読み込んだ情報を
userに代入するといったものですがキャストエラーで使用できませんでした。

代案としてはSpringのBeanUtils.copyPropertiesを使用します。

public User find(String id){
  User user = new User();
  BeanUtils.copyProperties(session.load(Sample.class,id),user)
  return user;
}

第一引数から第二引数にコピーする点注意してください。

まとめ

まとめ

copyPropertiesを使用すると簡単に値を移すことができました。

皆さんの参考になれば幸いです。