我正在使用 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 读取图像并将内容流式传输到浏览器,并将标头设置为长时间缓存图像。
这行得通吗?有没有更好的方法来渲染存储在数据库中的图像?首先将此类图像存储在数据库中是正确的方法吗?