我一直在寻找使用 Liferay IDE 的服务构建器为我的数据库设置引用完整性。
例如:我有一个主表(实体)和一个子表(实体)。子表有一个外键,它是主表的主键。如果我删除主表中的一个条目,则子表中的相应行也应该被删除。如何在 Liferay Service Builder 中实现这一点。
我一直在寻找使用 Liferay IDE 的服务构建器为我的数据库设置引用完整性。
例如:我有一个主表(实体)和一个子表(实体)。子表有一个外键,它是主表的主键。如果我删除主表中的一个条目,则子表中的相应行也应该被删除。如何在 Liferay Service Builder 中实现这一点。
您不能,Service Builder 既不提供也不应该使用此类数据库检查。在 Service Builder 设计中,您的服务应该删除依赖实体。在您的示例中,管理主表的服务应该在其delete
方法上也删除指向删除主行的子行。一个很好的例子是JournalArticleLocalServiceImpl.deleteArticle(JournalArticle, String, ServiceContext)
方法,例如:
journalArticleImageLocalService.deleteImages(
article.getGroupId(), articleId, article.getVersion());
// Expando
expandoRowLocalService.deleteRows(article.getId());