langhua9527
2008-11-08 12:10
采纳率: 0%
浏览 208
已采纳

商品种类,每个种类都有不同的属性的建模问题

我在Hibernate是这样建模的
[code="java"]
public class ProducterSort implements Serializable{
private int id;
private String sortname; //种类名字 private AykjProducterSort aykjParentPid; //父ID
private Set aykjChildrenId; //子ID
private List producterSortProperties; //商品的属性
}
[/code]
但是我感觉实现不了"商品每个种类都有不同的属性"模形....
请问大家有什么好的方法啊

现实当中是这样的
首先有
传统收藏品
--书报刊
----书籍画册刊物
-----连环画
-----报纸
--票证类
-----粮票
-----布票
-----水票
--其它类
-----XXX
现在还有实现,这些< 书籍画册刊物>,<连环画>,......<水票>,<布票>这些商品还有年代,产地,各自不同的属性,请问怎么实现啊?
我用的是hibernate

[b]问题补充:[/b]
private List producterSortProperties
对,最关键就是这个怎么现实.....

  • 写回答
  • 关注问题
  • 收藏
  • 邀请回答

5条回答 默认 最新

  • iteye_14081 2008-11-08 13:06
    已采纳

    才看到还有属性,那就这样建模:

    商品种类:
    [code="java"]
    public class ProducterSort implements Serializable {

    private int id;
    
    private String name; //种类名字
    
    @ManyToOne
    private ProducterSort parent;//种类的父类
    
    @OneToMany
    private List<Properties> properties;         //商品的一些特有属性  
    

    }
    [/code]

    商品种类的属性
    [code="java"]class Properties implements Serializable {

    private int id;
    
    private String name;
    
    private String description;
    

    }[/code]

    商品:
    [code="java"]
    class Product implements Serializable {

    private int id;
    
    private String name; //商品名称
    
    @ManyToOne
    private ProducterSort sort;//种类
    

    }
    [/code]

    已采纳该答案
    打赏 评论
  • weixin_42297864 2008-11-08 12:35

    呵呵,你不是已经实现了吗?至少你的模型是没有问题的嘛,也许,你的意思是如何将producterSortProperties对象化?

    打赏 评论
  • sptzone 2008-11-08 12:37

    [quote]但是我感觉实现不了"商品每个种类都有不同的属性"模形....
    请问大家有什么好的方法啊 [/quote]

    设置两个one-to-many就可以了啊

    打赏 评论
  • sptzone 2008-11-08 12:38

    建立一张新的SortProperties表
    关联ChildID和SortPropertiesID

    打赏 评论
  • iteye_14081 2008-11-08 12:45

    你应该这样建模,ProducterSort如下:
    [code="java"]
    public class ProducterSort implements Serializable {

    private int id;
    
    private String name; //种类名字
    
    @ManyToOne
    private ProducterSort parent;//种类的父类
    

    }

    [/code]
    这样每个种类可以有父类,这个可以实现无限层次分类

    把关系维护在Product类上:
    [code="java"]
    public class Product implements Serializable {

    private int id;
    
    private String name; //商品名称
    
    @ManyToOne
    private ProducterSort sort;//种类
    

    }
    [/code]

    打赏 评论

相关推荐 更多相似问题