微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用 Slick

如何解决使用 Slick

几个月来,我一直在使用 Play Framework 和 Slick 开发 REST 项目。该项目已经发展壮大,即将变得无法维护。

现在我担心我的数据库中有一个特定的表,它包含“文档”,即关于上传到服务器的所有文件的元数据。它被项目的许多功能使用,并且是几乎所有存储库的依赖项。 我想在我的界面中添加一个删除”按钮,它会删除一个文件及其元数据。如果该文档仍被其他存储库引用(即,上面有外键),则应禁用该按钮。理想情况下,我应该了解参考文献的位置。

这个看似简单的功能破坏了项目的所有设计。我构建了一个大型 Slick 查询,它基本上由一堆 EXISTS 子查询的分离组成。然而,这个特定的查询需要依赖于项目的几乎所有存储库,并创建一个巨大的循环依赖,这在 Play 项目中似乎是一个坏主意。我在引用同一个表时遇到问题,但从同一依赖项的不同副本注入,但无法编译。另外,我认为这种方法相当……超重。

我创建了一个“主存储库”,它依赖于我可以在其中放置“isDeletable”方法的所有类。

此外,我现在需要知道每次加载文件时是否可以删除它。这意味着当我加载一个文档时,我需要一个对我的主存储库的依赖,这会再次创建循环依赖,除非我将我所有的文档加载方法都移动到主存储库中,这会破坏项目的封装。

现在我有点迷茫了:(有人对这个问题有什么想法吗?

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。