0

提供される行から値を削除する動的クエリを作成したい。つまり、行に含まれる6つの要素のうち3つだけを削除したい.liferay動的クエリを使用してそれを達成する方法.私は作成しています本のデータベースと、これが私のテーブルです。ここに画像を追加しました。ここに画像の説明を入力

今、私は2行目から説明と著者名を削除したいと思います.どうすればそれができますか???以前はこれでやっていた.

long bookId = ParamUtil.getLong(actionRequest, "bookId");
BookLocalServiceUtil.deleteBook(bookId);
SessionMessages.add(actionRequest, "deleted-book"); 
_log.info("#################Book Deleted Successfully#########################");

bookName、description などを delete メソッド内で指定できると仮定します。

4

1 に答える 1

0

やりたいことを実行するための唯一かつ最良の方法は、エンティティを更新することです。そのためには、最初に を使用してエンティティを取得し、DynamicQuery次に永続層を使用してエンティティを更新する必要があります。

bookId があり、それが唯一の基準である場合は、永続化レイヤーを直接使用してエンティティの Bean を取得することもできます。

あなたの目的のために、私はあなたの中で、以下が良い解決策だと思いますBookLocalServiceImpl:

public void updateDescription(long bookId, String description) throws SystemException {
    Book updateMe = bookPersistence.fetchByPrimaryKey(bookId);
    updateMe.setDescription(description);
    bookPersistence.update(updateMe);
}

次に、コントローラーで単純に呼び出しBookLocalServiceUtil.updateDescription("")て出来上がりです。説明をクリアしました。

于 2015-07-30T12:37:01.593 に答える