LZ两处红色问题在Hibernate的实体关系看来,配置对象(即前者)是正确的。而在数据库表中则要表现成RoleID、ProductId(即后者)。
个人觉得表的设计不需要改动,大多数为1对多或多对1关系,在进行Hibernate中映射配置时,可考虑配成双向。

解决方案 »

  1.   

    你上面设计的都是类?
    要注意在表的关联中是使用主键或者外键关联
    也就是使用表的字段
    而在类中就要使用对应的对象
    还有就是表与表之间的关系
    要是多对多注意要中间拆分为一个关联表
    在类的设计中注意要是一对多或者多对一
    要注意是Set<Object>类型还是只是对象类型注意上面就可以了
      

  2.   

    给您回个帖希望对其有帮助:
      1. 在用之前要多多练习或者看看Hibernate与数据库方面的书籍。
      2. 在做这个东西之前想好主键或者外键关系,这是必要条件.
      3. 想好这个东西是什么关系(例如:1对多或多对1关系)。
      4.在进行Hibernate中映射配置时考虑数据库方面的设计,有时候由于数据库设计不妥当导致进行Hibernate中映射时错误或者一系列的麻烦操作等等。  我对帖主的建议: 一般情况之下ID 一般设置为自动增加。
         
                                         希望通过本次发帖对您有很好的帮助!
      

  3.   

    谢谢各位的热心帮忙  
    如果实体类中的属性是一个实体类  比如系统管理员类中有一个角色类Role
    保存系统管理员类代码
    Role r = new Role();
    r.setXXX();Admin a = new Admin();
    a.setXXX(..);
    a.setXXX(..);
    a.setRole(r);
    session.save(a);那我保存一个系统管理员类的时候  岂不是得再一次保存角色类Role?但是这个Role类已经在表中存在了  这样2次保存同一个角色类  不会出错?
      

  4.   

    role角色应该不算实体类,算类的一个属性才对!role角色应该不算实体类,算类的一个属性才对!