ValueHolder... 9 Customer.java Oracle TopLink 10g(10.1.3) È Volume3 2
全文
(2) 目次 ........................................................................................................... 3 ......................................................................................................... 3.
(3) .......................................................................... 4
(4) .
(5) ................................................................................................ 4 .................................................................................................... 6 ValueHolder .............................................................................. 9 . !
(6) "Customer.java ............................................................................... 10. ............................................................................................................. 14 . Oracle TopLink 10g(10.1.3) .
(7) Volume3. 2.
(8) はじめに Oracle TopLink#$% TopLink&'(Java )*+,--
(9) . /
(10) 0
(11) 1234 56
(12) 78
(13) 9:;TopLink ' Java )*+,</
(14) 0
(15) 1=>?@ABC:D O/R EFGHIJK(LMNOFPQR 6S
(16) E1TU5IJAVWX(YZA[ :D<9 Java \-]
(17) ^Z-
(18) . /
(19) 0
(20) 1_`ab^cdef g\h1IJA(JDBC !
(21) /iHA:D<Qjkglmn9op:D<q9rs:; '(TopLink A[Xt/
(22) 0
(23) 1_\h1:D. Q\-]
(24) u. vAwxt(TopLink Agyz{bQ|}~YA:D<Ab<Xs:;. この資料の表記方法 9XtgD'w9:; 表記方法. 説明. 例. . /URL. toplink.jar. . . java -version. . !"#$%&'() *+. < >. Q(9'(Windows AVAXtgs:q(qQg (UNIX/Linux 99:;. Oracle TopLink 10g(10.1.3) .
(25) Volume3. 3.
(26) アプリケーションのカスタマイズ Oracle TopLink 10g(10.1.3) 6
(27) 1,1F Volume2 9'(O/R EFGHBCA XtQ/
(28) uA TopLink \-]
(29) AuvXsXy;9'
(30) K*AXy(IJAXt\-]
(31) uA 1 E¡:DAXs:;. $¢£¤'(6
(32) 1,1F Volume1 Volume2 ¥t u¦A§¨tgD<AV<Xtgs:;. パラメータ・バインドの使用 uvXy. \-]
(33) ©Hª«A¬t^D(TopLink '/6. S ,9'
(34) ®Yy SQL AXs¯;Y'¥t JDBC q
(35) A°¥±
(36) ,XtgD<'ZQgy²9:;:D JDBC q
(37) A±
(38) ,XtgD³'
(39) A X(®Z-´\1
(40) , ,NOFPIJAµ:D<9( 6S
(41) E 1A¶·®D<q9rs:;. -´\1
(42) , ,NOFPIJ'(Web \-]
(43) QR 3 ¸\-]
(44) @D 6S
(45) E1¶·y²Md:D <q9rs:;. TopLink 9
(46) -´\1
(47) , ,NOFPA:D ¹v:D'$%qºs:; •. !
(48) »9¼<½B. •. hF XML 9hF¥¾=Xt½B. 9'¿À/Á½BqÂJQhF XML ½B:DA Xs:;sà Workbench 9¥SampleApp¥stage¥sessions.xml A|r([©H ] Ä [] )A|rs:;[JDBC ][¥t
(49) A. Oracle TopLink 10g(10.1.3) .
(50) Volume3. 4.
(51) ]<[:ÅtÆANOFP]Ç+FAÈYthF6. AÉÊXs. :;. 1
(52)
(53)
(54)
(55) SampleClient.java main ËF try )©FA$%ÌÍX(6 c ËFA:Åto:DXs:; try { sampleClient.readAllSample(); sampleClient.querySample(); sampleClient.cacheSample(); sampleClient.createSample(); sampleClient.updateSample(); sampleClient.deleteSample(); } catch (Exception e) { (省略). SampleClient.java AÎÏ! . XyÐ(setupSample.sql AoXt/
(56) . 0
(57) 1A-hF,Xt^Z(SampleClient AoXs:;©Hª«(
(58) AXy SQL q}®YtgD<qÑÒ9rs:; ---- readAllSample()の開始 ---[TopLink Finer]:--initialize identitymaps -- Customer に対して問合せを発行 -[TopLink Fine]: --SELECT ID, NAME, ADDR_ID FROM CUSTOMER [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [1]. Oracle TopLink 10g(10.1.3) .
(59) Volume3. 5.
(60) [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [2] [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [3] -- 取得した Customer とその関連オブジェクト(Address,Phone)を表示 -[顧客 1: オラクル太郎] [住所 1: 東京都 千代田区紀尾井町] [TopLink Fine]: --SELECT P_NUMBER, ID, CUST_ID FROM PHONE WHERE (CUST_ID = ?) bind => [1] [電話番号 1: 03-1111-1111] [電話番号 2: 03-2222-2222] (省略). 問合せオプションの使用 9'(AXt/
(61) Ó}®YDÔA ÕZ:<AÖ×Xs:; TopLink /6S ,½B9'(ØÔ/
(62) Ó-
(63) F9ÙÚ ?@ZYy
(64) ÛF,)*+,uvy²qÜÝ}®Ys:;Þ¨ ß readAllSample()9'($%©Hª«^ZÑÒ9rD 3 c Customer )*+,<à
(65) ÛF,)*+,9ºD Address(Phone Auv:Dy²(á 7 âq}®Ys:; ---- readAllSample()の開始 ---[TopLink Finer]:--initialize identitymaps -- Customer に対して問合せを発行 -[TopLink Fine]: --SELECT ID, NAME, ADDR_ID FROM CUSTOMER [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [1] [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [2] [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [3] -- 取得した Customer とその関連オブジェクト(Address,Phone)を表示 -[顧客 1: オラクル太郎] [住所 1: 東京都 千代田区紀尾井町] [TopLink Fine]: --SELECT P_NUMBER, ID, CUST_ID FROM PHONE WHERE (CUST_ID = ?) bind => [1] [電話番号 1: 03-1111-1111] [電話番号 2: 03-2222-2222] [顧客 2: ウェンディ] [住所 2: 東京都 世田谷区用賀] [TopLink Fine]: --SELECT P_NUMBER, ID, CUST_ID FROM PHONE WHERE (CUST_ID = ?) bind => [2] [電話番号 3: 03-3333-3333] [顧客 3: ハイディ] [住所 3: 大阪府 大阪市北区堂島] [TopLink Fine]: --SELECT P_NUMBER, ID, CUST_ID FROM PHONE WHERE (CUST_ID = ?) bind => [3] [電話番号 4: 03-4444-4444] ---- readAllSample()の終了 ----. Oracle TopLink 10g(10.1.3) .
(66) Volume3. 6.
(67)
(68) ÛF,)*+,ãä/
(69) 0
(70) 1}®YDÔAÕZ: y²(*<FÇ<åßYDAXs:; *<'æç:w(Ë
(71) 1)*+,<
(72) ÛF,)*+,A è#*&AXtéêXtã:Dy²9:;9' Customer )*+,uvy² CUSTOMER ADä(èAXt ADDRESS /
(73) ÓãXt Address )*+,Auv:D½BX s:;*Ay²½B'(TopLink )*+,AXy ä!
(74) »9ëB:D<(-
(75) FEFGHBCä /6S ,u<XtëB:Dqºs:q(9'Ðì9½BXs:; Workbench 9 ¥SampleApp¥mw¥SampleProject.mwp A | r ( Customer Ä Address 1 = 1 EFGHBCíî9ï[è]Ç+FAÈYs :;. 2 FÇ<'(=ð
(76) ÛF,)*+,/
(77) A(ñòN
(78) óAë BXtÜÝD9'Qj(1 â9éêã:Dy² 9:#'Ë
(79) 1)*+,<'Ý<Xt}®Ys:&; *<(FÇAy²½B')*+,A Xyä!
(80) »9ëB:D<(-
(81) FEFGHBC ä/6S ,u<XtëB:D<qºs:;9Ðì9½B:D. Oracle TopLink 10g(10.1.3) .
(82) Volume3. 7.
(83) <<X(Customer Ä Phone 1 =ôEFGHBCíî9ï[FÇ ]Ç+FAÈYs:;. 3 !" ½ B A § ¨ y Z ( Mapping Workbench . õ Û
(84) 9 SampleProject Aö-FX([÷1±
(85) ,] Ä [©*+,øù XML]<úûXt ©*+,øù XML AÎÏ÷1±
(86) ,Xs:; setupSamle.sql AÎÏoXt/
(87) 0
(88) 1A-hF,XyÐ(SampleClient Ao Xtª«®YD©H(düAÑÒ:D<q9rs:; readAllSample() o » 7 â } ® Y t g y ' ( CUSTOMER < ADDRESS AèXtD<(PHONE _ 2 âÕýXtg s:; ---- readAllSample()の開始 ---[TopLink Finer]:--initialize identitymaps -- Customer に対して問合せを発行 -[TopLink Fine]: --SELECT t1.ID, t1.NAME, t1.ADDR_ID, t0.ID, t0.CITY, t0.STREET FROM ADDRESS t0, CUSTOMER t1 WHERE (t0.ID = t1.ADDR_ID) -- 取得した Customer とその関連オブジェクト(Address,Phone)を表示 -[顧客 1: オラクル太郎] [住所 1: 東京都 千代田区紀尾井町] [TopLink Fine]: --SELECT t0.P_NUMBER, t0.ID, t0.CUST_ID FROM PHONE t0, CUSTOMER t1 WHERE (t0.CUST_ID = t1.ID) [電話番号 1: 03-1111-1111] [電話番号 2: 03-2222-2222] [顧客 2: ウェンディ] [住所 2: 東京都 世田谷区用賀] [電話番号 3: 03-3333-3333]. Oracle TopLink 10g(10.1.3) .
(89) Volume3. 8.
(90) [顧客 3: ハイディ] [住所 3: 大阪府 大阪市北区堂島] [電話番号 4: 03-4444-4444] ---- readAllSample()の終了 ----. sy(ÖþAëBXyØÔ/
(91) ä(Qè<Öþ qXjYtgD<q(querySample()©Hª«^ZÑÒ:D<q9 rs:; ---- querySample()の開始 ---[TopLink Finer]: --initialize identitymaps -- 住所が東京都である Customer を検索 -[TopLink Fine]: --SELECT t1.ID, t1.NAME, t1.ADDR_ID, t0.ID, t0.CITY, t0.STREET FROM ADDRESS t0, CUSTOMER t1 WHERE ((t0.CITY = ?) AND (t0.ID = t1.ADDR_ID)) bind => [東京都] -- 取得した Customer とその関連オブジェクト(Address,Phone)を表示 -[顧客 1: オラクル太郎] [住所 1: 東京都 千代田区紀尾井町] [TopLink Fine]: --SELECT t0.P_NUMBER, t0.ID, t0.CUST_ID FROM PHONE t0, ADDRESS t2, CUSTOMER t1 WHERE (((t0.CUST_ID = t1.ID) AND (t2.CITY = ?)) AND (t2.ID = t1.ADDR_ID)) bind => [東京都] [電話番号 1: 03-1111-1111] [電話番号 2: 03-2222-2222] [顧客 2: ウェンディ] [住所 2: 東京都 世田谷区用賀] [電話番号 3: 03-3333-3333] ---- querySample()の終了 ----. *(FÇQR cgt'($ %NP ,A
(92) Xtj ®g; TopLink Devevloper's Guide 11. Optimization - Query Optimization. ValueHolder インダイレクションの使用 TÐ Customer Ä Address 2 1 = 1 -
(93) FA UXs:; Customer Ä Phone 2!A:D 1 =ô-
(94) F9 '/6S. ,9`a<åßYDq9rs:q(. 1 = 1 -
(95) F9[9rD ValueHolder A:Dy². Oracle TopLink 10g(10.1.3) .
(96) Volume3. 9.
(97) '!
(98) ÌÍqQs:;9'$%1Ft ValueHolder A Customer Ä Address 2UXs:;. ValueHolder ' 1 =ô-
(99) F9:D< q9rs:;ValueHolder cgt'$%NP ,A
(100) Xtj ®g; TopLink Devevloper's Guide 33. Understanding Mappings - Mapping Concepts. 1. address nBCÌÍ sà Customer 1 address nBC< setter/getter ËFA ÌÍX(ÎÏ! Xs:; サンプル・コード:Customer.java (太字部分が変更および追加箇所) サンプル・コード: package sample; import java.util.Collection; import java.util.Vector; import oracle.toplink.indirection.ValueHolder; import oracle.toplink.indirection.ValueHolderInterface; public class Customer { /** 顧客番号(主キー)を表す属性 */ private int id; /** 顧客の名前を表す属性 */ private String name; /** * ValueHolder インダイレクションを使用して Address オブジェクトへの * 1 対 1 マッピングを定義するための属性 */ private ValueHolderInterface address; /** 顧客の持つ複数の電話番号への 1 対多マッピング */ private Collection phones; /** * 初期化コードを含むコンストラクタ */ public Customer() { this.name = ""; //ValueHolder の初期化 this.address = new ValueHolder(); this.phones = new Vector(); } (省略) public void setAddress(Address address) {. Oracle TopLink 10g(10.1.3) .
(101) Volume3. 10.
(102) //ValueHolder に値をセット this.address.setValue(address); } public Address getAddress() { //ValueHolder から値を取得 return (Address)address.getValue(); } (省略) }. 2.. Workbench 1BCA-6FP Customer.java AÌ ÍXt Î! . X yÐ (Workbench A X t. ¥SampleApp¥mw¥SampleProject.mwp A | r s : ; . õ Û
(103) 9 Customer /i1- Aö-FXt[ 1-6FP]AúûX(. 1BCA-6FPXs:#EFGHqÁ°¥9ºD< Fh
(104) *q 1
(105) 1
(106) ç®Ys:q(Xt¹gs¯&;. 4#$% #$%. 3.. address nEFGHBCÌÍ Customer /i1- address nAúûX(÷/i íî9[ ]Ç+FAXs:;h9[è]Ç+FA XsXyq(düAÑÒ:Dy²(Ç+FA6 Xtrs:#phones n½BXyFǽB'RZ9¹gs ¯&;. Oracle TopLink 10g(10.1.3) .
(107) Volume3. 11.
(108) 5 address &'( ) %#* + &'( ) %#* +. 4.. ©*+,øù XML AÎ÷1±
(109) , address n EFGHB CÌ ÍÐ ( ©* + ,øù XML A ¥SampleApp¥stage /i,-ÎÏ÷1±
(110) ,Xs:;. 5.. \-]
(111) Îo setupSample.sql AoXt/
(112) 0
(113) 1A-hF,XyÐ(SampleClient A ÎoXs:;½BXy ValueHolder (Customer )*+,uv ADDRESS _< Address )*+,u vq(address n_\h1:DÓs9®YtgD<qÑÒ9rs :;. ---- readAllSample()の開始 ---[TopLink Finer]:--initialize identitymaps -- Customer に対して問合せを発行 -[TopLink Fine]: --SELECT ID, NAME, ADDR_ID FROM CUSTOMER -- 取得した Customer とその関連オブジェクト(Address,Phone)を表示 -[顧客 1: オラクル太郎] [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [1] [住所 1: 東京都 千代田区紀尾井町] [TopLink Fine]: --SELECT t0.P_NUMBER, t0.ID, t0.CUST_ID FROM PHONE t0, CUSTOMER t1 WHERE (t0.CUST_ID = t1.ID) [電話番号 1: 03-1111-1111] [電話番号 2: 03-2222-2222] [顧客 2: ウェンディ]. Oracle TopLink 10g(10.1.3) .
(114) Volume3. 12.
(115) [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [2] [住所 2: 東京都 世田谷区用賀] [電話番号 3: 03-3333-3333] [顧客 3: ハイディ] [TopLink Fine]: --SELECT ID, CITY, STREET FROM ADDRESS WHERE (ID = ?) bind => [3] [住所 3: 大阪府 大阪市北区堂島] [電話番号 4: 03-4444-4444] ---- readAllSample()の終了 ----. 9'uA¿À:Dy²(Workbench 9*½ BA6Xt^ZIJAXsXyq(* <'EFGHBC. !9RZ^éB®. YD@9'ºs¯;EFGHBC9*A/6S. ,96. ½BX()*+,AXy9ÜÝ*A :D/XQgAëB:D<qÂJ9:;)*+,AXy (cgt'$%NP ,A
(116) Xtj ®g; TopLink Devevloper's Guide 11. Optimization - Query Optimization. Oracle TopLink 10g(10.1.3) .
(117) Volume3. 13.
(118) まとめ TopLink 6
(119) 1,1F Volumn1"Volume3 9'(TopLink AXt$%<A gsXy; • ñòN
(120) A#cQ/
(121) 0
(122) 1< 12 O/R EFGHA(-
(123) FEFGHQRAXtBC • ¤$AXt%N
(124) óAã:D¹v • &Q'¸\-]
(125) AuvXt(()bQ/
(126) u<}®YD SQL AÑÒ • TopLink VW®YD/
(127) *NOFPdüAÑÒ • TopLink tYD/
(128) uA 1 E¡:Dy²*( QRIJA TopLink '9·+yIJ,(®ZkÏQ O/R EFGH K 6 S
(129) E 1 A ¶ · ® D y ² I J Q R A V W X s : ; ' TopLink Devevloper's GuideA¼-%®g;. Oracle TopLink 10g(10.1.3) .
(130) Volume3. 14.
(131) ,-.#/0123. Copyright © 2005 Oracle Corporation Japan. All Rights Reserved. ./0A1à Æ2'ºjs9 39º(40®YtgD56'7QXÌÍ®YD<qº s:;8) . 9')2:¿ÙXtg^QDÉ;gyXs¯;sy()2:¿. ÙÚXyg^QD<=cgt>?A@g^As:; Oracle '( 9BCDE9:;Oracle8(Oracle8i(Oracle9i(Oracle10g(Net8 '( 9DEsy'BCDE9:; ,:ÅtF¦æ<GHæ'(IÝy²J40®Yt(àYKYLMìD E³qºs:;. Oracle TopLink 10g(10.1.3) .
(132) Volume3. 15.
(133)
関連したドキュメント
In this diagram, there are the following objects: myFrame of the Frame class, myVal of the Validator class, factory of the VerifierFactory class, out of the PrintStream class,
(4S) Package ID Vendor ID and packing list number (K) Transit ID Customer's purchase order number (P) Customer Prod ID Customer Part Number. (1P)
該当お船積みの Invoice company のみが閲覧可能と なります。Booking 時に Invoice company をご指定くだ さい。ご指定ない場合は、自動的に Booking Party =
Efficiency use of natural energy and storage systems... Application of E-Bike
従来の MAAP コード(バージョン 4.0 ) (以下、 MAAP4
NOTE: For the period of 10/1/2019 through 1/10/2020, due to a data irregularity in the customer impact lists, some indirect sales customers may
Samples delivery timing will be subject to request date, sample quantity and special customer packing/label requirements. .
解析結果を図 4.3-1 に示す。SAFER コード,MAAP