正在设计一个电子商城系统.
图片放在文件系统中,数据库只存路径
之前的需求是一个商品需要有1个小图和N个大图.
小图是用struts的FormFile上传组件来上传的,
大图是用FCKeditor来上传的.
我就在商品表里设计了一个mainPhoto用来存小图.
其他大图就放在另一个表中.通过外键关联.在hibernate中映射成SET,配成多对一
  
现在一个商品需要有3个小图和N个大图.
应该怎么设计合理呢?应该是
1..在商品表增加多几个mainPhoto字段
2..还是用一个字段通过字符串分隔来存储
3..还是把映射改为MAP.通过KEY来取感觉在这3个办法都比较笨,
1的话以后的扩展性太差.
2的话在页面取值会很麻烦
3的话效率是不是会受影响呢.每次都需要初始化大图才能取值了.
这个问题困扰了我好久.希望大家能给我一点提示.

解决方案 »

  1.   

    噢.你的意思是只把个别的图片(商品表里的)的路径存到数据库里,(FCKeditor上传的)其他的图片用目录来关联起来吗?
    这样的话删除商品的时候把整个目录删除吧..
    可是这样的话,用FCK来上传图片就变得不可取了..因为在编辑商品时,就已经需要上传图片了.
    而且FCK-java的上传目录好像不能动态更改了.
      

  2.   


    是回复我的吗?我的意思是,数据库里一个图片路径都不存,路径是根据你当前的商品信息计算出来的(你设定一定的规则即可,比如用商品编号),
    具体FCK的机制我不了解,但你完全可以在FCK完成上传后,把文件复制到你的目标目录,并删除原文件。