0

データベースUSERSとUSER_SESSIONSに2つのテーブルがあります。USER_SESSIONSには、USERSテーブルのユーザーIDにマップするユーザーIDの外部キーがあり、Hibernateで多対1の関係を次のように定義しました。

<many-to-one name="user" column="USERID" class="com.Users" />

ユーザー名のみが指定されている場合に、特定のユーザーのUSER_SESSIONSデータベースのすべての行を削除するHibernateメソッドを作成するにはどうすればよいですか。

私の最初の試みは、指定されたユーザー名のユーザーオブジェクトをロードしてから、HSQLを実行してそのユーザーのユーザーIDのすべてのセッションを削除することでした。もっと簡単な方法はありますか?

4

1 に答える 1

2

もう1つの方法は次のようになると思います。

  1. delete関係に基づいてカスケードを定義する
  2. ユーザーエンティティを読み込む
  3. ユーザーからすべてのユーザーセッションオブジェクトを削除します
  4. ユーザーエンティティを保存し直します。
于 2012-10-25T14:46:28.433 に答える