【问题标题】:How should I store persistent data in java web app?我应该如何在 Java Web 应用程序中存储持久数据?
【发布时间】:2020-11-28 21:51:34
【问题描述】:

我的 java web 项目有一些问题。我的意思是,这个项目有点像课程管理系统。事实上,这是我的第一个真正的项目。所以,我的问题是我不知道如何存储老师为他的学生上传的文件(与特定课程相关联)。我考虑过使用数据库(我正在使用带有 Hibernate 的 MySQL 来持久化 Teacher、Student 和 Course 对象),但我不知道该怎么做,因为将文件与适当的 Course 链接的最简单方法是使用一些 List其中,我不知道这是否可能(因为这些文件需要 Blob)。所以,如果是的话,你能帮我找到一种方法吗?如果不是,我该怎么办?

【问题讨论】:

  • Blob 只是一种类型。因此,例如,可以创建一个表files,其列id(例如INT)和列fileBLOB)。然后,将通过一个连接表将它们链接起来。但我建议不要使用这种方法,将文件存储在已知目录中,将它们重命名为,例如 UUID,并且只将 UUIDs 存储在数据库中。

标签: java database hibernate web-applications


【解决方案1】:

将文件存储在数据库中并不是一件明智的事情,一旦记录数量开始增长,就会降低整个系统的速度。 更好的方法是这样的:

  • 创建一个服务,用于在现有目录中下载上传的文件并返回相同的 UUID(您可以为此使用文件的时间戳和名称)。
  • 将 UUID 存储在数据库中。

【讨论】:

    猜你喜欢
    • 2018-02-11
    • 2011-03-10
    • 1970-01-01
    • 2015-02-09
    • 1970-01-01
    • 1970-01-01
    • 2019-02-03
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多