1. 程式人生 > >Hibernate基礎(2)

Hibernate基礎(2)

 一對多關係:

一個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