码迷,mamicode.com
首页 > Web开发 > 详细

Hibernate基础(2)

时间:2018-11-06 00:50:59      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:static   cto   configure   cti   products   uil   open   多个   关系   

 一对多关系:

一个Category对应多个Product,一个Product对应一个Category;

1:为Category类增加Set<Product> products;

2:为Category.hbm.xml增加one-to-many映射;

  <set name="products" lazy="false">
              <key column="cid" not-null="false" />
              <one-to-many class="Product" />
        </set>

    //一对多关系
    public static void oneToMany() {
        SessionFactory sf=new Configuration().configure().buildSessionFactory();
        Session s=sf.openSession();
        s.beginTransaction();
        //获得主键为28的Category对象
        Category c=(Category)s.get(Category.class, 28);
        //获得外键为28的Product集合
        Set<Product> set=c.getProducts();
        for(Product p:set) {
            System.out.println(p.getName());
        }
    }

多对多关系:

一个User可以购买多种Product,一种Product可以被多个User购买;所以User和Product之间可以是多对多关系 ;

要实现多对多关系 ,要有一张 user_product中间表来维护它们之间的关系 ;

参考:http://how2j.cn/k/hibernate/hibernate-many-to-many/42.html#nowhere

 

Hibernate基础(2)

标签:static   cto   configure   cti   products   uil   open   多个   关系   

原文地址:https://www.cnblogs.com/lastingjava/p/9912256.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!