製品Meberとテーブルを与えられたが、以下の情報を得ます:
1.すべての製品情報にアクセスするユーザーを取得
情報を入手する2.ユーザーが閲覧商品です
パッケージMapping_transformationを。 クラスMeber { プライベート文字列名; プライベート int型の年齢; プライベートプロダクト製品[]; // 一个人浏览多个商品 公共 Meber(文字列名、int型の年齢) { この .nameの= 名前; この .age = 年齢; } 公共 ボイドsetProducts(商品製品[]) { この .products = 製品。 } 公共商品[] getProducts() { リターン製品; } パブリック文字列GETINFO() { リターン "[ユーザー]情報名前:" + この .nameの+ "年齢:" + この.age; } } クラスの製品 { プライベート文字列名; プライベート ダブル価格; プライベート Meberのmebers [] ; // 商品は、より個人的な視聴よりも パブリック(文字列名、製品ダブル価格) { この .nameの= 名; この .price = 価格; } パブリック文字列GETINFO() { リターン "[商品]情報名:" + この .nameの+ "価格:" + この.price; } 公共 ボイドsetMebers(Meber [] mebers){ この .mebers = mebers; } 公共Meber [] getMebers(){ リターンmebers; } } パブリック クラスMANY_TO_MANY { 公共 静的 ボイドメイン(文字列[]引数){ // 関係設定 Meber meberA = 新しい新 Meber( "小ウサギ"、35 ); //セット二人のユーザ Meber meberB = 新しい新Meber(「白ニャー」、20 );
製品プロアは = 新しい新製品(「放棄するエントリからC ++」、50.00 ); //セット3件の商品 製品するproB = 新しい新製品(「Javaのエントリからあきらめする」、49.00 ) ; 製品procは = 新しい新製品(46.00 "C言語からアボートエントリ" ;)
meberA.setProducts(新新製品[] {プロア、するproBを}); //設定されたユーザは、商品の閲覧 meberB.setProducts(新新製品を[]プロア{、} proCを);
proA.setMebers(新しい新しいMeber [] {} meberA); proB.setMebers(新しい新しい Meber [] {meberA、meberB}); //閲覧中のユーザの商品を設定します proC.setMebers(新しい新しい)Meber [] {} meberB); // データを取得 するSystem.out.printlnを(「-----------------閲覧製品情報ビューにユーザに応じ-------- ----------------------- " ); のSystem.out.println(meberA.getInfo()); のための(INT I = 0; I <meberA.getProducts()長;. I ++ ) { システム。 out.printlnを( "\ T | - " + meberA.getProducts()[I] .getInfo()); } System.out.printlnは(「----------------- 「--------------------ユーザーが製品をブラウズしている参照してください); System.out.printlnは(proA.getInfoを()); のため(int型 I = 0; 。I <proA.getMebers()長さ; I ++ { System.out.printlnは( "\ T | - " + proA.getMebers()[I] .getInfo())。 } } }
結果:
--------------------ビューにユーザーに基づい-----------------ブラウズ製品情報 [情報] [ユーザー名] :小さなウサギの年齢: 35 | - [製品情報]名前:価格放棄するエントリからC ++:50.0 | - [製品情報]名前:価格を放棄するエントリからのjava:49.0 ------------ -----ユーザーが商品--------------------閲覧ビューに応じて 、[製品情報]名前:Cを価格放棄するエントリから++:50.0 | - [ユーザー情報]名前:小さなウサギの年齢:35