我正在使用 Struts 2.1.2 和 Hibernate 3.2.6.GA 开发一个 Web 应用程序。我有一个实体,User我已使用 Hibernate 将其映射到USERS数据库中的一个表。我想要一个与该实体关联的图像,我计划将其存储为BLOB数据库中。我还想在网页上显示图像以及User.
我能想到的解决方案是有一个表格IMAGES(ID, IMAGE),其中IMAGE有一BLOB列。USERS将有一个FK名为 的列IMAGEID,它指向IMAGES表。然后,我将在User实体上映射一个属性,称为imageId映射到此IMAGEID作为 Long。当使用 JSP 渲染页面时,我会添加图像<img src="images.action?id=1"/>等,并有一个 Action 读取图像并将内容流式传输到浏览器,并将标头设置为长时间缓存图像。
这行得通吗?有没有更好的方法来渲染存储在数据库中的图像?首先将此类图像存储在数据库中是正确的方法吗?