【问题标题】:Referrential integrity in Liferay 6.2 service builderLiferay 6.2 服务构建器中的参照完整性
【发布时间】:2014-04-28 08:19:27
【问题描述】:

我一直在寻找使用 Liferay IDE 的服务构建器为我的数据库设置引用完整性。

例如:我有一个主表(实体)和一个子表(实体)。子表有一个外键,它是主表的主键。如果我删除主表中的一个条目,则子表中的相应行也应该被删除。如何在 Liferay Service Builder 中实现这一点。

【问题讨论】:

  • AFAIK,liferay service builder中没有这样的规定,你必须手动编写删除子表数据的代码
  • 算了。手动操作。

标签: mysql liferay liferay-6 liferay-ide liferay-aui


【解决方案1】:

您不能,Service Builder 既不提供也不应该使用此类数据库检查。在服务构建器设计中,您的服务 应该删除依赖实体。在您的示例中,管理主表的服务应在其 delete 方法上删除指向删除主行的子行。一个很好的例子是 JournalArticleLocalServiceImpl.deleteArticle(JournalArticle, String, ServiceContext) 方法,例如,它会这样做:

journalArticleImageLocalService.deleteImages(
    article.getGroupId(), articleId, article.getVersion());

// Expando

expandoRowLocalService.deleteRows(article.getId());

【讨论】:

    猜你喜欢
    • 2016-06-04
    • 2016-06-06
    • 2020-09-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-09-17
    • 2014-05-25
    相关资源
    最近更新 更多