本帖最后由 lht0211 于 2011-03-10 14:36:21 编辑

解决方案 »

  1.   

    这边讲的很详细哦。。
    http://wenku.baidu.com/view/2a5672768e9951e79b892720.html
      

  2.   

    http://wenku.baidu.com/view/2a5672768e9951e79b892720.html
      

  3.   

    直接用HIBERNATE封装数据库,自动生成映射文件就可以了,不用自己写关系!
      

  4.   

    只需要从一方获取另一方的数据时 就使用单向关联
    双方都需要获取对方数据时 就使用双向关系部门---人员使用人员时
    如果只需要获取对应部门信息(user.getDeptarment())
    不需要 从部门下的人员信息时,就配置成单向 多对一使用部门时
    如果只需要获取部门下人员信息(deptartmanet.getUsers())
    不需要 从人员获取部门信息时,就配置成单向 一对多既要获取部门下人员 deptartmanet.getUsers()
    又要从人员获取部门信息 user.getDeptarment()那就 配置成双向一对多,也就是双向多一看需求来配置了。
      

  5.   

    没关系了已经,用hibernate,他封装的实现 已经考虑了映射问题,查询性能的影响取决于你的数据量,还有 你所用的语句上的效率
      

  6.   

    但是我看到在写实体类的时候有一些区别:单向一对多关联的映射
    单方的实体类:
    public class Users {

    private int userId;
    private String userName;
    private Set orders=new HashSet(); //关联到订单类。一对多 //使用geet(),seet()方法}多方实体类:
    public class Order{

    private int orderId;
    private String orderName; private Users users; //多对一
    //使用geet(),seet()方法}在User配置信息中配置信息如下:<class name="Users" table="TBL_USERS">
    <comment>Users may bid for or sell auction items.</comment>

    <id name="userId" column="userId" type="integer">
    <generator class="native"/>
    </id>
    <property name="userName"/> <property name="userPassword"/> <set name="orders"> //name属性对应到Users的orders属性
    <key column="userId"/> //column属性对应到多的一方的外键字段名
    <one-to-many class="Users"/> //class对应到关联到多的一方的类名。
    </set>
    </class>用红颜色标出来的啥意思?为啥要使用Set类型,为何不是Order类型?
      

  7.   

    一个用户可以有多个订单啊
    当然 用户这里 要用 set 了 这个 set 集合来装多个  Order 对象写严谨了就是

    private Set<Order> orders=new HashSet<Order>();