zoukankan      html  css  js  c++  java
  • Hibernate框架关系映射一对多双向关联

             直入主题,首先大配置常规配置,

    这里住要说关联关系,大配置不多少,而且jar包默认添加好,笔者用的是idea2016.

    然后我们知道关联关系主要是在小配置添加节点来配置属性。个人认为关联映射,就是对应关系,让我们的程序来找到,想要的实体并映射到oracle数据库表。

    然后我用的是两个表一个是街道,一个是房屋。房屋是多,街道是一,对应关系。

    然后我们看一下数据库表

    只关注我们用的表

    然后在看一下表结构

    然后我们看一下我们的对应实体类

    这是house的

    这是street的

    看完实体类就到重点了,我们看一下与其对应的小配置

    这是house对应的小配置

    这是street对应的小配置

    我们看的主要是set节点下的name对应的是我们的set集合,key是house的外键,one-to-many下的class是house

    然后就是house的小配置

    对大概就是这样,现在书写测试类

      @Test
        public void manyToMany(){//多对多
            Session session = HibernateUtil.currentSession();
            Street street=new Street();
            street.setName("wwy村");
            street.setDisrict_id(1);
            Street street2=new Street();
            street2.setName("wwwy村");
            street2.setDisrict_id(1);
    
            House house=new House();
            house.setTitle("BIGHOUSE");
            house.setDescription("房子");
            house.setPrice(100);
            house.setPubdate(new Date());
            house.setFloorage(180);
            house.setContact("呵呵");
            house.setUser_id(1);
            house.setType_id(1);
            house.getStreetSet().add(street);
    
            House house2=new House();
            house2.setTitle("BIGHOUSE");
            house2.setDescription("房子");
            house2.setPrice(100);
            house2.setPubdate(new Date());
            house2.setFloorage(180);
            house2.setContact("呵呵");
            house2.setUser_id(1);
            house2.setType_id(1);
            house2.getStreetSet().add(street2);
    
            Transaction tc=session.beginTransaction();
            session.save(street);
            session.save(street2);
            session.save(house);
            session.save(house2);
    
            tc.commit();
            HibernateUtil.closeSession();
        }

    这样基本就搞定了。

      

  • 相关阅读:
    WinDbg调试C#技巧,解决CPU过高、死锁、内存爆满
    Window环境下搭建Git服务器
    Virtual Box虚拟机Ubuntu系统安装及基本配置
    修改VS2017新建类模板文件添加注释
    .net core 使用IIS作为宿主Web服务器,部署常见问题
    Asp.Net进程外Session(状态服务器Session、数据库Session)
    百度地图DEMO-路线导航,测距,标点
    c#文件图片操作
    C#代码安装Windows服务(控制台应用集成Windows服务)
    通过经纬度获取地址信息
  • 原文地址:https://www.cnblogs.com/wei-91/p/6293411.html
Copyright © 2011-2022 走看看