あなただけが知っているオブジェクトを削除するための条件。
id
フィールドが十分である場合は、条件を拡張する場合(他のフィールドよりもamountやclient_idなど)に進めることができます。
最初::オブジェクトを削除するには
、次の2つの方法を(私は例として、あなたのTransactionRequest
オブジェクトを使用)に従うことができる
は、クエリによってオブジェクトを取得し、それを削除します。
Query q = session.createQuery("select from TransactionRequest t where t.id = :yourParam");
q.setString("yourParam, "25");
TransactionRequest toDelete = (TransactionRequest)q.uniqueResult();
session.delete(toDelete);
秒:
書き込み削除クエリ二つの方法の間
Query q = session.createQuery("delete from TransactionRequest where id = :yourParam");
q.setString("yourParam, "25");
q.executeUpdate();
違い:
あなたが最初の方法を使用している場合、あなたは、オブジェクトとあなたの場合は、カスケード句
にマッピングされたデータのセットを削除することを保証しますあなたのオブジェクトにセット/リスト/バッグがマッピングされている場合、オブジェクトを削除することはできません
もう1つの注意:すべての一括操作(削除...)は、インターセプタとイベントリスナーと第1レベルキャッシュ。 – idmitriev
@ igor-dmitriev:はい、そうです –