• Hibernate-03


    目的:表操作(表维护)

    一、一对一(略过)

    二、一对  1、建表原则:在多的一方创建外键指向一的一方的外键

    2、建表:实体中添加

       商品实体表: private Set<User> user = new Hashset<User>();
    
       用户实体表:  private Shangping shangping; 
    
       对应的表映射关系:
        User.hbm.xml:
                <set name="User">             <key column="user_cust_id"></key>             <one-to-many class="对象全类名">             </set>'
        Shangping.hbm.xml:
        <many-to-one name="shangping" class="对象全类名" column="user_cust_id" >
        以及hibernate.cfg.xml中添加:映射配置文件
        <mapping resource="配置文件路经" />
           

     3、操作

    1、参数:
      name属性:集合属性名
      column属性: 外键列名
      class属性: 与我关联的对象完整类名

    2、级联操作: cascade
      save-update: 级联保存更新(推荐使用)
      delete:级联删除(不推荐啊)
      all:save-update+delete
      级联操作: 简化操作.目的就是为了少些两行代码.
    3、索引维护
      inverse属性: 配置关系是否维护.
      true: customer不维护关系
      false(默认值): customer维护关系
      inverse属性: 性能优化.提高关系维护的性能.
      原则: 无论怎么放弃,总有一方必须要维护关系.
      一对多关系中: 一的一方放弃.也只能一的一方放弃.多的一方不能放弃.

    <set name="User" inverse="true" cascade="delete" >
      <key column="user_cust_id" ></key>
      <one-to-many class="User" />
    </set>

    三、多对多

      1、建表原则:创建中间表,中间表中至少两个字段作为外键分别指向多对多双方的主键(既:类似于一对多)

      2、实体

    User.java
    private Set<User> users = new HashSet<User>();
    Role.java
    private Set<Role> roles = new HashSet<Role>();

      3、表操作

    使用inverse属性
    true: 放弃维护外键关系
    false(默认值):维护关系

    结论: 将来在开发中,如果遇到多对多关系.一定要选择一方放弃维护关系.
        一般谁来放弃要看业务方向. 例如录入员工时,需要为员工指定所属角色.
       那么业务方向就是由员工维护角色. 角色不需要维护与员工关系.角色放弃维护

    <set name="users" table="sys_user_role" inverse="true" >
      <key column="role_id" ></key>
      <many-to-many class="User" column="user_id" ></many-to-many>
    </set>

    既能朝九晚五,又能浪迹天涯
  • 相关阅读:
    IEEE 802.11p (WAVE,Wireless Access in the Vehicular Environment)
    齐夫定律, Zipf's law,Zipfian distribution
    信息中心网络 ,Information-centric networking, ICN
    Ubuntu 16.04安装QQ国际版图文详细教程
    IP多媒体子系统(IP Multimedia Subsystem,IMS)
    遗传算法
    再见, 软交换!又一个通信时代的落幕
    矩阵的核、特征向量、值域
    IPv4组播通信原理
    APIPA(Automatic Private IP Addressing,自动专用IP寻址)
  • 原文地址:https://www.cnblogs.com/jackerzhou/p/9868032.html
Copyright © 2020-2023  润新知