1-3.HibernateのExpressionの代わり

2020-10-25

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

今回はExpressionについて触れていこうと思います。

あくまで備忘録用です。
Expressionは非推奨になっているので代案を探す必要がありました。
ですが該当する記事があまり見つからなかったのでここにまとめています。

同じような状況な方は是非参考にしてください。

Hibernate関連の記事はこちら

HibernateのSessionの保存や削除について

HibernateのcreateCriteriaの代案や苦労点について

Hibernate/cfg.xml/hbm.xml/propertiesの設定

Expressionの代案

Expressionが非推奨になって少し困りました。

英語的な意味はこちらです。

  • Expression 表現
  • Restrictions 制限

APIを除くと下記の記述がありました。

This class is semi-deprecated. Use Restrictions.

翻訳をかけると「このクラスは非推奨です。 使用制限しなさい。」

使用制限ではなくRestrictionsクラスのことです。

正しくは下記の通り。

「このクラスは非推奨です。Restrictionsを使え」

記述内容としてはExpressionの部分をRestrictionsに変更しました。

Criteria criteria = session()createCriteria(Sample.class);
criteria add(Restrictions.eq("name", name);

 

個人的によく使用するのはeqやinです。

  • eqはequal
  • inはinです。

SQLなどで使用経験がある方はすぐに気づくかもしれませんが

DBに弱い方などはなんのこっちゃと最初は戸惑うと思います。

わからない方はSQLの命令文など少し見直しをしたほうが理解が深まると思います。

使用する場面がDAOやDBの接続などが多いので。

まとめ

今回のまとめです。

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

Expressionの代わりにRestrictionsを使用しましょう。