【问题标题】:How to write dynamic delete query in liferay that will delete selected values from a row of data in a table如何在liferay中编写动态删除查询,该查询将从表中的一行数据中删除选定的值
【发布时间】:2015-06-21 16:08:39
【问题描述】:

我想编写一个动态查询,它将从将提供的行中删除值,即一行包含 6 个元素,我只想删除其中的 3 个。我如何使用 liferay 动态查询来实现这一点。我我正在创建一个图书数据库,这是我的表,我在这里添加了图片。

现在我想从第二行删除描述和作者名,可以说。我怎么能这样做???以前我是这样做的

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

假设 bookName、description 等我可以在 delete 方法中提供。

【问题讨论】:

    标签: liferay-6 dynamic-queries


    【解决方案1】:

    执行您想做的事情的唯一也是最好的方法是更新您的实体。为此,您必须首先使用 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-10-27
      • 1970-01-01
      • 1970-01-01
      • 2021-06-03
      • 2017-12-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-04-02
      相关资源
      最近更新 更多