雙向一對多對映(型別 子型別 商品)

2021-08-08 13:53:18 字數 3489 閱讀 2254

1、可以通過乙個型別找到它所對應的全部子型別;

2、可以通過乙個型別找到它所對應的全部商品,以及每個商品對應的子型別;

3、可以通過乙個子型別找到所有對應的全部商品;

class item

public void setsubitems(subitem subitems )

public subitem getsubitems()

public void setproducts(product products )

public product getproducts()

public string getinfo() }

class subitem

public void setproducts(product products )

public product getproducts()

public void setitem(item item)

public item getitem()

public string getinfo() }

class product

public void setitem(item item)

public item getitem()

public void setsubitem(subitem subitem)

public subitem getsubitem()

public string getinfo() }

public class testisp);

proa.setsubitem(suba);

proa.setitem(item);

prob.setsubitem(suba);

prob.setitem(item);

proc.setsubitem(subb);

proc.setitem(item);

prod.setsubitem(subb);

prod.setitem(item);

proe.setsubitem(subc);

proe.setitem(item);

prof.setsubitem(subc);

prof.setitem(item);

suba.setproducts(new product);

subb.setproducts(new product);

subc.setproducts(new product);

//第二步:取出資料

//可以通過乙個型別找到它所對應的全部子型別;

system.out.println(item.getinfo());

for(int x=0; x < item.getsubitems().length;x++)

//可以通過乙個型別找到它所對應的全部商品,以及每個商品對應的子型別;

system.out.println(item.getinfo());

for(int x=0; x < item.getproducts().length;x++)

//可以通過乙個子型別找到所有對應的全部商品;

system.out.println(subb.getinfo());

for(int x=0; x < subb.getproducts().length;x++)

} }

第一步:設定基本字段

class item

public string getinfo() }

class subitem

public string getinfo() }

class product

public string getinfo() }

第二步:設定關係

class item

public void setsubitems(subitem subitems )

public subitem getsubitems()

public void setproducts(product products )

public product getproducts()

public string getinfo() }

class subitem

public void setproducts(product products )

public product getproducts()

public void setitem(item item)

public item getitem()

public string getinfo() }

class product

public void setitem(item item)

public item getitem()

public void setsubitem(subitem subitem)

public subitem getsubitem()

public string getinfo() }

第三步:設定關係以及資料取出

public class testisp);

proa.setsubitem(suba);

proa.setitem(item);

prob.setsubitem(suba);

prob.setitem(item);

proc.setsubitem(subb);

proc.setitem(item);

prod.setsubitem(subb);

prod.setitem(item);

proe.setsubitem(subc);

proe.setitem(item);

prof.setsubitem(subc);

prof.setitem(item);

suba.setproducts(new product);

subb.setproducts(new product);

subc.setproducts(new product);

//第二步:取出資料

//可以通過乙個型別找到它所對應的全部子型別;

system.out.println(item.getinfo());

for(int x=0; x < item.getsubitems().length;x++)

//可以通過乙個型別找到它所對應的全部商品,以及每個商品對應的子型別;

system.out.println(item.getinfo());

for(int x=0; x < item.getproducts().length;x++)

//可以通過乙個子型別找到所有對應的全部商品;

system.out.println(subb.getinfo());

for(int x=0; x < subb.getproducts().length;x++)

} }

雙向一對多

雙向一對多是many to one的雙方都有用註解來維持關聯關係 many的一方 joincolumn name d id manytoone fetch fetchtype.lazy private dept dept one的一方 一對多關聯 joincolumn name d id oneto...

Nhibernate中一對多對映 雙向關聯

雙向關聯和單向關聯的區別是 兩邊都能維護關係,如我查詢兩邊的任何一邊,另外一邊的資訊也能查詢出來,其他的修改刪除只要設定了,也都可以。體現在 中是 因為上篇單向關聯是在dictionaryentity上,所以變為雙向關聯要在dictiontypeentity和他對應的xml檔案中加上關聯對映。dic...

Hibernate(九)一對多雙向關聯對映

一對多雙向關聯對映 一對多雙向關聯映 射,即在一的一端存在多的一端的乙個集合物件,在多的一端存在一的一端的乙個物件,這樣就可以保證在加 載一的一端或多的一端將被指向端的集合或物件載入上來,即保證雙向關聯。一對多雙向關聯對映和 一對多單向關聯對映的異同 一對多雙向關聯對映相應的類結構圖和 具體如下 p...