diff --git a/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml b/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml
index 1c37a633c2..dffa6893da 100644
--- a/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/Hibernate_Reference.xml
@@ -1,4 +1,4 @@
-
+
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml b/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml
index 18335290fa..5161f1906a 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/architecture.xml
@@ -1,13 +1,15 @@
-
+>
+
+
- ƒA[ƒLƒeƒNƒ`ƒƒ
+ アーã‚テクãƒãƒ£
- ŠTŠÏ
+ 概観
- HibernateƒA[ƒLƒeƒNƒ`ƒƒ‚Ìi”ñí‚Éj‚‚¢ƒŒƒxƒ‹‚©‚ç‚̃rƒ…[F
+ Hibernateアーã‚テクãƒãƒ£ã®ï¼ˆéžå¸¸ã«ï¼‰é«˜ã„レベルã‹ã‚‰ã®ãƒ“ュー:
@@ -20,18 +22,18 @@
- ‚±‚Ì}‚ÍHibernate‚ªAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚ĉi‘±‰»ƒT[ƒrƒX
- i‚Ɖi‘±ƒIƒuƒWƒFƒNƒgj‚ð’ñ‹Ÿ‚·‚邽‚ß‚ÉAƒf[ƒ^ƒx[ƒX‚ÆÝ’èƒf[ƒ^‚ðŽg‚¤‚±‚Æ‚ð
- Ž¦‚µ‚Ä‚¢‚Ü‚·B
+ ã“ã®å›³ã¯HibernateãŒã€ã‚¢ãƒ—リケーションã«å¯¾ã—ã¦æ°¸ç¶šåŒ–サービス
+ (ã¨æ°¸ç¶šã‚ªãƒ–ジェクト)をæä¾›ã™ã‚‹ãŸã‚ã«ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨è¨å®šãƒ‡ãƒ¼ã‚¿ã‚’使ã†ã“ã¨ã‚’
+ 示ã—ã¦ã„ã¾ã™ã€‚
- ‚±‚±‚ÅŽÀsŽžƒA[ƒLƒeƒNƒ`ƒƒ‚Ì‚æ‚èÚׂȃrƒ…[‚ð‚¨Œ©‚¹‚µ‚Ü‚µ‚傤B
- ‚ ‚¢‚É‚AHibernate‚Í_“î‚Å‚ ‚èA‚¢‚ë‚¢‚ë‚ȃAƒvƒ[ƒ`‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- ‚±‚±‚Å‚ÍA2‚‚̋ɒ[‚È—á‚ð‚¨Œ©‚¹‚µ‚Ü‚·B
- uŒy‚¢vƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŽ©‘O‚ÌJDBCƒRƒlƒNƒVƒ‡ƒ“‚ð—pˆÓ‚µA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“Ž©g‚ªƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠÇ—‚µ‚Ü‚·B
- ‚±‚Ì•û–@‚ÍAHibernate API‚ÌŬŒÀ‚̃TƒuƒZƒbƒg‚ðŽg‚¢‚Ü‚·F
+ ã“ã“ã§å®Ÿè¡Œæ™‚アーã‚テクãƒãƒ£ã®ã‚ˆã‚Šè©³ç´°ãªãƒ“ューをãŠè¦‹ã›ã—ã¾ã—ょã†ã€‚
+ ã‚ã„ã«ãã€Hibernateã¯æŸ”軟ã§ã‚ã‚Šã€ã„ã‚ã„ã‚ãªã‚¢ãƒ—ãƒãƒ¼ãƒã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ ã“ã“ã§ã¯ã€2ã¤ã®æ¥µç«¯ãªä¾‹ã‚’ãŠè¦‹ã›ã—ã¾ã™ã€‚
+ 「軽ã„ã€ã‚¢ãƒ¼ã‚テクãƒãƒ£ã§ã¯ã€ã‚¢ãƒ—リケーションãŒè‡ªå‰ã®JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’用æ„ã—ã€
+ アプリケーション自身ãŒãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’管ç†ã—ã¾ã™ã€‚
+ ã“ã®æ–¹æ³•ã¯ã€Hibernate APIã®æœ€å°é™ã®ã‚µãƒ–セットを使ã„ã¾ã™ï¼š
@@ -44,8 +46,8 @@
- ud‚¢vƒA[ƒLƒeƒNƒ`ƒƒ‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çA‚»‚̉º‚Ɉʒu‚·‚éJDBC‚âJTA‚ÌAPI‚ð
- Žæ‚è•¥‚Á‚Ä’ŠÛ‰»‚µA‚»‚ÌÚׂ̖ʓ|‚ðHibernate‚ÉŒ©‚³‚¹‚Ü‚·B
+ 「é‡ã„ã€ã‚¢ãƒ¼ã‚テクãƒãƒ£ã¯ã€ã‚¢ãƒ—リケーションã‹ã‚‰ã€ãã®ä¸‹ã«ä½ç½®ã™ã‚‹JDBCã‚„JTAã®APIã‚’
+ å–り払ã£ã¦æŠ½è±¡åŒ–ã—ã€ãã®è©³ç´°ã®é¢å€’ã‚’Hibernateã«è¦‹ã•ã›ã¾ã™ã€‚
@@ -58,19 +60,19 @@
- ˆÈ‰º‚ÍAã‚Ì}‚ÉŠÜ‚Ü‚ê‚éƒIƒuƒWƒFƒNƒg‚Ì’è‹`‚Å‚·F
+ 以下ã¯ã€ä¸Šã®å›³ã«å«ã¾ã‚Œã‚‹ã‚ªãƒ–ジェクトã®å®šç¾©ã§ã™ï¼š
SessionFactory (org.hibernate.SessionFactory)
- 1‚‚̃f[ƒ^ƒx[ƒX‚ɑ΂·‚éƒRƒ“ƒpƒCƒ‹‚³‚ꂽƒ}ƒbƒsƒ“ƒO‚Ì
- ƒXƒŒƒbƒhƒZ[ƒt‚ÈiXV•s”\‚ÌjƒLƒƒƒbƒVƒ…B
- Session ‚̃tƒ@ƒNƒgƒŠ‚Å‚ ‚èA
- ConnectionProvider ‚̃Nƒ‰ƒCƒAƒ“ƒgB
- ƒIƒvƒVƒ‡ƒ“‚Æ‚µ‚ÄAƒvƒƒZƒX‚Ü‚½‚̓Nƒ‰ƒXƒ^ƒŒƒxƒ‹‚É‚¨‚¢‚ÄA
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÔ‚ÅÄ—˜—p‰Â”\‚ȃf[ƒ^‚Ìi“ñŽŸjƒLƒƒƒbƒVƒ…‚ðŽ‚¿‚Ü‚·B
+ 1ã¤ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å¯¾ã™ã‚‹ã‚³ãƒ³ãƒ‘イルã•ã‚ŒãŸãƒžãƒƒãƒ”ングã®
+ スレッドセーフãªï¼ˆæ›´æ–°ä¸èƒ½ã®ï¼‰ã‚ャッシュ。
+ Session ã®ãƒ•ã‚¡ã‚¯ãƒˆãƒªã§ã‚ã‚Šã€
+ ConnectionProvider ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã€‚
+ オプションã¨ã—ã¦ã€ãƒ—ãƒã‚»ã‚¹ã¾ãŸã¯ã‚¯ãƒ©ã‚¹ã‚¿ãƒ¬ãƒ™ãƒ«ã«ãŠã„ã¦ã€
+ トランザクション間ã§å†åˆ©ç”¨å¯èƒ½ãªãƒ‡ãƒ¼ã‚¿ã®ï¼ˆäºŒæ¬¡ï¼‰ã‚ャッシュをæŒã¡ã¾ã™ã€‚
@@ -78,38 +80,38 @@
Session (org.hibernate.Session)
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ɖi‘±ƒXƒgƒA‚Ƃ̑Θb‚ð•\‚·A
- ƒVƒ“ƒOƒ‹ƒXƒŒƒbƒh‚Å’Z–½‚̃IƒuƒWƒFƒNƒgB
- JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðƒ‰ƒbƒv‚µ‚Ü‚·B
- Transaction ‚̃tƒ@ƒNƒgƒŠ‚Å‚·B
- ‰i‘±ƒIƒuƒWƒFƒNƒg‚Ì•K{‚ÌiˆêŽŸjƒLƒƒƒbƒVƒ…‚ð•ÛŽ‚µ‚Ü‚·B
- ‚±‚̃LƒƒƒbƒVƒ…‚̓IƒuƒWƒFƒNƒgƒOƒ‰ƒt‚ðƒiƒrƒQ[ƒVƒ‡ƒ“‚·‚鎞‚âA
- Ž¯•ÊŽq‚ŃIƒuƒWƒFƒNƒg‚ðŒŸõ‚·‚鎞‚ÉŽg‚í‚ê‚Ü‚·B
+ アプリケーションã¨æ°¸ç¶šã‚¹ãƒˆã‚¢ã¨ã®å¯¾è©±ã‚’表ã™ã€
+ シングルスレッドã§çŸå‘½ã®ã‚ªãƒ–ジェクト。
+ JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ラップã—ã¾ã™ã€‚
+ Transaction ã®ãƒ•ã‚¡ã‚¯ãƒˆãƒªã§ã™ã€‚
+ 永続オブジェクトã®å¿…é ˆã®ï¼ˆä¸€æ¬¡ï¼‰ã‚ャッシュをä¿æŒã—ã¾ã™ã€‚
+ ã“ã®ã‚ャッシュã¯ã‚ªãƒ–ジェクトグラフをナビゲーションã™ã‚‹æ™‚ã‚„ã€
+ è˜åˆ¥åã§ã‚ªãƒ–ジェクトを検索ã™ã‚‹æ™‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
- Persistent objects ‚Æ Collections
+ Persistent objects 㨠Collections
- ‰i‘±‰»ó‘ԂƃrƒWƒlƒXƒƒ\ƒbƒh‚ðŽ‚ÂA’Z–½‚ŃVƒ“ƒOƒ‹ƒXƒŒƒbƒh‚̃IƒuƒWƒFƒNƒgB
- ‚±‚ê‚Í’Êí‚ÌJavaBeans/POJO‚Ì‚±‚Æ‚à‚ ‚è‚Ü‚·‚ªA“Á’¥“I‚È‚±‚Æ‚ÍA
- ‚»‚ÌŽž“_‚Å‚Ìi‚½‚¾1‚‚Ìj Session ‚ÆŠÖ˜A‚µ‚Ä‚¢‚邱‚Æ‚Å‚·B
- Session ‚ªƒNƒ[ƒY‚³‚ê‚é‚Æ‚·‚®‚ÉA
- ‚»‚ê‚ç‚ÍØ‚è—£‚³‚ê‚Ä‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‘w‚©‚玩—R‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- i—Ⴆ‚΃f[ƒ^Eƒgƒ‰ƒ“ƒXƒtƒ@EƒIƒuƒWƒFƒNƒg‚Æ‚µ‚ÄA
- ƒvƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚©‚çA‚Ü‚½‚̓vƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚Ö’¼ÚŽg—p‚Å‚«‚Ü‚·Bj
+ 永続化状態ã¨ãƒ“ジãƒã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æŒã¤ã€çŸå‘½ã§ã‚·ãƒ³ã‚°ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ã®ã‚ªãƒ–ジェクト。
+ ã“ã‚Œã¯é€šå¸¸ã®JavaBeans/POJOã®ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ãŒã€ç‰¹å¾´çš„ãªã“ã¨ã¯ã€
+ ãã®æ™‚点ã§ã®ï¼ˆãŸã 1ã¤ã®ï¼‰ Session ã¨é–¢é€£ã—ã¦ã„ã‚‹ã“ã¨ã§ã™ã€‚
+ Session ãŒã‚¯ãƒãƒ¼ã‚ºã•ã‚Œã‚‹ã¨ã™ãã«ã€
+ ãれらã¯åˆ‡ã‚Šé›¢ã•ã‚Œã¦ä»–ã®ã‚¢ãƒ—リケーション層ã‹ã‚‰è‡ªç”±ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ (例ãˆã°ãƒ‡ãƒ¼ã‚¿ãƒ»ãƒˆãƒ©ãƒ³ã‚¹ãƒ•ã‚¡ãƒ»ã‚ªãƒ–ジェクトã¨ã—ã¦ã€
+ プレゼンテーション層ã‹ã‚‰ã€ã¾ãŸã¯ãƒ—レゼンテーション層ã¸ç›´æŽ¥ä½¿ç”¨ã§ãã¾ã™ã€‚)
- Transient ‚Æ detached ‚È objects ‚Æ Collections
+ Transient 㨠detached 㪠objects 㨠Collections
- Œ»Žž“_‚Å‚Í Session ‚ÆŠÖ˜A‚µ‚Ä‚¢‚È‚¢A
- ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒXB
- ‚·‚łɃAƒvƒŠƒP[ƒVƒ‡ƒ“‘¤‚ŃCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ê‚Ä‚¢‚ÄA‚Ü‚¾‰i‘±‰»‚³‚ê‚Ä‚¢‚È‚¢‚©A
- ƒNƒ[ƒY‚³‚ꂽ Session ‚ŃCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚©‚Ì‚Ç‚¿‚ç‚©‚Å‚·B
+ ç¾æ™‚点ã§ã¯ Session ã¨é–¢é€£ã—ã¦ã„ãªã„ã€
+ 永続クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã€‚
+ ã™ã§ã«ã‚¢ãƒ—リケーションå´ã§ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã•ã‚Œã¦ã„ã¦ã€ã¾ã 永続化ã•ã‚Œã¦ã„ãªã„ã‹ã€
+ クãƒãƒ¼ã‚ºã•ã‚ŒãŸ Session ã§ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã•ã‚ŒãŸã‹ã®ã©ã¡ã‚‰ã‹ã§ã™ã€‚
@@ -117,13 +119,13 @@
Transaction (org.hibernate.Transaction)
- (ƒIƒvƒVƒ‡ƒ“)Œ´Žq«‚ðŽ‚Âì‹Æ’PˆÊ(Unit of Work)‚ðŽw’è‚·‚邽‚ß‚ÉAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŽg—p‚·‚éA
- ƒVƒ“ƒOƒ‹ƒXƒŒƒbƒh‚Å’Z–½‚ȃIƒuƒWƒFƒNƒgB
- ‰º‚Ɉʒu‚·‚éJDBCAJTAACORBAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð’ŠÛ‰»‚µ‚Ü‚·B
- Session ‚ÍAŽž‚É‚Í
- ‚¢‚‚‚©‚Ì Transaction ‚ð‚Ü‚½‚ª‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚µ‚©‚µA‰º‚Ì‘w‚ÌAPI‚ðŽg‚¤‚É‚¹‚æA Transaction ‚ðŽg‚¤‚É‚¹‚æA
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðÝ’è‚·‚邱‚Æ‚ÍAŒˆ‚µ‚ăIƒvƒVƒ‡ƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñIB
+ (オプション)原å性をæŒã¤ä½œæ¥å˜ä½(Unit of Work)を指定ã™ã‚‹ãŸã‚ã«ã€ã‚¢ãƒ—リケーションãŒä½¿ç”¨ã™ã‚‹ã€
+ シングルスレッドã§çŸå‘½ãªã‚ªãƒ–ジェクト。
+ 下ã«ä½ç½®ã™ã‚‹JDBCã€JTAã€CORBAトランザクションã‹ã‚‰ã‚¢ãƒ—リケーションを抽象化ã—ã¾ã™ã€‚
+ Session ã¯ã€æ™‚ã«ã¯
+ ã„ãã¤ã‹ã® Transaction ã‚’ã¾ãŸãŒã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã—ã‹ã—ã€ä¸‹ã®å±¤ã®APIを使ã†ã«ã›ã‚ˆã€ Transaction を使ã†ã«ã›ã‚ˆã€
+ トランザクション境界をè¨å®šã™ã‚‹ã“ã¨ã¯ã€æ±ºã—ã¦ã‚ªãƒ—ションã§ã¯ã‚ã‚Šã¾ã›ã‚“ï¼ã€‚
@@ -131,10 +133,10 @@
ConnectionProvider (org.hibernate.connection.ConnectionProvider)
- (ƒIƒvƒVƒ‡ƒ“)JDBCƒRƒlƒNƒVƒ‡ƒ“i‚Æ‚»‚̃v[ƒ‹j‚̃tƒ@ƒNƒgƒŠB
- ‰º‚Ì‘w‚Ɉʒu‚·‚é Datasource ‚â
- DriverManager ‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð’ŠÛ‰»‚µ‚Ü‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÍŒöŠJ‚³‚ê‚Ü‚¹‚ñ‚ªAŠJ”ŽÒ‚ªŒp³‚Ü‚½‚ÍŽÀ‘•‚·‚邱‚Ƃ͉”\‚Å‚·B
+ (オプション)JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ï¼ˆã¨ãã®ãƒ—ール)ã®ãƒ•ã‚¡ã‚¯ãƒˆãƒªã€‚
+ 下ã®å±¤ã«ä½ç½®ã™ã‚‹ Datasource ã‚„
+ DriverManager ã‹ã‚‰ã‚¢ãƒ—リケーションを抽象化ã—ã¾ã™ã€‚
+ アプリケーションã«ã¯å…¬é–‹ã•ã‚Œã¾ã›ã‚“ãŒã€é–‹ç™ºè€…ãŒç¶™æ‰¿ã¾ãŸã¯å®Ÿè£…ã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã€‚
@@ -142,8 +144,8 @@
TransactionFactory (org.hibernate.TransactionFactory)
- (ƒIƒvƒVƒ‡ƒ“) Transaction ƒCƒ“ƒXƒ^ƒ“ƒX‚̃tƒ@ƒNƒgƒŠB
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÍŒöŠJ‚³‚ê‚Ü‚¹‚ñ‚ªAŠJ”ŽÒ‚ªŒp³‚Ü‚½‚ÍŽÀ‘•‚·‚邱‚Ƃ͉”\‚Å‚·B
+ (オプション) Transaction インスタンスã®ãƒ•ã‚¡ã‚¯ãƒˆãƒªã€‚
+ アプリケーションã«ã¯å…¬é–‹ã•ã‚Œã¾ã›ã‚“ãŒã€é–‹ç™ºè€…ãŒç¶™æ‰¿ã¾ãŸã¯å®Ÿè£…ã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã€‚
@@ -151,9 +153,9 @@
Extension Interfaces
- Hibernate‚ÍA‰i‘±‘w‚ÌU‚é•‘‚¢‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚邽‚ß‚ÉA
- ‘½‚‚̃IƒvƒVƒ‡ƒ“Šg’£ƒCƒ“ƒ^ƒtƒF[ƒX‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
- ÚׂÍAPIƒhƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ Hibernateã¯ã€æ°¸ç¶šå±¤ã®æŒ¯ã‚‹èˆžã„をカスタマイズã™ã‚‹ãŸã‚ã«ã€
+ 多ãã®ã‚ªãƒ—ション拡張インタフェースを用æ„ã—ã¦ã„ã¾ã™ã€‚
+ 詳細ã¯APIドã‚ュメントをå‚ç…§ã—ã¦ãã ã•ã„。
@@ -161,18 +163,18 @@
- uŒy‚¢vƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í’¼ÚJTA‚âJDBC‚ƑΘb‚·‚邽‚ß‚ÉA
- Transaction ‚â TransactionFactory ‚â
- ConnectionProvider ‚ðƒoƒCƒpƒX‚µ‚Ü‚·B
+ 「軽ã„ã€ã‚¢ãƒ¼ã‚テクãƒãƒ£ã§ã¯ã€ã‚¢ãƒ—リケーションã¯ç›´æŽ¥JTAã‚„JDBCã¨å¯¾è©±ã™ã‚‹ãŸã‚ã«ã€
+ Transaction ã‚„ TransactionFactory ã‚„
+ ConnectionProvider ã‚’ãƒã‚¤ãƒ‘スã—ã¾ã™ã€‚
- ƒCƒ“ƒXƒ^ƒ“ƒX‚Ìó‘Ô
+ インスタンスã®çŠ¶æ…‹
- ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍAŽŸ‚Ì‚R‚‚̈قȂéó‘Ô‚Ì‚Ç‚ê‚©‚É‚È‚è‚Ü‚·B
- ‚»‚ê‚ÍA ‰i‘±ƒRƒ“ƒeƒLƒXƒg ‚É‚æ‚Á‚ÄŒˆ‚Ü‚è‚Ü‚·B
- Hibernate‚Ì Session ƒIƒuƒWƒFƒNƒg‚ªA‰i‘±ƒRƒ“ƒeƒLƒXƒg‚É‚È‚è‚Ü‚·B
+ 永続クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€æ¬¡ã®ï¼“ã¤ã®ç•°ãªã‚‹çŠ¶æ…‹ã®ã©ã‚Œã‹ã«ãªã‚Šã¾ã™ã€‚
+ ãã‚Œã¯ã€ 永続コンテã‚スト ã«ã‚ˆã£ã¦æ±ºã¾ã‚Šã¾ã™ã€‚
+ Hibernateã® Session オブジェクトãŒã€æ°¸ç¶šã‚³ãƒ³ãƒ†ã‚ストã«ãªã‚Šã¾ã™ã€‚
@@ -180,9 +182,9 @@
transient
- ‚±‚Ìó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍAŒ»Ý‚à‚»‚µ‚ĉߋŽ‚É‚¨‚¢‚Ä‚àA
- ‰i‘±ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ˜A‚¢‚Ä‚¢‚Ü‚¹‚ñB‚Ü‚½A‰i‘±IDiŽåƒL[‚Ì’lj‚ð
- Ž‚Á‚Ä‚¢‚Ü‚¹‚ñB
+ ã“ã®çŠ¶æ…‹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ç¾åœ¨ã‚‚ãã—ã¦éŽåŽ»ã«ãŠã„ã¦ã‚‚ã€
+ 永続コンテã‚ストã«é–¢é€£ã¥ã„ã¦ã„ã¾ã›ã‚“。ã¾ãŸã€æ°¸ç¶šID(主ã‚ーã®å€¤ï¼‰ã‚’
+ æŒã£ã¦ã„ã¾ã›ã‚“。
@@ -190,12 +192,12 @@
persistent
- ‚±‚Ìó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA‚»‚ÌŽž“_‚ʼni‘±ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ˜A‚¢‚Ä‚¢‚Ü‚·B
- ‚Ü‚½A‰i‘±IDiŽåƒL[‚Ì’lj‚ðŽ‚¿A
- ‚½‚¢‚Ä‚¢‚̓f[ƒ^ƒx[ƒX‚ɑΉž‚·‚és‚ðŽ‚Á‚Ä‚¢‚é‚Å‚µ‚傤B
- ŒÂX‚̉i‘±ƒRƒ“ƒeƒLƒXƒg‚Ì‚È‚©‚Å‚ÍA‰i‘±ID‚ª
- Java‚ÌIDiƒIƒuƒWƒFƒNƒg‚̃ƒ‚ƒŠã‚̈ʒuj‚Æ“¯‚¶‚Å‚ ‚邱‚Æ‚ð
- Hibernate‚ª •ÛØ ‚µ‚Ü‚·B
+ ã“ã®çŠ¶æ…‹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ãã®æ™‚点ã§æ°¸ç¶šã‚³ãƒ³ãƒ†ã‚ストã«é–¢é€£ã¥ã„ã¦ã„ã¾ã™ã€‚
+ ã¾ãŸã€æ°¸ç¶šID(主ã‚ーã®å€¤ï¼‰ã‚’æŒã¡ã€
+ ãŸã„ã¦ã„ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å¯¾å¿œã™ã‚‹è¡Œã‚’æŒã£ã¦ã„ã‚‹ã§ã—ょã†ã€‚
+ 個々ã®æ°¸ç¶šã‚³ãƒ³ãƒ†ã‚ストã®ãªã‹ã§ã¯ã€æ°¸ç¶šIDãŒ
+ Javaã®ID(オブジェクトã®ãƒ¡ãƒ¢ãƒªä¸Šã®ä½ç½®ï¼‰ã¨åŒã˜ã§ã‚ã‚‹ã“ã¨ã‚’
+ Hibernate㌠ä¿è¨¼ ã—ã¾ã™ã€‚
@@ -203,12 +205,12 @@
detached
- ‚±‚Ìó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA‚©‚‚ĉi‘±ƒRƒ“ƒeƒLƒXƒg‚ÉŠÖ˜A‚¯‚ç‚ꂽ‚ªA
- ‚»‚̃Rƒ“ƒeƒLƒXƒg‚ªƒNƒ[ƒY‚³‚ꂽ‚©A‚ ‚é‚¢‚ÍA
- ‘¼‚̃vƒƒZƒX‚É‚»‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªƒVƒŠƒAƒ‰ƒCƒY‚³‚ꂽ‚©‚Å‚·B
- ‚±‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA‰i‘±ID‚ðŽ‚¿A‚½‚¢‚Ä‚¢‚̓f[ƒ^ƒx[ƒX‚É
- ‘Ήž‚·‚és‚ðŽ‚Á‚Ä‚¢‚é‚Å‚µ‚傤B•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚Ä‚ÍA
- ‰i‘±ID‚ÆJava‚ÌID‚Æ‚ÌŠÖ˜A‚ÍAHibernate‚ª•ÛØ‚µ‚Ü‚¹‚ñB
+ ã“ã®çŠ¶æ…‹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ã‹ã¤ã¦æ°¸ç¶šã‚³ãƒ³ãƒ†ã‚ストã«é–¢é€£ã¥ã‘られãŸãŒã€
+ ãã®ã‚³ãƒ³ãƒ†ã‚ストãŒã‚¯ãƒãƒ¼ã‚ºã•ã‚ŒãŸã‹ã€ã‚ã‚‹ã„ã¯ã€
+ ä»–ã®ãƒ—ãƒã‚»ã‚¹ã«ãã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•ã‚ŒãŸã‹ã§ã™ã€‚
+ ã“ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€æ°¸ç¶šIDã‚’æŒã¡ã€ãŸã„ã¦ã„ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«
+ 対応ã™ã‚‹è¡Œã‚’æŒã£ã¦ã„ã‚‹ã§ã—ょã†ã€‚分離インスタンスã«å¯¾ã—ã¦ã¯ã€
+ 永続IDã¨Javaã®IDã¨ã®é–¢é€£ã¯ã€HibernateãŒä¿è¨¼ã—ã¾ã›ã‚“。
@@ -216,157 +218,157 @@
- JMX‚Æ‚Ì“‡
+ JMXã¨ã®çµ±åˆ
- JMX‚ÍJavaƒRƒ“ƒ|[ƒlƒ“ƒgŠÇ—‚ÌJ2EE•W€‚Å‚·B
- JMX•W€ƒT[ƒrƒX‚ð’Ê‚µ‚ÄAHibernate‚ÍŠÇ—‚³‚ê‚Ü‚·B
- ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì’†‚É org.hibernate.jmx.HibernateService ‚Æ‚¢‚¤
- MBeanŽÀ‘•‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+ JMXã¯Javaコンãƒãƒ¼ãƒãƒ³ãƒˆç®¡ç†ã®J2EE標準ã§ã™ã€‚
+ JMX標準サービスを通ã—ã¦ã€Hibernateã¯ç®¡ç†ã•ã‚Œã¾ã™ã€‚
+ ディストリビューションã®ä¸ã« org.hibernate.jmx.HibernateService ã¨ã„ã†
+ MBean実装を用æ„ã—ã¦ã„ã¾ã™ã€‚
- JBoss ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[ã‚ÉHibernate‚ðJMXƒT[ƒrƒX‚Æ‚µ‚ăfƒvƒƒC‚·‚é•û–@‚Ì—á‚Æ‚µ‚Ä‚ÍA
- JBoss ƒ†[ƒUƒKƒCƒh‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B JBoss ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚É‚¨‚¢‚ÄA
- JMX‚ðŽg‚Á‚ăfƒvƒƒC‚·‚é‚ÆAŽŸ‚̃ƒŠƒbƒg‚ª“¾‚ç‚ê‚Ü‚·B
+ JBoss アプリケーションサーãƒãƒ¼ä¸Šã«Hibernateã‚’JMXサービスã¨ã—ã¦ãƒ‡ãƒ—ãƒã‚¤ã™ã‚‹æ–¹æ³•ã®ä¾‹ã¨ã—ã¦ã¯ã€
+ JBoss ユーザガイドをå‚ç…§ã—ã¦ãã ã•ã„。 JBoss アプリケーションサーãƒãƒ¼ã«ãŠã„ã¦ã€
+ JMXを使ã£ã¦ãƒ‡ãƒ—ãƒã‚¤ã™ã‚‹ã¨ã€æ¬¡ã®ãƒ¡ãƒªãƒƒãƒˆãŒå¾—られã¾ã™ã€‚
- ƒZƒbƒVƒ‡ƒ“ŠÇ—: Hibernate‚Ì Session ‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ÍA
- Ž©“®“I‚ÉJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃XƒR[ƒv‚ÉŒ‹‚т‚¯‚ç‚ê‚Ü‚·B‚±‚ê‚ÍA‚à‚Í‚âŽè“®‚Å
- Session ‚ðƒI[ƒvƒ“‚µ‚½‚èAƒNƒ[ƒY‚µ‚½‚è‚·‚é•K—v‚ª‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
- ‚±‚ê‚ÍAJBoss EJB ƒCƒ“ƒ^[ƒZƒvƒ^‚ÌŽdŽ–‚É‚È‚è‚Ü‚·B
- ‚Ü‚½AƒR[ƒh‚Ì‚Ç‚±‚Ńgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðÝ’è‚·‚é‚©‚ɂ‚¢‚ÄA
- ‚à‚Í‚â”Y‚Þ•K—v‚ª‚ ‚è‚Ü‚¹‚ñi‚à‚¿‚ë‚ñˆÚA‰Â”\‚ȉi‘±‘w‚ð‘‚©‚©‚È‚‚Ä‚¢‚¢‚Ì‚È‚ç‚ÎA
- ƒIƒvƒVƒ‡ƒ“‚ÌHibernate‚Ì Transaction ‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢Bj
- Session ‚ɃAƒNƒZƒX‚·‚邽‚ß‚É‚ÍA HibernateContext ‚ð
- ƒR[ƒ‹‚µ‚Ä‚‚¾‚³‚¢B
+ セッション管ç†: Hibernateã® Session ã®ãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«ã¯ã€
+ 自動的ã«JTAトランザクションã®ã‚¹ã‚³ãƒ¼ãƒ—ã«çµã³ã¤ã‘られã¾ã™ã€‚ã“ã‚Œã¯ã€ã‚‚ã¯ã‚„手動ã§
+ Session をオープンã—ãŸã‚Šã€ã‚¯ãƒãƒ¼ã‚ºã—ãŸã‚Šã™ã‚‹å¿…è¦ãŒãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ã€JBoss EJB インターセプタã®ä»•äº‹ã«ãªã‚Šã¾ã™ã€‚
+ ã¾ãŸã€ã‚³ãƒ¼ãƒ‰ã®ã©ã“ã§ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’è¨å®šã™ã‚‹ã‹ã«ã¤ã„ã¦ã€
+ ã‚‚ã¯ã‚„悩む必è¦ãŒã‚ã‚Šã¾ã›ã‚“(もã¡ã‚ん移æ¤å¯èƒ½ãªæ°¸ç¶šå±¤ã‚’書ã‹ã‹ãªãã¦ã„ã„ã®ãªã‚‰ã°ã€
+ オプションã®Hibernateã® Transaction を使用ã—ã¦ãã ã•ã„。)
+ Session ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ã¯ã€ HibernateContext ã‚’
+ コールã—ã¦ãã ã•ã„。
- HAR ƒfƒvƒƒC: ’ÊíA(EAR ‚Ü‚½‚Í SAR ƒtƒ@ƒCƒ‹‚É‚ ‚éjJBoss ƒT[ƒrƒX
- ƒfƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚ðŽg‚Á‚ÄAHibernate JMX ƒT[ƒrƒX‚ðƒfƒvƒƒC‚µ‚Ü‚·B
- ‚»‚ê‚ÍAHibernate‚Ì SessionFactory ‚Ì‘S‚Ă̈ê”Ê“I‚ÈÝ’èƒIƒvƒVƒ‡ƒ“‚ð
- ƒTƒ|[ƒg‚µ‚Ü‚·B‚µ‚©‚µˆË‘R‚Æ‚µ‚ăfƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Ì‚È‚©‚É‚·‚ׂẴ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ì
- –¼‘O‚ð‹“‚°‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ‚à‚µAƒIƒvƒVƒ‡ƒ“‚ÌHARƒfƒvƒƒCƒƒ“ƒg‚ðŽg‚¤‚±‚Æ‚ðŒˆ‚ß‚½‚È‚çA
- JBoss‚ÍŽ©“®“I‚ÉHARƒtƒ@ƒCƒ‹‚Ì‚È‚©‚Ì‘S‚Ẵ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðŒŸo‚µ‚Ü‚·B
+ HAR デプãƒã‚¤: 通常ã€(EAR ã¾ãŸã¯ SAR ファイルã«ã‚る)JBoss サービス
+ デプãƒã‚¤ãƒ¡ãƒ³ãƒˆãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—タを使ã£ã¦ã€Hibernate JMX サービスをデプãƒã‚¤ã—ã¾ã™ã€‚
+ ãã‚Œã¯ã€Hibernateã® SessionFactory ã®å…¨ã¦ã®ä¸€èˆ¬çš„ãªè¨å®šã‚ªãƒ—ションを
+ サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚ã—ã‹ã—ä¾ç„¶ã¨ã—ã¦ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ã®ãªã‹ã«ã™ã¹ã¦ã®ãƒžãƒƒãƒ”ングファイルã®
+ åå‰ã‚’挙ã’ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ ã‚‚ã—ã€ã‚ªãƒ—ションã®HARデプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚’使ã†ã“ã¨ã‚’決ã‚ãŸãªã‚‰ã€
+ JBossã¯è‡ªå‹•çš„ã«HARファイルã®ãªã‹ã®å…¨ã¦ã®ãƒžãƒƒãƒ”ングファイルを検出ã—ã¾ã™ã€‚
- ‚±‚ê‚ç‚̃IƒvƒVƒ‡ƒ“‚ɂ‚¢‚Ä‚ÌÚׂÈî•ñ‚ÍAJBossƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒoƒ†[ƒUƒKƒCƒh‚ð
- ŽQl‚É‚µ‚Ä‚‚¾‚³‚¢B
+ ã“れらã®ã‚ªãƒ—ションã«ã¤ã„ã¦ã®è©³ç´°ãªæƒ…å ±ã¯ã€JBossアプリケーションサーãƒãƒ¦ãƒ¼ã‚¶ã‚¬ã‚¤ãƒ‰ã‚’
+ å‚考ã«ã—ã¦ãã ã•ã„。
- JMXƒT[ƒrƒX‚Æ‚µ‚Ä—˜—p‰Â”\‚È‘¼‚Ì‹@”\‚ÉAHibernateŽÀsŽž“Œvî•ñ‚ª‚ ‚è‚Ü‚·B
- ‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ JMXサービスã¨ã—ã¦åˆ©ç”¨å¯èƒ½ãªä»–ã®æ©Ÿèƒ½ã«ã€Hibernateå®Ÿè¡Œæ™‚çµ±è¨ˆæƒ…å ±ãŒã‚ã‚Šã¾ã™ã€‚
+ を見ã¦ãã ã•ã„。
- JCA ƒTƒ|[ƒg
+ JCA サãƒãƒ¼ãƒˆ
- Hibernate ‚Í JCA ƒRƒlƒNƒ^‚Æ‚µ‚Ä‚àÝ’è‚Å‚«‚Ü‚·BÚׂɂ‚¢‚Ä‚ÍAWebƒTƒCƒg‚ðŒ©‚Ä‚‚¾‚³‚¢B
- Hibernate JCA ƒTƒ|[ƒg‚ÍA¡‚Ì‚Æ‚±‚ëŽÀŒ±’iŠK‚Æ‚µ‚Äl‚¦‚ç‚ê‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ Hibernate 㯠JCA コãƒã‚¯ã‚¿ã¨ã—ã¦ã‚‚è¨å®šã§ãã¾ã™ã€‚詳細ã«ã¤ã„ã¦ã¯ã€Webサイトを見ã¦ãã ã•ã„。
+ Hibernate JCA サãƒãƒ¼ãƒˆã¯ã€ä»Šã®ã¨ã“ã‚実験段階ã¨ã—ã¦è€ƒãˆã‚‰ã‚Œã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“
+ コンテã‚スト上ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³
- Hibernate ‚ðŽg‚Á‚½ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍA‚Ù‚Æ‚ñ‚ÇA‚È‚ñ‚ç‚©‚ÌŒ`‚Å"ƒRƒ“ƒeƒLƒXƒgã‚Ì"ƒZƒbƒVƒ‡ƒ“‚ª•K—v‚É‚È‚è‚Ü‚·B
- uƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ÍA“Á’è‚̃Rƒ“ƒeƒLƒXƒg‚̃XƒR[ƒv‚Ì‚È‚©‚Å—LŒø‚ȃZƒbƒVƒ‡ƒ“‚Ì‚±‚Æ‚Å‚·B
- ‚µ‚©‚µA’ÊíƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚²‚ƂɃRƒ“ƒeƒLƒXƒg‚ð\¬‚·‚é‚à‚Ì‚Ì’è‹`‚͈قȂè‚Ü‚·B
- ‚µ‚©‚àAˆÙ‚È‚é•¡”‚̃Rƒ“ƒeƒLƒXƒg‚ÍAŒ»Žž“_‚ɑ΂µ‚ĈقȂéƒXƒR[ƒv‚ð’è‹`‚µ‚Ü‚·B
- ƒo[ƒWƒ‡ƒ“3.0‚æ‚è‘O‚Ì Hibernate ‚Å‚ÍAŽ©ì‚Ì ThreadLocal ƒx[ƒX‚ÌuƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð
- —˜—p‚·‚é‚©A HibernateUtil ‚̂悤‚ȃwƒ‹ƒp[ƒNƒ‰ƒX‚ð—˜—p‚·‚é‚©A
- proxy/interception ƒx[ƒX‚ÌuƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð’ñ‹Ÿ‚·‚é
- iSpring ‚â Pico ‚̂悤‚ÈjƒT[ƒhƒp[ƒeƒB‚̃tƒŒ[ƒ€ƒ[ƒN‚ð—˜—p‚·‚é‚©‚Ì‚¢‚¸‚ê‚©‚Å‚µ‚½B
+ Hibernate を使ã£ãŸã‚¢ãƒ—リケーションã¯ã€ã»ã¨ã‚“ã©ã€ãªã‚“らã‹ã®å½¢ã§"コンテã‚スト上ã®"セッションãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚
+ 「コンテã‚スト上ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã€ã¯ã€ç‰¹å®šã®ã‚³ãƒ³ãƒ†ã‚ストã®ã‚¹ã‚³ãƒ¼ãƒ—ã®ãªã‹ã§æœ‰åŠ¹ãªã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ã“ã¨ã§ã™ã€‚
+ ã—ã‹ã—ã€é€šå¸¸ã‚¢ãƒ—リケーションã”ã¨ã«ã‚³ãƒ³ãƒ†ã‚ストを構æˆã™ã‚‹ã‚‚ã®ã®å®šç¾©ã¯ç•°ãªã‚Šã¾ã™ã€‚
+ ã—ã‹ã‚‚ã€ç•°ãªã‚‹è¤‡æ•°ã®ã‚³ãƒ³ãƒ†ã‚ストã¯ã€ç¾æ™‚点ã«å¯¾ã—ã¦ç•°ãªã‚‹ã‚¹ã‚³ãƒ¼ãƒ—を定義ã—ã¾ã™ã€‚
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³3.0よりå‰ã® Hibernate ã§ã¯ã€è‡ªä½œã® ThreadLocal ベースã®ã€Œã‚³ãƒ³ãƒ†ã‚スト上ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã€ã‚’
+ 利用ã™ã‚‹ã‹ã€ HibernateUtil ã®ã‚ˆã†ãªãƒ˜ãƒ«ãƒ‘ークラスを利用ã™ã‚‹ã‹ã€
+ proxy/interception ベースã®ã€Œã‚³ãƒ³ãƒ†ã‚スト上ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã€ã‚’æä¾›ã™ã‚‹
+ (Spring ã‚„ Pico ã®ã‚ˆã†ãªï¼‰ã‚µãƒ¼ãƒ‰ãƒ‘ーティã®ãƒ•ãƒ¬ãƒ¼ãƒ ワークを利用ã™ã‚‹ã‹ã®ã„ãšã‚Œã‹ã§ã—ãŸã€‚
- ƒo[ƒWƒ‡ƒ“ 3.0.1 ‚©‚çAHibernate ‚É‚Í SessionFactory.getCurrentSession() ‚ª
- ‰Á‚í‚è‚Ü‚µ‚½B ‚±‚ê‚ÍA JTA ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŽg—p‚ð‘O’ñ‚É‚µ‚Ä‚¢‚Ü‚·B
- JTA ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÍAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚̃XƒR[ƒv‚ƃRƒ“ƒeƒLƒXƒg‚Ì—¼•û‚ð’è‹`‚µ‚Ü‚·B
- Hibernate ƒ`[ƒ€‚ÍAŽŸ‚Ì‚±‚Æ‚ðŽå’£‚µ‚Ü‚·B
- ‹‘å‚ȃXƒ^ƒ“ƒhƒAƒƒ“‚Ì JTA TransactionManager ŽÀ‘•‚ª¬n‚µ‚½‚çA
- J2EE ƒRƒ“ƒeƒiã‚ɃfƒvƒƒC‚³‚ê‚é‚©‚Ç‚¤‚©‚É‚©‚©‚í‚炸A
- ‚Ù‚Æ‚ñ‚Ç‚Ìi‚·‚ׂĂƂ͌¾‚í‚È‚¢‚ªjƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªA
- JTA ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÇ—‚ðŽg—p‚·‚ׂ«‚Å‚ ‚é‚ÆB
- ‚±‚Ìl‚¦‚ÉŠî‚‚ÆA JTA ƒx[ƒX‚ÌuƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð
- Žg‚¤‚µ‚©‚È‚¢‚Å‚µ‚傤B
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3.0.1 ã‹ã‚‰ã€Hibernate ã«ã¯ SessionFactory.getCurrentSession() ãŒ
+ åŠ ã‚ã‚Šã¾ã—ãŸã€‚ ã“ã‚Œã¯ã€ JTA トランザクションã®ä½¿ç”¨ã‚’å‰æã«ã—ã¦ã„ã¾ã™ã€‚
+ JTA トランザクションã¯ã€ç¾åœ¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®ã‚¹ã‚³ãƒ¼ãƒ—ã¨ã‚³ãƒ³ãƒ†ã‚ストã®ä¸¡æ–¹ã‚’定義ã—ã¾ã™ã€‚
+ Hibernate ãƒãƒ¼ãƒ ã¯ã€æ¬¡ã®ã“ã¨ã‚’主張ã—ã¾ã™ã€‚
+ 巨大ãªã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ³ã® JTA TransactionManager 実装ãŒæˆç†Ÿã—ãŸã‚‰ã€
+ J2EE コンテナ上ã«ãƒ‡ãƒ—ãƒã‚¤ã•ã‚Œã‚‹ã‹ã©ã†ã‹ã«ã‹ã‹ã‚らãšã€
+ ã»ã¨ã‚“ã©ã®ï¼ˆã™ã¹ã¦ã¨ã¯è¨€ã‚ãªã„ãŒï¼‰ã‚¢ãƒ—リケーションãŒã€
+ JTA トランザクション管ç†ã‚’使用ã™ã¹ãã§ã‚ã‚‹ã¨ã€‚
+ ã“ã®è€ƒãˆã«åŸºã¥ãã¨ã€ JTA ベースã®ã€Œã‚³ãƒ³ãƒ†ã‚スト上ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã€ã‚’
+ 使ã†ã—ã‹ãªã„ã§ã—ょã†ã€‚
- ‚µ‚©‚µAƒo[ƒWƒ‡ƒ“ 3.1 ‚©‚ç‚ÍA SessionFactory.getCurrentSession() ‚ÌŒã‚̈—‚ªA
- ƒvƒ‰ƒKƒuƒ‹‚É‚È‚è‚Ü‚µ‚½B
- ‚±‚ê‚ðŽó‚¯‚ÄAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ð’è‹`‚·‚éƒXƒR[ƒv‚ƃRƒ“ƒeƒLƒXƒg‚̃vƒ‰ƒKƒrƒŠƒeƒB‚ð‰Â”\‚É‚·‚邽‚ß‚ÉA
- V‚µ‚¢Šg’£ƒCƒ“ƒ^ƒtƒF[ƒX ( org.hibernate.context.CurrentSessionContext ) ‚Æ
- V‚µ‚¢\¬ƒpƒ‰ƒ[ƒ^ ( hibernate.current_session_context_class ) ‚ª’ljÁ‚³‚ê‚Ü‚µ‚½B
+ ã—ã‹ã—ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ 3.1 ã‹ã‚‰ã¯ã€ SessionFactory.getCurrentSession() ã®å¾Œã®å‡¦ç†ãŒã€
+ プラガブルã«ãªã‚Šã¾ã—ãŸã€‚
+ ã“れをå—ã‘ã¦ã€ç¾åœ¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’定義ã™ã‚‹ã‚¹ã‚³ãƒ¼ãƒ—ã¨ã‚³ãƒ³ãƒ†ã‚ストã®ãƒ—ラガビリティをå¯èƒ½ã«ã™ã‚‹ãŸã‚ã«ã€
+ æ–°ã—ã„拡張インタフェース ( org.hibernate.context.CurrentSessionContext ) ã¨
+ æ–°ã—ã„構æˆãƒ‘ラメータ ( hibernate.current_session_context_class ) ãŒè¿½åŠ ã•ã‚Œã¾ã—ãŸã€‚
- org.hibernate.context.CurrentSessionContext ƒCƒ“ƒ^ƒtƒF[ƒX‚Ì‹K–ñ‚ɂ‚¢‚Ä‚Ì
- Úׂȓà—e‚Í Javadoc ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
- ‚»‚ê‚É‚ÍA currentSession() ‚Æ‚¢‚¤1‚‚̃ƒ\ƒbƒh‚ª’è‹`‚³‚ê‚Ä‚¨‚èA
- ‚»‚ÌŽÀ‘•‚ÍAŒ»Ý‚ÌuƒRƒ“ƒeƒLƒXƒgã‚̃ZƒbƒVƒ‡ƒ“v‚ð’ÇÕ‚·‚邱‚Æ‚ÉÓ”C‚ðŽ‚¿‚Ü‚·B
- ‚»‚Ì‚Ü‚ÜŽg‚¦‚é‚悤‚ÉAHibernate‚Í‚±‚̃Cƒ“ƒ^ƒtƒF[ƒX‚ÌŽÀ‘•‚ð2‚Â’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B
+ org.hibernate.context.CurrentSessionContext インタフェースã®è¦ç´„ã«ã¤ã„ã¦ã®
+ 詳細ãªå†…容㯠Javadoc ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
+ ãã‚Œã«ã¯ã€ currentSession() ã¨ã„ã†1ã¤ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒå®šç¾©ã•ã‚Œã¦ãŠã‚Šã€
+ ãã®å®Ÿè£…ã¯ã€ç¾åœ¨ã®ã€Œã‚³ãƒ³ãƒ†ã‚スト上ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã€ã‚’追跡ã™ã‚‹ã“ã¨ã«è²¬ä»»ã‚’æŒã¡ã¾ã™ã€‚
+ ãã®ã¾ã¾ä½¿ãˆã‚‹ã‚ˆã†ã«ã€Hibernateã¯ã“ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã®å®Ÿè£…ã‚’2ã¤æä¾›ã—ã¦ã„ã¾ã™ã€‚
org.hibernate.context.JTASessionContext -
- JTA ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‚æ‚Á‚ÄAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ª’ÇÕ‚³‚êA
- ƒXƒR[ƒv‚ðŒˆ‚ß‚ç‚ê‚Ü‚·B‚±‚̈—‚ÍAŒÃ‚¢JTA‚¾‚¯‚̃Aƒvƒ[ƒ`‚Æ‚Ü‚Á‚½‚“¯‚¶‚Å‚·B
- ÚׂÍJavadoc‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ JTA トランザクションã«ã‚ˆã£ã¦ã€ç¾åœ¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒè¿½è·¡ã•ã‚Œã€
+ スコープを決ã‚られã¾ã™ã€‚ã“ã®å‡¦ç†ã¯ã€å¤ã„JTAã ã‘ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã¨ã¾ã£ãŸãåŒã˜ã§ã™ã€‚
+ 詳細ã¯Javadocã‚’å‚ç…§ã—ã¦ãã ã•ã„。
org.hibernate.context.ThreadLocalSessionContext -
- ƒXƒŒƒbƒh‚ÌŽÀs‚É‚æ‚Á‚ÄAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ª’ÇÕ‚³‚ê‚Ü‚·B
- ÚׂÍJavadoc‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ スレッドã®å®Ÿè¡Œã«ã‚ˆã£ã¦ã€ç¾åœ¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒè¿½è·¡ã•ã‚Œã¾ã™ã€‚
+ 詳細ã¯Javadocã‚’å‚ç…§ã—ã¦ãã ã•ã„。
org.hibernate.context.ManagedSessionContext -
- ƒXƒŒƒbƒh‚ÌŽÀs‚É‚æ‚Á‚ÄAŒ»Ý‚̃ZƒbƒVƒ‡ƒ“‚ª’ÇÕ‚³‚ê‚Ü‚·B
- ‚µ‚©‚µA‚±‚̃Nƒ‰ƒX‚Ìstaticƒƒ\ƒbƒh‚Å Session ƒCƒ“ƒXƒ^ƒ“ƒX‚ð
- ƒoƒCƒ“ƒh/ƒAƒ“ƒoƒCƒ“ƒh‚·‚éÓ”C‚Í‚ ‚È‚½‚É‚ ‚è‚Ü‚·B
- ‚±‚ê‚ÍŒˆ‚µ‚Ä Session ‚ðƒI[ƒvƒ“Aƒtƒ‰ƒbƒVƒ…AƒNƒ[ƒY‚µ‚Ü‚¹‚ñB
+ スレッドã®å®Ÿè¡Œã«ã‚ˆã£ã¦ã€ç¾åœ¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒè¿½è·¡ã•ã‚Œã¾ã™ã€‚
+ ã—ã‹ã—ã€ã“ã®ã‚¯ãƒ©ã‚¹ã®staticメソッド㧠Session インスタンスを
+ ãƒã‚¤ãƒ³ãƒ‰/アンãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹è²¬ä»»ã¯ã‚ãªãŸã«ã‚ã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¯æ±ºã—㦠Session をオープンã€ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã€ã‚¯ãƒãƒ¼ã‚ºã—ã¾ã›ã‚“。
- Žn‚ß‚Ì2‚‚̎À‘•‚ÍA"1ƒZƒbƒVƒ‡ƒ“ - 1ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“" ƒvƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- ‚±‚ê‚Í ƒŠƒNƒGƒXƒg‚²‚Ƃ̃ZƒbƒVƒ‡ƒ“isession-per-requestj ‚Æ‚µ‚Ä‚à’m‚ç‚ê‚Ä‚¨‚èAŽg‚í‚ê‚Ä‚¢‚Ü‚·B
- Hibernate ƒZƒbƒVƒ‡ƒ“‚ÌŠJŽn‚ÆI—¹‚ÍAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠúŠÔ‚ÅŒˆ‚Ü‚è‚Ü‚·B
- JTA‚ðŽg‚í‚È‚¢•’Ê‚ÌJSE‚ÅAƒvƒƒOƒ‰ƒ€ã‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠEÝ’è‚ðs‚¤‚È‚çA
- ƒR[ƒh‚©‚çŠî‘b‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒVƒXƒeƒ€‚ð‰B•Á‚·‚邽‚ß‚ÉA
- Hibernate Transaction API‚ðŽg‚¤‚Æ‚æ‚¢‚Å‚µ‚傤B
- JTA‚ðŽg‚¤‚È‚çAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‹«ŠEÝ’è‚É‚ÍAJTAƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
- CMT‚ðƒTƒ|[ƒg‚·‚éEJBƒRƒ“ƒeƒi‚ÅŽÀs‚·‚é‚‚à‚è‚È‚çAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Í錾“I‚É’è‹`‚Å‚«‚邽‚ßA
- ƒR[ƒhã‚Ńgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚âƒZƒbƒVƒ‡ƒ“‚Ì‹«ŠE‚ðÝ’è‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚³‚ç‚ÉÚׂÈî•ñ‚âƒR[ƒh‚Ì—á‚ÍA ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 始ã‚ã®2ã¤ã®å®Ÿè£…ã¯ã€"1セッション - 1データベーストランザクション" プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãƒ¢ãƒ‡ãƒ«ã‚’æä¾›ã—ã¾ã™ã€‚
+ ã“れ㯠リクエストã”ã¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ï¼ˆsession-per-request) ã¨ã—ã¦ã‚‚知られã¦ãŠã‚Šã€ä½¿ã‚ã‚Œã¦ã„ã¾ã™ã€‚
+ Hibernate セッションã®é–‹å§‹ã¨çµ‚了ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®æœŸé–“ã§æ±ºã¾ã‚Šã¾ã™ã€‚
+ JTAを使ã‚ãªã„普通ã®JSEã§ã€ãƒ—ãƒã‚°ãƒ©ãƒ 上ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œè¨å®šã‚’è¡Œã†ãªã‚‰ã€
+ コードã‹ã‚‰åŸºç¤Žã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚·ã‚¹ãƒ†ãƒ ã‚’éš è”½ã™ã‚‹ãŸã‚ã«ã€
+ Hibernate Transaction APIを使ã†ã¨ã‚ˆã„ã§ã—ょã†ã€‚
+ JTAを使ã†ãªã‚‰ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å¢ƒç•Œè¨å®šã«ã¯ã€JTAインターフェイスを使ã£ã¦ãã ã•ã„。
+ CMTをサãƒãƒ¼ãƒˆã™ã‚‹EJBコンテナã§å®Ÿè¡Œã™ã‚‹ã¤ã‚‚ã‚Šãªã‚‰ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã¯å®£è¨€çš„ã«å®šç¾©ã§ãã‚‹ãŸã‚ã€
+ コード上ã§ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚„セッションã®å¢ƒç•Œã‚’è¨å®šã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ã•ã‚‰ã«è©³ç´°ãªæƒ…å ±ã‚„ã‚³ãƒ¼ãƒ‰ã®ä¾‹ã¯ã€ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- hibernate.current_session_context_class Ý’èƒpƒ‰ƒ[ƒ^‚ÍA
- org.hibernate.context.CurrentSessionContext ‚Ì‚Ç‚ÌŽÀ‘•‚ðŽg‚¤‚©‚ðŽw’肵‚Ü‚·B
- ‰ºˆÊŒÝŠ·«‚Ì‚½‚ßA‚±‚̃pƒ‰ƒ[ƒ^‚ªÝ’肳‚ꂸ
- org.hibernate.transaction.TransactionManagerLookup ‚ªÝ’肳‚ê‚Ä‚¢‚½ê‡A
- Hibernate‚Í org.hibernate.context.JTASessionContext ‚ðŽg‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ’Ê킱‚̃pƒ‰ƒ[ƒ^‚Ì’l‚É‚ÍA3‚‚̎À‘•‚Ì’†‚©‚çŽg—p‚·‚éŽÀ‘•ƒNƒ‰ƒX‚Ì–¼‘O‚ð’¼ÚŽw’肵‚Ü‚·B
- ‚µ‚©‚µA"jta", "thread", "managed"‚Æ‚¢‚¤‚»‚ꂼ‚ê‚ÌÈ—ª–¼‚à—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B
+ hibernate.current_session_context_class è¨å®šãƒ‘ラメータã¯ã€
+ org.hibernate.context.CurrentSessionContext ã®ã©ã®å®Ÿè£…を使ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ 下ä½äº’æ›æ€§ã®ãŸã‚ã€ã“ã®ãƒ‘ラメータãŒè¨å®šã•ã‚Œãš
+ org.hibernate.transaction.TransactionManagerLookup ãŒè¨å®šã•ã‚Œã¦ã„ãŸå ´åˆã€
+ Hibernate㯠org.hibernate.context.JTASessionContext を使ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ 通常ã“ã®ãƒ‘ラメータã®å€¤ã«ã¯ã€3ã¤ã®å®Ÿè£…ã®ä¸ã‹ã‚‰ä½¿ç”¨ã™ã‚‹å®Ÿè£…クラスã®åå‰ã‚’直接指定ã—ã¾ã™ã€‚
+ ã—ã‹ã—ã€"jta", "thread", "managed"ã¨ã„ã†ãã‚Œãžã‚Œã®çœç•¥åも用æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml b/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml
index d1754210a7..e333b9cd4b 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/association_mapping.xml
@@ -1,39 +1,41 @@
-
+
+
+
- ŠÖ˜Aƒ}ƒbƒsƒ“ƒO
+ 関連マッピング
- ƒCƒ“ƒgƒƒ_ƒNƒVƒ‡ƒ“
+ イントãƒãƒ€ã‚¯ã‚·ãƒ§ãƒ³
- ŠÖ˜Aƒ}ƒbƒsƒ“ƒO‚Í‚µ‚΂µ‚Η‰ð‚ªÅ‚à“‚¢‚à‚Ì‚É‚È‚è‚Ü‚·B
- ‚±‚ÌÍ‚Å‚ÍAŠî–{“I‚Ȉꂈꂂ̃P[ƒX‚ɂ‚¢‚Äq‚ׂ܂·B
- ’P•ûŒü‚̃}ƒbƒsƒ“ƒO‚©‚çŽn‚ßA‚»‚ê‚©‚ç‘o•ûŒü‚̃P[ƒX‚ɂ‚¢‚Äl‚¦‚Ä‚¢‚«‚Ü‚·B
- —á‚Æ‚µ‚ÄAPerson ‚Æ Address ‚ð—p‚¢‚Ü‚·B
+ 関連マッピングã¯ã—ã°ã—ã°ç†è§£ãŒæœ€ã‚‚難ã—ã„ã‚‚ã®ã«ãªã‚Šã¾ã™ã€‚
+ ã“ã®ç« ã§ã¯ã€åŸºæœ¬çš„ãªä¸€ã¤ä¸€ã¤ã®ã‚±ãƒ¼ã‚¹ã«ã¤ã„ã¦è¿°ã¹ã¾ã™ã€‚
+ å˜æ–¹å‘ã®ãƒžãƒƒãƒ”ングã‹ã‚‰å§‹ã‚ã€ãã‚Œã‹ã‚‰åŒæ–¹å‘ã®ã‚±ãƒ¼ã‚¹ã«ã¤ã„ã¦è€ƒãˆã¦ã„ãã¾ã™ã€‚
+ 例ã¨ã—ã¦ã€Person 㨠Address を用ã„ã¾ã™ã€‚
- ŠÖ˜A‚ÍAŒ‹‡ƒe[ƒuƒ‹‚ð“ü‚ê‚é‚©‚©‚Ç‚¤‚©‚ÆA
- ‘½d“x‚É‚æ‚Á‚Ä•ª—Þ‚·‚邱‚Æ‚É‚µ‚Ü‚·B
+ 関連ã¯ã€çµåˆãƒ†ãƒ¼ãƒ–ルを入れるã‹ã‹ã©ã†ã‹ã¨ã€
+ 多é‡åº¦ã«ã‚ˆã£ã¦åˆ†é¡žã™ã‚‹ã“ã¨ã«ã—ã¾ã™ã€‚
- ‚·‚ׂĂ̗á‚Ånot null‚ÌŠO•”ƒL[‚ðŽg—p‚µ‚Ü‚·B
- ‚±‚ê‚ÍHibernate‚Ì—vŒ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- not null§–ñ‚ðŠO‚µ‚½‚Æ‚µ‚Ä‚àAƒ}ƒbƒsƒ“ƒO‚Í–â‘è‚È‚“®ì‚µ‚Ü‚·B
+ ã™ã¹ã¦ã®ä¾‹ã§not nullã®å¤–部ã‚ーを使用ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯Hibernateã®è¦ä»¶ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ not null制約を外ã—ãŸã¨ã—ã¦ã‚‚ã€ãƒžãƒƒãƒ”ングã¯å•é¡Œãªã動作ã—ã¾ã™ã€‚
- ’P•ûŒüŠÖ˜A
+ å˜æ–¹å‘関連
- ‘½‘Έê
+ 多対一
- ’P•ûŒü‘½‘ΈêŠÖ˜A ‚Í’P•ûŒüŠÖ˜A‚Ì’†‚ÅÅ‚àˆê”Ê“I‚È‚à‚Ì‚Å‚·B
+ å˜æ–¹å‘多対一関連 ã¯å˜æ–¹å‘関連ã®ä¸ã§æœ€ã‚‚一般的ãªã‚‚ã®ã§ã™ã€‚
@@ -58,11 +60,11 @@ create table Address ( addressId bigint not null primary key )
- ˆê‘Έê
+ 一対一
- ŠO•”ƒL[‚Ì’P•ûŒüˆê‘ΈêŠÖ˜A ‚Í‚Ù‚Æ‚ñ‚Ç“¯‚¶‚à‚Ì‚Å‚·B
- —Bˆêˆá‚¤‚Ì‚ÍAƒJƒ‰ƒ€‚̃†ƒj[ƒN‚ȧ–ñ‚Å‚·B
+ 外部ã‚ーã®å˜æ–¹å‘一対一関連 ã¯ã»ã¨ã‚“ã©åŒã˜ã‚‚ã®ã§ã™ã€‚
+ 唯一é•ã†ã®ã¯ã€ã‚«ãƒ©ãƒ ã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªåˆ¶ç´„ã§ã™ã€‚
@@ -86,8 +88,8 @@ create table Address ( addressId bigint not null primary key )
]]>
- ŽåƒL[‚Ì’P•ûŒüˆê‘ΈêŠÖ˜A ‚Í’ÊíA“Á•Ê‚ÈIDƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¢‚Ü‚·B
- i‚±‚Ì—á‚Å‚ÍŠÖ˜A‚Ì•ûŒü‚ª‹t‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢j
+ 主ã‚ーã®å˜æ–¹å‘一対一関連 ã¯é€šå¸¸ã€ç‰¹åˆ¥ãªIDジェãƒãƒ¬ãƒ¼ã‚¿ã‚’使ã„ã¾ã™ã€‚
+ (ã“ã®ä¾‹ã§ã¯é–¢é€£ã®æ–¹å‘ãŒé€†ã«ãªã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„)
@@ -112,11 +114,11 @@ create table Address ( personId bigint not null primary key )
- ˆê‘Α½
+ 一対多
- ŠO•”ƒL[‚Ì’P•ûŒüˆê‘Α½ŠÖ˜A ‚Í‚Æ‚Ä‚à“ÁŽê‚ȃP[ƒX‚ÅA
- ‚ ‚܂脧‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
+ 外部ã‚ーã®å˜æ–¹å‘一対多関連 ã¯ã¨ã¦ã‚‚特殊ãªã‚±ãƒ¼ã‚¹ã§ã€
+ ã‚ã¾ã‚ŠæŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã›ã‚“。
@@ -141,7 +143,7 @@ create table Address ( addressId bigint not null primary key, personId bigint no
]]>
- ‚±‚̂悤‚ÈŠÖ˜A‚Ì‚½‚ß‚ÉŒ‹‡ƒe[ƒuƒ‹‚ðŽg‚¤‚±‚Æ‚ð‚¨‘E‚ß‚µ‚Ü‚·B
+ ã“ã®ã‚ˆã†ãªé–¢é€£ã®ãŸã‚ã«çµåˆãƒ†ãƒ¼ãƒ–ルを使ã†ã“ã¨ã‚’ãŠè–¦ã‚ã—ã¾ã™ã€‚
@@ -149,16 +151,16 @@ create table Address ( addressId bigint not null primary key, personId bigint no
- Œ‹‡ƒe[ƒuƒ‹‚ðŽg‚Á‚½’P•ûŒüŠÖ˜A
+ çµåˆãƒ†ãƒ¼ãƒ–ルを使ã£ãŸå˜æ–¹å‘関連
- ˆê‘Α½
+ 一対多
- Œ‹‡ƒe[ƒuƒ‹‚ðŽg‚Á‚½’P•ûŒüˆê‘Α½ŠÖ˜A
- ‚Í‚æ‚èD‚Ü‚µ‚¢‚Å‚·B
- unique="true" ‚ÌŽw’è‚É‚æ‚èA‘½d“x‚ª‘½‘Α½‚©‚çˆê‘Α½
- ‚É•Ï‚í‚Á‚½‚±‚Æ‚É’ˆÓ‚µ‚ĉº‚³‚¢B
+ çµåˆãƒ†ãƒ¼ãƒ–ルを使ã£ãŸå˜æ–¹å‘一対多関連
+ ã¯ã‚ˆã‚Šå¥½ã¾ã—ã„ã§ã™ã€‚
+ unique="true" ã®æŒ‡å®šã«ã‚ˆã‚Šã€å¤šé‡åº¦ãŒå¤šå¯¾å¤šã‹ã‚‰ä¸€å¯¾å¤š
+ ã«å¤‰ã‚ã£ãŸã“ã¨ã«æ³¨æ„ã—ã¦ä¸‹ã•ã„。
@@ -187,11 +189,11 @@ create table Address ( addressId bigint not null primary key )
- ‘½‘Έê
+ 多対一
- Œ‹‡ƒe[ƒuƒ‹‚Ì’P•ûŒü‘½‘ΈêŠÖ˜A ‚Í
- ŠÖ˜A‚ª”CˆÓ‚Å‚ ‚é‚Æ‚«‚É”ñí‚Ɉê”Ê“I‚È‚à‚Ì‚Å‚·B
+ çµåˆãƒ†ãƒ¼ãƒ–ルã®å˜æ–¹å‘多対一関連 ã¯
+ 関連ãŒä»»æ„ã§ã‚ã‚‹ã¨ãã«éžå¸¸ã«ä¸€èˆ¬çš„ãªã‚‚ã®ã§ã™ã€‚
@@ -221,11 +223,11 @@ create table Address ( addressId bigint not null primary key )
- ˆê‘Έê
+ 一対一
- Œ‹‡ƒe[ƒuƒ‹‚Ì’P•ûŒüˆê‘ΈêŠÖ˜A ‚ÍA–{“–‚É“ÁŽê‚Å‚·‚ª
- •s‰Â”\‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+ çµåˆãƒ†ãƒ¼ãƒ–ルã®å˜æ–¹å‘一対一関連 ã¯ã€æœ¬å½“ã«ç‰¹æ®Šã§ã™ãŒ
+ ä¸å¯èƒ½ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
@@ -257,10 +259,10 @@ create table Address ( addressId bigint not null primary key )
- ‘½‘Α½
+ 多対多
- ÅŒã‚ÉA’P•ûŒü‘½‘Α½ŠÖ˜A ‚ðŽ¦‚µ‚Ü‚·B
+ 最後ã«ã€å˜æ–¹å‘多対多関連 を示ã—ã¾ã™ã€‚
@@ -290,14 +292,14 @@ create table Address ( addressId bigint not null primary key )
- ‘o•ûŒüŠÖ˜A
+ åŒæ–¹å‘関連
- ˆê‘Α½/‘½‘Έê
+ 一対多/多対一
- ‘o•ûŒü‘½‘ΈêŠÖ˜A ‚ÍÅ‚àˆê”Ê“I‚ÈŠÖ˜A‚Å‚·B
- i•W€“I‚ÈeŽqŠÖŒW‚Å‚·j
+ åŒæ–¹å‘多対一関連 ã¯æœ€ã‚‚一般的ãªé–¢é€£ã§ã™ã€‚
+ (標準的ãªè¦ªå関係ã§ã™ï¼‰
@@ -325,12 +327,12 @@ create table Address ( addressId bigint not null primary key )
]]>
- List i‚Ü‚½‚Í‘¼‚̃Cƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“j‚ðŽg‚¤‚È‚çA
- ŠO•”ƒL[‚Ì key ƒJƒ‰ƒ€‚ð not null ‚Éݒ肵A
- ƒRƒŒƒNƒVƒ‡ƒ“‘¤‚ªŠe—v‘f‚̃Cƒ“ƒfƒbƒNƒX‚ðƒƒ“ƒeƒiƒ“ƒX‚·‚é‚悤‚ÉA
- ŠÖ˜A‚ðˆµ‚¤•K—v‚ª‚ ‚è‚Ü‚·
- iupdate="false" ‚©‚Â insert="false"
- ‚Æݒ肵‚ÄA”½‘Α¤‚ð‰¼‘z“I‚Éinverse‚É‚µ‚Ü‚·jF
+ List (ã¾ãŸã¯ä»–ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä»˜ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï¼‰ã‚’使ã†ãªã‚‰ã€
+ 外部ã‚ー㮠key カラムを not null ã«è¨å®šã—ã€
+ コレクションå´ãŒå„è¦ç´ ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’メンテナンスã™ã‚‹ã‚ˆã†ã«ã€
+ 関連を扱ã†å¿…è¦ãŒã‚ã‚Šã¾ã™
+ (update="false" ã‹ã¤ insert="false"
+ ã¨è¨å®šã—ã¦ã€å対å´ã‚’仮想的ã«inverseã«ã—ã¾ã™ï¼‰ï¼š
@@ -354,21 +356,21 @@ create table Address ( addressId bigint not null primary key )
]]>
- ‚à‚µŠO•”ƒL[ƒJƒ‰ƒ€‚ª NOT NULL ‚Å‚ ‚é‚È‚ç‚ÎA
- ƒRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚Ì <key> —v‘f‚ð
- not-null="true" ‚É‚·‚邱‚Æ‚Íd—v‚Å‚·B
- “ü‚êŽq‚É‚È‚Á‚½ <column> —v‘f‚¾‚¯‚Å‚Í‚È‚A
- <key> —v‘f‚à not-null="true"
- ‚Æ’è‹`‚µ‚È‚¢‚悤‚É‚µ‚Ä‚‚¾‚³‚¢B
+ ã‚‚ã—外部ã‚ーカラム㌠NOT NULL ã§ã‚ã‚‹ãªã‚‰ã°ã€
+ コレクションマッピング㮠<key> è¦ç´ ã‚’
+ not-null="true" ã«ã™ã‚‹ã“ã¨ã¯é‡è¦ã§ã™ã€‚
+ 入れåã«ãªã£ãŸ <column> è¦ç´ ã ã‘ã§ã¯ãªãã€
+ <key> è¦ç´ ã‚‚ not-null="true"
+ ã¨å®šç¾©ã—ãªã„よã†ã«ã—ã¦ãã ã•ã„。
- ˆê‘Έê
+ 一対一
- ŠO•”ƒL[‚Ì‘o•ûŒüˆê‘ΈêŠÖ˜A ‚Í”ñí‚Ɉê”Ê“I‚Å‚·B
+ 外部ã‚ーã®åŒæ–¹å‘一対一関連 ã¯éžå¸¸ã«ä¸€èˆ¬çš„ã§ã™ã€‚
@@ -394,7 +396,7 @@ create table Address ( addressId bigint not null primary key )
]]>
- ŽåƒL[‚Ì‘o•ûŒüˆê‘ΈêŠÖ˜A ‚Í“ÁŽê‚ÈIDƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¢‚Ü‚·B
+ 主ã‚ーã®åŒæ–¹å‘一対一関連 ã¯ç‰¹æ®ŠãªIDジェãƒãƒ¬ãƒ¼ã‚¿ã‚’使ã„ã¾ã™ã€‚
@@ -423,15 +425,15 @@ create table Address ( personId bigint not null primary key )
- Œ‹‡ƒe[ƒuƒ‹‚ðŽg‚Á‚½‘o•ûŒüŠÖ˜A
+ çµåˆãƒ†ãƒ¼ãƒ–ルを使ã£ãŸåŒæ–¹å‘関連
- ˆê‘Α½/‘½‘Έê
+ 一対多/多対一
- Œ‹‡ƒe[ƒuƒ‹‚Ì‘o•ûŒüˆê‘Α½ŠÖ˜A ‚Å‚·B
- inverse="true" ‚ªŠÖ˜A’[AƒRƒŒƒNƒVƒ‡ƒ“AŒ‹‡‚Ì‚¢‚¸‚ê‚©‚É
- Ý’è‚Å‚«‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ çµåˆãƒ†ãƒ¼ãƒ–ルã®åŒæ–¹å‘一対多関連 ã§ã™ã€‚
+ inverse="true" ãŒé–¢é€£ç«¯ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€çµåˆã®ã„ãšã‚Œã‹ã«
+ è¨å®šã§ãã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
@@ -469,11 +471,11 @@ create table Address ( addressId bigint not null primary key )
- ˆê‘Έê
+ 一対一
- Œ‹‡ƒe[ƒuƒ‹‚Ì‘o•ûŒüˆê‘ΈêŠÖ˜A
- ‚Í”ñí‚É“ÁŽê‚Å‚·‚ªA‰Â”\‚Å‚·B
+ çµåˆãƒ†ãƒ¼ãƒ–ルã®åŒæ–¹å‘一対一関連
+ ã¯éžå¸¸ã«ç‰¹æ®Šã§ã™ãŒã€å¯èƒ½ã§ã™ã€‚
@@ -515,10 +517,10 @@ create table Address ( addressId bigint not null primary key )
- ‘½‘Α½
+ 多対多
- ÅŒã‚ÉA‘o•ûŒü‘½‘Α½ŠÖ˜A ‚ðŽ¦‚µ‚Ü‚·B
+ 最後ã«ã€åŒæ–¹å‘多対多関連 を示ã—ã¾ã™ã€‚
@@ -554,15 +556,15 @@ create table Address ( addressId bigint not null primary key )
- ‚æ‚è•¡ŽG‚ÈŠÖ˜Aƒ}ƒbƒsƒ“ƒO
+ より複雑ãªé–¢é€£ãƒžãƒƒãƒ”ング
- ‚æ‚è•¡ŽG‚ÈŠÖ˜AŒ‹‡‚Í ‹É‚ß‚Ä ‹H‚Å‚·B
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ÉSQL•¶‚ð–„‚ßž‚Þ‚±‚Æ‚ÅA
- ‚³‚ç‚É•¡ŽG‚Èó‹µ‚ðˆµ‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- —Ⴆ‚ÎAaccountNumber, effectiveEndDate,
- effectiveStartDate ƒJƒ‰ƒ€‚ðŽ‚ÂaccountiŒûÀjî•ñ‚Ì—š—ð‚ðˆµ‚¤ƒe[ƒuƒ‹‚ÍA
- ˆÈ‰º‚̂悤‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+ より複雑ãªé–¢é€£çµåˆã¯ 極ã‚㦠稀ã§ã™ã€‚
+ マッピングドã‚ュメントã«SQL文を埋ã‚込むã“ã¨ã§ã€
+ ã•ã‚‰ã«è¤‡é›‘ãªçŠ¶æ³ã‚’扱ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 例ãˆã°ã€accountNumber, effectiveEndDate,
+ effectiveStartDate カラムをæŒã¤account(å£åº§ï¼‰æƒ…å ±ã®å±¥æ´ã‚’扱ã†ãƒ†ãƒ¼ãƒ–ルã¯ã€
+ 以下ã®ã‚ˆã†ã«ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
@@ -575,9 +577,9 @@ create table Address ( addressId bigint not null primary key )
]]>
- ‚»‚µ‚ÄAŠÖ˜A‚𠌻Žž“_‚Ì ƒCƒ“ƒXƒ^ƒ“ƒX
- ieffectiveEndDate ‚ªnull‚Å‚ ‚é‚à‚Ìj‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- ˆÈ‰º‚̂悤‚É‚È‚è‚Ü‚·F
+ ãã—ã¦ã€é–¢é€£ã‚’ ç¾æ™‚点㮠インスタンス
+ (effectiveEndDate ãŒnullã§ã‚ã‚‹ã‚‚ã®ï¼‰ã«ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
+ 以下ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ï¼š
]]>
- ‚³‚ç‚É•¡ŽG‚È—á‚Å‚ÍAEmployeei]‹Æˆõj ‚Æ Organizationi‘gDj
- ŠÔ‚ÌŠÖ˜A‚ª EmploymentiŒÙ—pj ƒe[ƒuƒ‹‚Å•ÛŽ‚³‚ê‚éꇂð‘z‘œ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚̃e[ƒuƒ‹‚ɂ͌ٗpƒf[ƒ^‚Ì—š—ð‚ª‚·‚ׂĊ܂܂ê‚Ü‚·B
- ‚·‚é‚Æ]‹Æˆõ‚Ì Å‚àÅ‹ß‚Ì ŒÙ—pŽÒ‚ð•\‚·ŠÖ˜A
- iÅ‚àÅ‹ß‚Ì startDate ‚ðŽ‚‚à‚Ìj‚ÍA‚±‚̂悤‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·F
+ ã•ã‚‰ã«è¤‡é›‘ãªä¾‹ã§ã¯ã€Employee(従æ¥å“¡ï¼‰ 㨠Organization(組織)
+ é–“ã®é–¢é€£ãŒ Employment(雇用) テーブルã§ä¿æŒã•ã‚Œã‚‹å ´åˆã‚’想åƒã—ã¦ãã ã•ã„。
+ ã“ã®ãƒ†ãƒ¼ãƒ–ルã«ã¯é›‡ç”¨ãƒ‡ãƒ¼ã‚¿ã®å±¥æ´ãŒã™ã¹ã¦å«ã¾ã‚Œã¾ã™ã€‚
+ ã™ã‚‹ã¨å¾“æ¥å“¡ã® 最も最近㮠雇用者を表ã™é–¢é€£
+ (最も最近㮠startDate ã‚’æŒã¤ã‚‚ã®ï¼‰ã¯ã€ã“ã®ã‚ˆã†ã«ãƒžãƒƒãƒ”ングã§ãã¾ã™ï¼š
@@ -609,8 +611,8 @@ create table Address ( addressId bigint not null primary key )
]]>
- ‚±‚Ì‹@”\‚Í”ñí‚É‹—Í‚Å‚·B
- ‚µ‚©‚µ‚±‚̂悤‚Èê‡A•’Ê‚ÍHQL‚âcriteriaƒNƒGƒŠ‚ðŽg‚¤•û‚ª‚æ‚èŽÀ‘H“I‚Å‚·B
+ ã“ã®æ©Ÿèƒ½ã¯éžå¸¸ã«å¼·åŠ›ã§ã™ã€‚
+ ã—ã‹ã—ã“ã®ã‚ˆã†ãªå ´åˆã€æ™®é€šã¯HQLã‚„criteriaクエリを使ã†æ–¹ãŒã‚ˆã‚Šå®Ÿè·µçš„ã§ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml b/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml
index 00894a3e0a..d85da12a02 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/basic_mapping.xml
@@ -1,25 +1,26 @@
-
+
+
- Šî–{“I‚ÈO/Rƒ}ƒbƒsƒ“ƒO
+ 基本的ãªO/Rマッピング
- ƒ}ƒbƒsƒ“ƒO’è‹`
+ マッピング定義
- ƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒO‚Í’ÊíXMLƒhƒLƒ…ƒƒ“ƒg‚Å’è‹`‚µ‚Ü‚·B
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ÍA“Ç‚Ý‚â‚·‚Žèì‹Æ‚Å•ÒW‚µ‚â‚·‚¢‚悤‚ɃfƒUƒCƒ“‚³‚ê‚Ä‚¢‚Ü‚·B
- ƒ}ƒbƒsƒ“ƒOŒ¾Œê‚ÍJava’†SA‚‚܂èƒe[ƒuƒ‹’è‹`‚Å‚Í‚È‚‰i‘±ƒNƒ‰ƒX‚Ì’è‹`‚ÉŠî‚¢‚Ä\’z‚³‚ê‚Ä‚¢‚Ü‚·B
+ オブジェクト/リレーショナルマッピングã¯é€šå¸¸XMLドã‚ュメントã§å®šç¾©ã—ã¾ã™ã€‚
+ マッピングドã‚ュメントã¯ã€èªã¿ã‚„ã™ã手作æ¥ã§ç·¨é›†ã—ã‚„ã™ã„よã†ã«ãƒ‡ã‚¶ã‚¤ãƒ³ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ マッピング言語ã¯Javaä¸å¿ƒã€ã¤ã¾ã‚Šãƒ†ãƒ¼ãƒ–ル定義ã§ã¯ãªã永続クラスã®å®šç¾©ã«åŸºã¥ã„ã¦æ§‹ç¯‰ã•ã‚Œã¦ã„ã¾ã™ã€‚
- ‘½‚‚ÌHibernateƒ†[ƒU‚ÍXMLƒ}ƒbƒsƒ“ƒO‚Ì‹Lq‚ðŽèì‹Æ‚Ås‚¢‚Ü‚·‚ªA
- XDoclet, Middlegen, AndroMDA‚Æ‚¢‚¤‚悤‚ȃ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚𶬂·‚éƒc[ƒ‹‚ª
- ‚¢‚‚‚©‘¶Ý‚µ‚Ü‚·B
+ 多ãã®Hibernateユーザã¯XMLマッピングã®è¨˜è¿°ã‚’手作æ¥ã§è¡Œã„ã¾ã™ãŒã€
+ XDoclet, Middlegen, AndroMDAã¨ã„ã†ã‚ˆã†ãªãƒžãƒƒãƒ”ングドã‚ュメントを生æˆã™ã‚‹ãƒ„ールãŒ
+ ã„ãã¤ã‹å˜åœ¨ã—ã¾ã™ã€‚
- ƒTƒ“ƒvƒ‹‚̃}ƒbƒsƒ“ƒO‚©‚çŽn‚ß‚Ü‚µ‚傤F
+ サンプルã®ãƒžãƒƒãƒ”ングã‹ã‚‰å§‹ã‚ã¾ã—ょã†ï¼š
@@ -82,16 +83,16 @@
-
+
]]>
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Ì“à—e‚ðà–¾‚µ‚Ü‚·BB
- ‚½‚¾‚µA‚±‚±‚Å‚ÍHibernate‚ªŽÀsŽž‚ÉŽg‚¤ƒhƒLƒ…ƒƒ“ƒg—v‘f‚Æ‘®«‚ɂ‚¢‚Ä‚Ì‚Ýà–¾‚µ‚Ü‚·B
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ÍA‚¢‚‚‚©‚̃IƒvƒVƒ‡ƒ“‘®«‚Æ—v‘f‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·i—Ⴆ‚Î not-null ‘®«jB
- ‚»‚ê‚ç‚̓XƒL[ƒ}ƒGƒNƒXƒ|[ƒgƒc[ƒ‹‚ªo—Í‚·‚éƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ɉe‹¿‚ð—^‚¦‚é‚à‚Ì‚Å‚·B
+ マッピングドã‚ュメントã®å†…容を説明ã—ã¾ã™ã€‚。
+ ãŸã ã—ã€ã“ã“ã§ã¯HibernateãŒå®Ÿè¡Œæ™‚ã«ä½¿ã†ãƒ‰ã‚ュメントè¦ç´ ã¨å±žæ€§ã«ã¤ã„ã¦ã®ã¿èª¬æ˜Žã—ã¾ã™ã€‚
+ マッピングドã‚ュメントã¯ã€ã„ãã¤ã‹ã®ã‚ªãƒ—ション属性ã¨è¦ç´ ã‚’å«ã‚“ã§ã„ã¾ã™ï¼ˆä¾‹ãˆã° not-null 属性)。
+ ãれらã¯ã‚¹ã‚ーマエクスãƒãƒ¼ãƒˆãƒ„ールãŒå‡ºåŠ›ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマã«å½±éŸ¿ã‚’与ãˆã‚‹ã‚‚ã®ã§ã™ã€‚
@@ -101,51 +102,51 @@
Doctype
- XMLƒ}ƒbƒsƒ“ƒO‚Å‚ÍA‚¨Œ©‚¹‚µ‚½‚悤‚ȃhƒLƒ…ƒƒ“ƒgŒ^‚ð•K‚¸’è‹`‚·‚ׂ«‚Å‚·B
- ŽÀÛ‚ÌDTD‚ÍAã‹L‚ÌURL‚Ì hibernate-x.x.x/src/org/hibernate ƒfƒBƒŒƒNƒgƒŠA ‚Ü‚½‚Í
- hibernate.jar “à‚É‚ ‚è‚Ü‚·B
- Hibernate‚Íí‚ÉA‚»‚̃Nƒ‰ƒXƒpƒX“à‚ÅDTD‚ð’T‚µŽn‚ß‚Ü‚·B
- ƒCƒ“ƒ^[ƒlƒbƒg‚É‚ ‚éDTDƒtƒ@ƒCƒ‹‚ð’T‚»‚¤‚Æ‚µ‚½‚È‚çA
- ƒNƒ‰ƒXƒpƒX‚Ì“à—e‚ðŒ©‚ÄADTD錾‚ðŠm”F‚µ‚Ä‚‚¾‚³‚¢B
+ XMLマッピングã§ã¯ã€ãŠè¦‹ã›ã—ãŸã‚ˆã†ãªãƒ‰ã‚ュメント型を必ãšå®šç¾©ã™ã¹ãã§ã™ã€‚
+ 実際ã®DTDã¯ã€ä¸Šè¨˜ã®URLã® hibernate-x.x.x/src/org/hibernate ディレクトリ〠ã¾ãŸã¯
+ hibernate.jar 内ã«ã‚ã‚Šã¾ã™ã€‚
+ Hibernateã¯å¸¸ã«ã€ãã®ã‚¯ãƒ©ã‚¹ãƒ‘ス内ã§DTDを探ã—始ã‚ã¾ã™ã€‚
+ インターãƒãƒƒãƒˆã«ã‚ã‚‹DTDファイルを探ãã†ã¨ã—ãŸãªã‚‰ã€
+ クラスパスã®å†…容を見ã¦ã€DTD宣言を確èªã—ã¦ãã ã•ã„。
- ƒGƒ“ƒeƒBƒeƒBEƒŠƒ]ƒ‹ƒo
+ エンティティ・リゾルãƒ
- ‘Oq‚µ‚½‚悤‚ÉAHibernate‚Í‚Ü‚¸ƒNƒ‰ƒXƒpƒX“à‚ÅDTD‚ð‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
- org.xml.sax.EntityResolver ‚̃JƒXƒ^ƒ€ŽÀ‘•‚ð
- XMLƒtƒ@ƒCƒ‹‚ð“Ç‚Ýž‚Þ‚½‚ß‚ÌSAXReader‚É“o˜^‚·‚邱‚Æ‚É‚æ‚Á‚ÄADTD‚ð‰ðŒˆ‚µ‚Ü‚·B
- ‚±‚̃JƒXƒ^ƒ€‚Ì EntityResolver ‚Í2‚‚̈قȂéƒVƒXƒeƒ€ID–¼‘O‹óŠÔ‚ð”FŽ¯‚µ‚Ü‚·B
+ å‰è¿°ã—ãŸã‚ˆã†ã«ã€Hibernateã¯ã¾ãšã‚¯ãƒ©ã‚¹ãƒ‘ス内ã§DTDを解決ã—よã†ã¨ã—ã¾ã™ã€‚
+ org.xml.sax.EntityResolver ã®ã‚«ã‚¹ã‚¿ãƒ 実装を
+ XMLファイルをèªã¿è¾¼ã‚€ãŸã‚ã®SAXReaderã«ç™»éŒ²ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€DTDを解決ã—ã¾ã™ã€‚
+ ã“ã®ã‚«ã‚¹ã‚¿ãƒ ã® EntityResolver ã¯2ã¤ã®ç•°ãªã‚‹ã‚·ã‚¹ãƒ†ãƒ IDåå‰ç©ºé–“ã‚’èªè˜ã—ã¾ã™ã€‚
- Hibernate–¼‘O‹óŠÔ ‚ÍAƒŠƒ]ƒ‹ƒo‚ª
- http://hibernate.sourceforge.net/ ‚ÅŽn‚Ü‚éƒVƒXƒeƒ€ID‚É“ž’B‚µ‚½‚Æ‚«‚ÉA
- ”FŽ¯‚³‚ê‚Ü‚·B
- ‚»‚µ‚ăŠƒ]ƒ‹ƒo‚ÍAHibernate‚̃Nƒ‰ƒX‚ðƒ[ƒh‚µ‚½ƒNƒ‰ƒXƒ[ƒ_‚ð—p‚¢‚ÄA
- ‚±‚ê‚ç‚̃Gƒ“ƒeƒBƒeƒB‚ð‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
+ Hibernateåå‰ç©ºé–“ ã¯ã€ãƒªã‚¾ãƒ«ãƒãŒ
+ http://hibernate.sourceforge.net/ ã§å§‹ã¾ã‚‹ã‚·ã‚¹ãƒ†ãƒ IDã«åˆ°é”ã—ãŸã¨ãã«ã€
+ èªè˜ã•ã‚Œã¾ã™ã€‚
+ ãã—ã¦ãƒªã‚¾ãƒ«ãƒã¯ã€Hibernateã®ã‚¯ãƒ©ã‚¹ã‚’ãƒãƒ¼ãƒ‰ã—ãŸã‚¯ãƒ©ã‚¹ãƒãƒ¼ãƒ€ã‚’用ã„ã¦ã€
+ ã“れらã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’解決ã—よã†ã¨ã—ã¾ã™ã€‚
- ƒ†[ƒU–¼‘O‹óŠÔ ‚ÍAƒŠƒ]ƒ‹ƒo‚ª
- URLƒvƒƒgƒRƒ‹‚Ì classpath:// ‚ðŽg‚Á‚½ƒVƒXƒeƒ€ID‚É“ž’B‚µ‚½‚Æ‚«‚ÉA
- ”FŽ¯‚³‚ê‚Ü‚·B‚»‚µ‚ăŠƒ]ƒ‹ƒo‚ÍA(1)ƒJƒŒƒ“ƒgƒXƒŒƒbƒh‚̃Rƒ“ƒeƒLƒXƒgƒNƒ‰ƒXƒ[ƒ_[A
- ‚Ü‚½‚Í(2)Hibernate‚̃Nƒ‰ƒX‚ðƒ[ƒh‚µ‚½ƒNƒ‰ƒXƒ[ƒ_‚ðŽg‚Á‚ÄA
- ‚±‚ê‚ç‚̃Gƒ“ƒeƒBƒeƒB‚ð‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
+ ユーザåå‰ç©ºé–“ ã¯ã€ãƒªã‚¾ãƒ«ãƒãŒ
+ URLプãƒãƒˆã‚³ãƒ«ã® classpath:// を使ã£ãŸã‚·ã‚¹ãƒ†ãƒ IDã«åˆ°é”ã—ãŸã¨ãã«ã€
+ èªè˜ã•ã‚Œã¾ã™ã€‚ãã—ã¦ãƒªã‚¾ãƒ«ãƒã¯ã€(1)カレントスレッドã®ã‚³ãƒ³ãƒ†ã‚ストクラスãƒãƒ¼ãƒ€ãƒ¼ã€
+ ã¾ãŸã¯(2)Hibernateã®ã‚¯ãƒ©ã‚¹ã‚’ãƒãƒ¼ãƒ‰ã—ãŸã‚¯ãƒ©ã‚¹ãƒãƒ¼ãƒ€ã‚’使ã£ã¦ã€
+ ã“れらã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’解決ã—よã†ã¨ã—ã¾ã™ã€‚
- ‰º‹L‚ÍAƒ†[ƒU–¼‘O‹óŠÔ‚ðŽg‚Á‚½—á‚Å‚·F
+ 下記ã¯ã€ãƒ¦ãƒ¼ã‚¶åå‰ç©ºé–“を使ã£ãŸä¾‹ã§ã™ï¼š
@@ -164,8 +165,8 @@
&types;
]]>
- ‚±‚±‚Å types.xml ‚Í your.domain ƒpƒbƒP[ƒW“à‚̃Šƒ\[ƒX‚Å‚ ‚èA
- ƒJƒXƒ^ƒ€ typedef ‚ðŠÜ‚Þ‚Ü‚·B
+ ã“ã“㧠types.xml 㯠your.domain パッケージ内ã®ãƒªã‚½ãƒ¼ã‚¹ã§ã‚ã‚Šã€
+ カスタムtypedef ã‚’å«ã‚€ã¾ã™ã€‚
@@ -176,14 +177,14 @@
hibernate-mapping
- ‚±‚Ì—v‘f‚É‚Í‚¢‚‚‚©ƒIƒvƒVƒ‡ƒ“‘®«‚ª‚ ‚è‚Ü‚·Bschema ‘®«‚Æ catalog ‘®«‚ÍA
- ‚±‚̃}ƒbƒsƒ“ƒO‚ªŽQÆ‚·‚éƒe[ƒuƒ‹‚ªA‚±‚Ì‘®«‚É‚æ‚Á‚ÄŽw’肳‚ꂽƒXƒL[ƒ}‚Æ(‚Ü‚½‚Í)ƒJƒ^ƒƒO‚É‘®‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
- ‚±‚Ì‘®«‚ªŽw’肳‚ê‚é‚ÆAƒe[ƒuƒ‹–¼‚Í—^‚¦‚ç‚ꂽƒXƒL[ƒ}–¼‚ƃJƒ^ƒƒO–¼‚ÅCü‚³‚ê‚Ü‚·B‚±‚ê‚ç‚Ì‘®«‚ªŽw’肳‚ê‚Ä‚¢‚È‚¯‚ê‚ÎA
- ƒe[ƒuƒ‹–¼‚ÍCü‚³‚ê‚Ü‚¹‚ñBdefault-cascade ‘®«‚ÍA
- cascade ‘®«‚ðŽw’肵‚Ä‚¢‚È‚¢ƒvƒƒpƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚ÉA
- ‚ǂ̃JƒXƒP[ƒhƒXƒ^ƒCƒ‹‚ðŠ„‚è“–‚Ä‚é‚©‚ðŽw’肵‚Ü‚·B
- auto-import ‘®«‚ÍA
- ƒNƒGƒŠŒ¾Œê“à‚ÅCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼‚ðAƒfƒtƒHƒ‹ƒg‚ÅŽg‚¦‚é‚悤‚É‚µ‚Ü‚·B
+ ã“ã®è¦ç´ ã«ã¯ã„ãã¤ã‹ã‚ªãƒ—ション属性ãŒã‚ã‚Šã¾ã™ã€‚schema 属性㨠catalog 属性ã¯ã€
+ ã“ã®ãƒžãƒƒãƒ”ングãŒå‚ç…§ã™ã‚‹ãƒ†ãƒ¼ãƒ–ルãŒã€ã“ã®å±žæ€§ã«ã‚ˆã£ã¦æŒ‡å®šã•ã‚ŒãŸã‚¹ã‚ーマã¨(ã¾ãŸã¯)ã‚«ã‚¿ãƒã‚°ã«å±žã™ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ ã“ã®å±žæ€§ãŒæŒ‡å®šã•ã‚Œã‚‹ã¨ã€ãƒ†ãƒ¼ãƒ–ルåã¯ä¸Žãˆã‚‰ã‚ŒãŸã‚¹ã‚ーマåã¨ã‚«ã‚¿ãƒã‚°åã§ä¿®é£¾ã•ã‚Œã¾ã™ã€‚ã“れらã®å±žæ€§ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€
+ テーブルåã¯ä¿®é£¾ã•ã‚Œã¾ã›ã‚“。default-cascade 属性ã¯ã€
+ cascade 属性を指定ã—ã¦ã„ãªã„プãƒãƒ‘ティやコレクションã«ã€
+ ã©ã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã‚¹ã‚¿ã‚¤ãƒ«ã‚’割り当ã¦ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚
+ auto-import 属性ã¯ã€
+ クエリ言語内ã§ä¿®é£¾ã•ã‚Œã¦ã„ãªã„クラスåã‚’ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ä½¿ãˆã‚‹ã‚ˆã†ã«ã—ã¾ã™ã€‚
@@ -208,62 +209,62 @@
- schemaiƒIƒvƒVƒ‡ƒ“jFƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Ì–¼‘OB
+ schema(オプション):データベーススã‚ーマã®åå‰ã€‚
- catalog iƒIƒvƒVƒ‡ƒ“jFƒf[ƒ^ƒx[ƒXƒJƒ^ƒƒO‚Ì–¼‘OB
+ catalog (オプション):データベースカタãƒã‚°ã®åå‰ã€‚
- default-cascade iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í nonejF
- ƒfƒtƒHƒ‹ƒg‚̃JƒXƒP[ƒhƒXƒ^ƒCƒ‹B
+ default-cascade (オプション - デフォルト㯠none):
+ デフォルトã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã‚¹ã‚¿ã‚¤ãƒ«ã€‚
- default-access (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- Hibernate‚ªƒvƒƒpƒeƒB‚ɃAƒNƒZƒX‚·‚éÛ‚ÉÌ‚é‚ׂ«í—ªB PropertyAccessor
- ‚ðŽÀ‘•‚·‚邱‚ƂŃJƒXƒ^ƒ}ƒCƒY‰Â”\B
+ default-access (オプション - デフォルト㯠property ):
+ HibernateãŒãƒ—ãƒãƒ‘ティã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹éš›ã«æŽ¡ã‚‹ã¹ã戦略。 PropertyAccessor
+ を実装ã™ã‚‹ã“ã¨ã§ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºå¯èƒ½ã€‚
- default-lazy (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true )F
- lazy ‘®«‚ªŽw’肳‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX‚âƒRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚ɑ΂·‚éƒfƒtƒHƒ‹ƒg’lB
+ default-lazy (オプション - デフォルト㯠true ):
+ lazy 属性ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã„クラスやコレクションマッピングã«å¯¾ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã€‚
- auto-import iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í truejF
- ƒNƒGƒŠŒ¾Œê“à‚ÅAi‚±‚̃}ƒbƒsƒ“ƒO“à‚̃Nƒ‰ƒX‚ÌjCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼‚ðŽg‚¦‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+ auto-import (オプション - デフォルト㯠true):
+ クエリ言語内ã§ã€ï¼ˆã“ã®ãƒžãƒƒãƒ”ング内ã®ã‚¯ãƒ©ã‚¹ã®ï¼‰ä¿®é£¾ã•ã‚Œã¦ã„ãªã„クラスåを使ãˆã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
- package (ƒIƒvƒVƒ‡ƒ“): ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg“à‚ÅCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼‚ɑ΂µ‚ÄŠ„‚è“–‚Ä‚éA
- ƒpƒbƒP[ƒW‚ÌÚ“ªŽ«(prefix)‚ðŽw’肵‚Ü‚·B
+ package (オプション): マッピングドã‚ュメント内ã§ä¿®é£¾ã•ã‚Œã¦ã„ãªã„クラスåã«å¯¾ã—ã¦å‰²ã‚Šå½“ã¦ã‚‹ã€
+ パッケージã®æŽ¥é 辞(prefix)を指定ã—ã¾ã™ã€‚
- iCü‚³‚ê‚Ä‚¢‚È‚¢j“¯‚¶–¼‘O‚̉i‘±ƒNƒ‰ƒX‚ª2‚‚ ‚é‚È‚çA
- auto-import="false" ‚ðÝ’è‚·‚ׂ«‚Å‚·B
- 2‚‚̃Nƒ‰ƒX‚ÉhƒCƒ“ƒ|[ƒg‚³‚ꂽh“¯‚¶–¼‘O‚ðŠ„‚è“–‚Ă悤‚Æ‚·‚é‚ÆAHibernate‚Í—áŠO‚ð“Š‚°‚Ü‚·B
+ (修飾ã•ã‚Œã¦ã„ãªã„)åŒã˜åå‰ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ãŒ2ã¤ã‚ã‚‹ãªã‚‰ã€
+ auto-import="false" ã‚’è¨å®šã™ã¹ãã§ã™ã€‚
+ 2ã¤ã®ã‚¯ãƒ©ã‚¹ã«â€ã‚¤ãƒ³ãƒãƒ¼ãƒˆã•ã‚ŒãŸâ€åŒã˜åå‰ã‚’割り当ã¦ã‚ˆã†ã¨ã™ã‚‹ã¨ã€Hibernateã¯ä¾‹å¤–を投ã’ã¾ã™ã€‚
- hibernate-mapping —v‘f‚ÍAʼn‚Ì—á‚ÅŽ¦‚µ‚½‚悤‚É‚¢‚‚‚©‚̉i‘± <class>
- ƒ}ƒbƒsƒ“ƒO‚ðƒlƒXƒg‚Å‚«‚Ü‚·B
- ‚µ‚©‚µA‚P‚‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Å‚Í‚½‚¾‚ЂƂ‚̉i‘±ƒNƒ‰ƒX(‚Ü‚½‚͂ЂƂ‚̃Nƒ‰ƒXŠK‘w)‚Ƀ}ƒbƒsƒ“ƒO‚·‚é‚悤‚É‚µA
- ‚³‚ç‚ɉi‘±ƒX[ƒp[ƒNƒ‰ƒX‚ÌŒã‚ÅŽw’è‚·‚é‚ׂ«‚Å‚µ‚傤(‚¢‚‚‚©‚̃c[ƒ‹‚Í‚±‚̂悤‚ȃ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð‘z’肵‚Ä‚¢‚Ü‚·)B
- —Ⴆ‚ÎŽŸ‚̂悤‚É‚È‚è‚Ü‚·BF Cat.hbm.xml ,
- Dog.hbm.xml , ‚Ü‚½‚ÍŒp³‚ðŽg‚¤‚È‚ç Animal.hbm.xml B
+ hibernate-mapping è¦ç´ ã¯ã€æœ€åˆã®ä¾‹ã§ç¤ºã—ãŸã‚ˆã†ã«ã„ãã¤ã‹ã®æ°¸ç¶š <class>
+ マッピングをãƒã‚¹ãƒˆã§ãã¾ã™ã€‚
+ ã—ã‹ã—ã€ï¼‘ã¤ã®ãƒžãƒƒãƒ”ングファイルã§ã¯ãŸã ã²ã¨ã¤ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹(ã¾ãŸã¯ã²ã¨ã¤ã®ã‚¯ãƒ©ã‚¹éšŽå±¤)ã«ãƒžãƒƒãƒ”ングã™ã‚‹ã‚ˆã†ã«ã—ã€
+ ã•ã‚‰ã«æ°¸ç¶šã‚¹ãƒ¼ãƒ‘ークラスã®å¾Œã§æŒ‡å®šã™ã‚‹ã¹ãã§ã—ょã†(ã„ãã¤ã‹ã®ãƒ„ールã¯ã“ã®ã‚ˆã†ãªãƒžãƒƒãƒ”ングファイルを想定ã—ã¦ã„ã¾ã™)。
+ 例ãˆã°æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚: Cat.hbm.xml ,
+ Dog.hbm.xml , ã¾ãŸã¯ç¶™æ‰¿ã‚’使ã†ãªã‚‰ Animal.hbm.xml 。
@@ -272,7 +273,7 @@
class
- class —v‘f‚ðŽg‚Á‚ÄA‰i‘±ƒNƒ‰ƒX‚ð錾‚Å‚«‚Ü‚·B
+ class è¦ç´ を使ã£ã¦ã€æ°¸ç¶šã‚¯ãƒ©ã‚¹ã‚’宣言ã§ãã¾ã™ã€‚
@@ -328,140 +329,140 @@
- name (ƒIƒvƒVƒ‡ƒ“)F‰i‘±ƒNƒ‰ƒXi‚Ü‚½‚̓Cƒ“ƒ^[ƒtƒFƒCƒXj‚ÌŠ®‘SCüJavaƒNƒ‰ƒX–¼B
- ‚à‚µ‚±‚Ì‘®«‚ðŽw’肵‚È‚¯‚ê‚ÎAPOJO‚Å‚Í‚È‚¢ƒGƒ“ƒeƒBƒeƒB‚ɑ΂·‚éƒ}ƒbƒsƒ“ƒO‚Æ‚µ‚Ĉµ‚í‚ê‚Ü‚·B
+ name (オプション):永続クラス(ã¾ãŸã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ï¼‰ã®å®Œå…¨ä¿®é£¾Javaクラスå。
+ ã‚‚ã—ã“ã®å±žæ€§ã‚’指定ã—ãªã‘ã‚Œã°ã€POJOã§ã¯ãªã„エンティティã«å¯¾ã™ã‚‹ãƒžãƒƒãƒ”ングã¨ã—ã¦æ‰±ã‚ã‚Œã¾ã™ã€‚
- table (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚ÍCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼)Fƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚Ì–¼‘O
+ table (オプション - デフォルトã¯ä¿®é£¾ã•ã‚Œã¦ã„ãªã„クラスå):データベーステーブルã®åå‰
- discriminator-value (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓Nƒ‰ƒX–¼)F
- ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈU‚é•‘‚¢‚ÉŽg‚í‚ê‚éŒÂX‚̃TƒuƒNƒ‰ƒX‚ðŽ¯•Ê‚·‚邽‚ß‚Ì’lB
- ’l‚Í null ‚© not null ‚Ì‚¢‚¸‚ê‚©‚ðŽæ‚è‚Ü‚·B
+ discriminator-value (オプション - デフォルトã¯ã‚¯ãƒ©ã‚¹å):
+ ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªæŒ¯ã‚‹èˆžã„ã«ä½¿ã‚れる個々ã®ã‚µãƒ–クラスをè˜åˆ¥ã™ã‚‹ãŸã‚ã®å€¤ã€‚
+ 値㯠null ã‹ not null ã®ã„ãšã‚Œã‹ã‚’å–ã‚Šã¾ã™ã€‚
- mutable (ƒIƒvƒVƒ‡ƒ“A ƒfƒtƒHƒ‹ƒg‚Í true )F
- ‚»‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªXV‰Â”\i‚Ü‚½‚Í•s‰Â”\j‚Å‚ ‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+ mutable (オプション〠デフォルト㯠true ):
+ ãã®ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒæ›´æ–°å¯èƒ½ï¼ˆã¾ãŸã¯ä¸å¯èƒ½ï¼‰ã§ã‚ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
- schema iƒIƒvƒVƒ‡ƒ“jF
- ƒ‹[ƒg‚Ì <hibernate-mapping> —v‘f‚ÅŽw’肳‚ꂽƒXƒL[ƒ}–¼‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+ schema (オプション):
+ ルート㮠<hibernate-mapping> è¦ç´ ã§æŒ‡å®šã•ã‚ŒãŸã‚¹ã‚ーマåをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚
- catalog iƒIƒvƒVƒ‡ƒ“jFƒ‹[ƒg‚Ì <hibernate-mapping>
- —v‘f‚ÅŽw’肳‚ꂽƒJƒ^ƒƒO–¼‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+ catalog (オプション):ルート㮠<hibernate-mapping>
+ è¦ç´ ã§æŒ‡å®šã•ã‚ŒãŸã‚«ã‚¿ãƒã‚°åをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚
- proxy iƒIƒvƒVƒ‡ƒ“jF’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg‚¤ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
- ‰i‘±‰»‚·‚éƒNƒ‰ƒX–¼‚»‚Ì‚à‚Ì‚ðŽw’è‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+ proxy (オプション):é…延åˆæœŸåŒ–プãƒã‚ã‚·ã«ä½¿ã†ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’指定ã—ã¾ã™ã€‚
+ 永続化ã™ã‚‹ã‚¯ãƒ©ã‚¹åãã®ã‚‚ã®ã‚’指定ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
- dynamic-update iƒIƒvƒVƒ‡ƒ“A ƒfƒtƒHƒ‹ƒg‚Í false jF
- ’l‚ª•ÏX‚³‚ꂽƒJƒ‰ƒ€‚¾‚¯‚ðŠÜ‚ÞSQL‚Ì UPDATE •¶‚ðAŽÀsŽž‚ɶ¬‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+ dynamic-update (オプション〠デフォルト㯠false ):
+ 値ãŒå¤‰æ›´ã•ã‚ŒãŸã‚«ãƒ©ãƒ ã ã‘ã‚’å«ã‚€SQLã® UPDATE 文をã€å®Ÿè¡Œæ™‚ã«ç”Ÿæˆã™ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
- dynamic-insert iƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í false jF
- ’l‚ªnull‚Å‚Í‚È‚¢ƒJƒ‰ƒ€‚¾‚¯‚ðŠÜ‚ÞSQL‚Ì INSERT •¶‚ðAŽÀsŽž‚ɶ¬‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
+ dynamic-insert (オプション, デフォルト㯠false ):
+ 値ãŒnullã§ã¯ãªã„カラムã ã‘ã‚’å«ã‚€SQLã® INSERT 文をã€å®Ÿè¡Œæ™‚ã«ç”Ÿæˆã™ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
- select-before-update (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í false):
- ƒIƒuƒWƒFƒNƒg‚ª•ÏX‚³‚ꂽ‚Ì‚ªŠmŽÀ‚Å‚È‚¢‚È‚ç‚ÎAHibernate‚ªSQL‚Ì UPDATE ‚ð
- Œˆ‚µ‚ÄŽÀs‚µ‚È‚¢ ‚±‚Æ‚ðŽw’肵‚Ü‚·B
- ‚ ‚é“Á’è‚Ìê‡(ŽÀÛ“I‚É‚ÍAˆêŽžƒIƒuƒWƒFƒNƒg‚ª update() ‚ðŽg‚¢A
- V‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A•t‚¯‚ç‚ꂽŽž‚¾‚¯)AUPDATE ‚ªŽÀÛ‚É•K—v‚©‚Ç‚¤‚©‚ðŒˆ’è‚·‚邽‚ß‚ÉA
- Hibernate‚ª—]•ª‚ÈSQL‚Ì SELECT •¶‚ðŽÀs‚·‚邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+ select-before-update (オプション, デフォルト㯠false):
+ オブジェクトãŒå¤‰æ›´ã•ã‚ŒãŸã®ãŒç¢ºå®Ÿã§ãªã„ãªã‚‰ã°ã€HibernateãŒSQLã® UPDATE ã‚’
+ 決ã—ã¦å®Ÿè¡Œã—ãªã„ ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ ã‚る特定ã®å ´åˆ(実際的ã«ã¯ã€ä¸€æ™‚オブジェクト㌠update() を使ã„ã€
+ æ–°ã—ã„セッションã¨é–¢é€£ä»˜ã‘られãŸæ™‚ã ã‘)ã€UPDATE ãŒå®Ÿéš›ã«å¿…è¦ã‹ã©ã†ã‹ã‚’決定ã™ã‚‹ãŸã‚ã«ã€
+ HibernateãŒä½™åˆ†ãªSQLã® SELECT 文を実行ã™ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
- (optional, ƒfƒtƒHƒ‹ƒg‚Å‚Í implicit ): implicitiˆÃ–Ùj‚©expliciti–¾Ž¦j‚ÌA
- ‚Ç‚¿‚ç‚̃NƒGƒŠƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ðŽg‚¤‚©Œˆ’肵‚Ü‚·B
+ (optional, デフォルトã§ã¯ implicit ): implicit(暗黙)ã‹explicit(明示)ã®ã€
+ ã©ã¡ã‚‰ã®ã‚¯ã‚¨ãƒªãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ã‚ºãƒ を使ã†ã‹æ±ºå®šã—ã¾ã™ã€‚
- where iƒIƒvƒVƒ‡ƒ“jF
- ‚±‚̃Nƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ðŒŸõ‚·‚é‚Æ‚«‚ÉŽg—p‚·‚éA”CˆÓ‚ÌSQL‚Ì WHERE ðŒ‚ðŽw’肵‚Ü‚·B
+ where (オプション):
+ ã“ã®ã‚¯ãƒ©ã‚¹ã®ã‚ªãƒ–ジェクトを検索ã™ã‚‹ã¨ãã«ä½¿ç”¨ã™ã‚‹ã€ä»»æ„ã®SQLã® WHERE æ¡ä»¶ã‚’指定ã—ã¾ã™ã€‚
- persister iƒIƒvƒVƒ‡ƒ“jFƒJƒXƒ^ƒ€ ClassPersister ‚ðŽw’肵‚Ü‚·B
+ persister (オプション):カスタムClassPersister を指定ã—ã¾ã™ã€‚
- batch-size iƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í 1 jF
- Ž¯•ÊŽq‚Å‚±‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚𕜌³‚·‚é‚Æ‚«‚Ìuƒoƒbƒ`ƒTƒCƒYv‚ðŽw’肵‚Ü‚·B
+ batch-size (オプション, デフォルト㯠1 ):
+ è˜åˆ¥åã§ã“ã®ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’復元ã™ã‚‹ã¨ãã®ã€Œãƒãƒƒãƒã‚µã‚¤ã‚ºã€ã‚’指定ã—ã¾ã™ã€‚
- optimistic-lock iƒIƒvƒVƒ‡ƒ“,ƒfƒtƒHƒ‹ƒg‚Í version jF
- ŠyŠÏƒƒbƒNí—ª‚ðŒˆ’è‚µ‚Ü‚·B
+ optimistic-lock (オプション,デフォルト㯠version ):
+ 楽観ãƒãƒƒã‚¯æˆ¦ç•¥ã‚’決定ã—ã¾ã™ã€‚
- lazy iƒIƒvƒVƒ‡ƒ“jF lazy="false" ‚ÆÝ’è‚·‚邱‚Æ‚ÅA
- ’x‰„ƒtƒFƒbƒ`‚ª‚Å‚«‚È‚‚È‚è‚Ü‚·B
+ lazy (オプション): lazy="false" ã¨è¨å®šã™ã‚‹ã“ã¨ã§ã€
+ é…延フェッãƒãŒã§ããªããªã‚Šã¾ã™ã€‚
- entity-name iƒIƒvƒVƒ‡ƒ“AƒfƒtƒHƒ‹ƒg‚̓Nƒ‰ƒX–¼jF
- Hibernate3‚ł̓Nƒ‰ƒX‚ª•¡”‰ñƒ}ƒbƒsƒ“ƒO‚Å‚«iꇂɂæ‚Á‚Ă͈Ⴄƒe[ƒuƒ‹‚ɑ΂µ‚Ä‚àjA
- JavaƒŒƒxƒ‹‚ÅMap‚âXML‚Å•\Œ»‚³‚ê‚éƒGƒ“ƒeƒBƒeƒBƒ}ƒbƒsƒ“ƒO‚ª‰Â”\‚Å‚·B
- ‚±‚ê‚ç‚Ìê‡AƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä”CˆÓ‚Ì–¼‘O‚ðA–¾Ž¦“I‚É•t‚¯‚È‚‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
- Ú‚µ‚‚Í ‚Æ ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ entity-name (オプションã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ã‚¯ãƒ©ã‚¹å):
+ Hibernate3ã§ã¯ã‚¯ãƒ©ã‚¹ãŒè¤‡æ•°å›žãƒžãƒƒãƒ”ングã§ãï¼ˆå ´åˆã«ã‚ˆã£ã¦ã¯é•ã†ãƒ†ãƒ¼ãƒ–ルã«å¯¾ã—ã¦ã‚‚)ã€
+ Javaレベルã§Mapã‚„XMLã§è¡¨ç¾ã•ã‚Œã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒžãƒƒãƒ”ングãŒå¯èƒ½ã§ã™ã€‚
+ ã“れらã®å ´åˆã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«å¯¾ã—ã¦ä»»æ„ã®åå‰ã‚’ã€æ˜Žç¤ºçš„ã«ä»˜ã‘ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。
+ 詳ã—ã㯠㨠をå‚ç…§ã—ã¦ãã ã•ã„。
- check iƒIƒvƒVƒ‡ƒ“jFŽ©“®“I‚ɃXƒL[ƒ}‚𶬂·‚邽‚ß‚ÉA
- •¡”s‚Ì check §–ñ‚𶬂·‚éSQLŽ®B
+ check (オプション):自動的ã«ã‚¹ã‚ーマを生æˆã™ã‚‹ãŸã‚ã«ã€
+ 複数行㮠check 制約を生æˆã™ã‚‹SQLå¼ã€‚
- rowid iƒIƒvƒVƒ‡ƒ“jFHibernate‚ÍA‚»‚ê‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ÅROWID‚Æ
- ŒÄ‚΂ê‚é‚à‚Ì‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- —Ⴆ‚ÎOracle‚ðŽg‚Á‚Ä‚¢‚é‚Æ‚«A‚±‚̃IƒvƒVƒ‡ƒ“‚É rowid ‚ðÝ’è‚·‚ê‚ÎA
- Hiberante‚Íupdate‚ð‚‘¬‰»‚·‚邽‚ß‚É rowid ‚Æ‚¢‚¤“Á•Ê‚ȃJƒ‰ƒ€‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ROWID‚ÍÚׂȎÀ‘•‚Å‚ ‚èA•Û‘¶‚³‚ꂽƒ^ƒvƒ‹‚Ì•¨—“I‚Ȉʒu‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+ rowid (オプション):Hibernateã¯ã€ãれをサãƒãƒ¼ãƒˆã—ã¦ã„るデータベースã§ROWIDã¨
+ 呼ã°ã‚Œã‚‹ã‚‚ã®ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 例ãˆã°Oracleを使ã£ã¦ã„ã‚‹ã¨ãã€ã“ã®ã‚ªãƒ—ション㫠rowid ã‚’è¨å®šã™ã‚Œã°ã€
+ Hiberanteã¯updateを高速化ã™ã‚‹ãŸã‚ã« rowid ã¨ã„ã†ç‰¹åˆ¥ãªã‚«ãƒ©ãƒ を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ROWIDã¯è©³ç´°ãªå®Ÿè£…ã§ã‚ã‚Šã€ä¿å˜ã•ã‚ŒãŸã‚¿ãƒ—ルã®ç‰©ç†çš„ãªä½ç½®ã‚’表ã—ã¦ã„ã¾ã™ã€‚
- subselect iƒIƒvƒVƒ‡ƒ“jF•s•Ï‚©‚“ǂݎæ‚èê—p‚Å‚ ‚éƒGƒ“ƒeƒBƒeƒB‚ð
- ƒf[ƒ^ƒx[ƒX‚Ì•›–⇂¹isubselectj‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- ‚à‚µŒ³‚̃e[ƒuƒ‹‚Ì‘ã‚í‚è‚Ƀrƒ…[‚ðŽ‚¿‚½‚¯‚ê‚ΗL—p‚Å‚·‚ªA
- ‚»‚¤‚Å‚È‚¢‚Ì‚È‚ç—L—p‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚æ‚èÚ‚µ‚¢î•ñ‚͉º‹L‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ subselect (オプション):ä¸å¤‰ã‹ã¤èªã¿å–り専用ã§ã‚るエンティティを
+ データベースã®å‰¯å•åˆã›ï¼ˆsubselect)ã«ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
+ ã‚‚ã—å…ƒã®ãƒ†ãƒ¼ãƒ–ルã®ä»£ã‚ã‚Šã«ãƒ“ューをæŒã¡ãŸã‘ã‚Œã°æœ‰ç”¨ã§ã™ãŒã€
+ ãã†ã§ãªã„ã®ãªã‚‰æœ‰ç”¨ã§ã¯ã‚ã‚Šã¾ã›ã‚“。より詳ã—ã„æƒ…å ±ã¯ä¸‹è¨˜ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- abstract iƒIƒvƒVƒ‡ƒ“jF
- <union-subclass> ŠK‘w“à‚Ì’ŠÛƒX[ƒp[ƒNƒ‰ƒX‚Ƀ}[ƒN‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B
+ abstract (オプション):
+ <union-subclass> 階層内ã®æŠ½è±¡ã‚¹ãƒ¼ãƒ‘ークラスã«ãƒžãƒ¼ã‚¯ã™ã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚
@@ -469,102 +470,102 @@
- ‰i‘±ƒNƒ‰ƒX‚Ì–¼‘O‚ɃCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ä‚à‚Ü‚Á‚½‚–â‘è‚ ‚è‚Ü‚¹‚ñB
- ‚»‚Ì‚Æ‚«‚Í <subclass> —v‘f‚ðŽg‚Á‚ÄA
- ‚»‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚·‚éƒNƒ‰ƒX‚ð’è‹`‚µ‚Ä‚‚¾‚³‚¢B
- static ‚È“à•”ƒNƒ‰ƒX‚Å‚à‰i‘±‰»‚Å‚«‚Ü‚·B
- ‚»‚Ì‚Æ‚«‚Í•W€Œ`Ž®A—Ⴆ‚Î eg.Foo$Bar ‚ðŽg‚Á‚ăNƒ‰ƒX–¼‚ðŽw’肵‚Ä‚‚¾‚³‚¢B
+ 永続クラスã®åå‰ã«ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’指定ã—ã¦ã‚‚ã¾ã£ãŸãå•é¡Œã‚ã‚Šã¾ã›ã‚“。
+ ãã®ã¨ã㯠<subclass> è¦ç´ を使ã£ã¦ã€
+ ãã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’実装ã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚’定義ã—ã¦ãã ã•ã„。
+ static ãªå†…部クラスã§ã‚‚永続化ã§ãã¾ã™ã€‚
+ ãã®ã¨ãã¯æ¨™æº–å½¢å¼ã€ä¾‹ãˆã° eg.Foo$Bar を使ã£ã¦ã‚¯ãƒ©ã‚¹åを指定ã—ã¦ãã ã•ã„。
- mutable="false" Žw’è‚ð‚µ‚½•s•ÏƒNƒ‰ƒX‚ÍA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚éXV‚â휂ªo—ˆ‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·B
- ‚±‚ê‚É‚æ‚èAHibernate‚ªƒpƒtƒH[ƒ}ƒ“ƒX‚ð‚µ‰ü‘P‚µ‚Ü‚·B
+ mutable="false" 指定をã—ãŸä¸å¤‰ã‚¯ãƒ©ã‚¹ã¯ã€
+ アプリケーションã«ã‚ˆã‚‹æ›´æ–°ã‚„削除ãŒå‡ºæ¥ãªã„ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã‚Œã«ã‚ˆã‚Šã€HibernateãŒãƒ‘フォーマンスを少ã—改善ã—ã¾ã™ã€‚
- ƒIƒvƒVƒ‡ƒ“‚Ì proxy ‘®«‚É‚æ‚èAƒNƒ‰ƒX‚̉i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚Ì’x‰„‰Šú‰»‚ª‰Â”\‚É‚È‚è‚Ü‚·B
- Hibernate‚Íʼn‚ÉAŽw’肵‚½ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚½CGLIBƒvƒƒLƒV‚ð•Ô‚µ‚Ü‚·B
- ŽÀۂ̉i‘±ƒIƒuƒWƒFƒNƒg‚̓vƒƒLƒV‚̃ƒ\ƒbƒh‚ðŒÄ‚Ño‚·‚Æ‚«‚Ƀ[ƒh‚µ‚Ü‚·B
- ˆÈ‰º‚Ìu’x‰„‰Šú‰»‚Ì‚½‚߂̃vƒƒLƒVv‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ オプション㮠proxy 属性ã«ã‚ˆã‚Šã€ã‚¯ãƒ©ã‚¹ã®æ°¸ç¶šã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®é…延åˆæœŸåŒ–ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚
+ Hibernateã¯æœ€åˆã«ã€æŒ‡å®šã—ãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’実装ã—ãŸCGLIBプãƒã‚ã‚·ã‚’è¿”ã—ã¾ã™ã€‚
+ 実際ã®æ°¸ç¶šã‚ªãƒ–ジェクトã¯ãƒ—ãƒã‚ã‚·ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’呼ã³å‡ºã™ã¨ãã«ãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚
+ 以下ã®ã€Œé…延åˆæœŸåŒ–ã®ãŸã‚ã®ãƒ—ãƒã‚ã‚·ã€ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- ˆÃ–Ù“I ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚Æ‚ÍAŽŸ‚Ì“ñ‚‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B
- ˆê‚‚̓Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªAƒX[ƒp[ƒNƒ‰ƒX‚âŽÀ‘•‚µ‚½ƒCƒ“ƒ^[ƒtƒFƒCƒXA‚Ü‚½‚»‚̃Nƒ‰ƒX‚ðŽw’è‚·‚éƒNƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚邱‚Æ‚ÅA
- ‚à‚¤ˆê‚‚͂»‚̃Nƒ‰ƒX‚̃TƒuƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªA‚»‚̃Nƒ‰ƒXŽ©g‚ðŽw’肵‚½ƒNƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚邱‚Æ‚Å‚·B
- ‚Ü‚½A–¾Ž¦“I ƒ|ƒŠƒ‚[ƒtƒBƒYƒ€‚Æ‚ÍAŽŸ‚Ì“ñ‚‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B
- ˆê‚‚̓Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªA‚»‚̃Nƒ‰ƒX‚𖾎¦“I‚ÉŽw’肵‚½ƒNƒGƒŠ‚É‚æ‚Á‚Ä‚Ì‚Ý•Ô‚³‚ê‚邱‚Æ‚ÅA
- ‚à‚¤ˆê‚‚̓Nƒ‰ƒX‚ðŽw’肵‚½ƒNƒGƒŠ‚ªA<class> —v‘f‚Ì’†‚Å <subclass> ‚â
- <joined-subclass> ‚ƃ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚éƒTƒuƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚¾‚¯‚ð•Ô‚·‚±‚Æ‚Å‚·B
- ‚Ù‚Æ‚ñ‚Ç‚Ì—p“r‚ł̓fƒtƒHƒ‹ƒg‚Ì polymorphism="implicit" ‚ª“KØ‚Å‚·B
- –¾Ž¦“I‚ȃ|ƒŠƒ‚[ƒtƒBƒYƒ€‚ÍA2‚‚̈á‚Á‚½ƒNƒ‰ƒX‚ª“¯‚¶ƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚é‚Æ‚«‚É—L—p‚Å‚·
- i‚±‚ê‚É‚æ‚Á‚ăe[ƒuƒ‹ƒJƒ‰ƒ€‚̃TƒuƒZƒbƒg‚ðŠÜ‚ÞAuŒy—Ê‚ÈvƒNƒ‰ƒX‚ª‰Â”\‚É‚È‚è‚Ü‚·jB
+ 暗黙的 ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ã‚ºãƒ ã¨ã¯ã€æ¬¡ã®äºŒã¤ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚
+ 一ã¤ã¯ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã€ã‚¹ãƒ¼ãƒ‘ークラスや実装ã—ãŸã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã€ã¾ãŸãã®ã‚¯ãƒ©ã‚¹ã‚’指定ã™ã‚‹ã‚¯ã‚¨ãƒªã«ã‚ˆã£ã¦è¿”ã•ã‚Œã‚‹ã“ã¨ã§ã€
+ ã‚‚ã†ä¸€ã¤ã¯ãã®ã‚¯ãƒ©ã‚¹ã®ã‚µãƒ–クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã€ãã®ã‚¯ãƒ©ã‚¹è‡ªèº«ã‚’指定ã—ãŸã‚¯ã‚¨ãƒªã«ã‚ˆã£ã¦è¿”ã•ã‚Œã‚‹ã“ã¨ã§ã™ã€‚
+ ã¾ãŸã€æ˜Žç¤ºçš„ ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ã‚ºãƒ ã¨ã¯ã€æ¬¡ã®äºŒã¤ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚
+ 一ã¤ã¯ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã€ãã®ã‚¯ãƒ©ã‚¹ã‚’明示的ã«æŒ‡å®šã—ãŸã‚¯ã‚¨ãƒªã«ã‚ˆã£ã¦ã®ã¿è¿”ã•ã‚Œã‚‹ã“ã¨ã§ã€
+ ã‚‚ã†ä¸€ã¤ã¯ã‚¯ãƒ©ã‚¹ã‚’指定ã—ãŸã‚¯ã‚¨ãƒªãŒã€<class> è¦ç´ ã®ä¸ã§ <subclass> ã‚„
+ <joined-subclass> ã¨ãƒžãƒƒãƒ”ングã•ã‚Œã¦ã„るサブクラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã ã‘ã‚’è¿”ã™ã“ã¨ã§ã™ã€‚
+ ã»ã¨ã‚“ã©ã®ç”¨é€”ã§ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® polymorphism="implicit" ãŒé©åˆ‡ã§ã™ã€‚
+ 明示的ãªãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ã‚ºãƒ ã¯ã€2ã¤ã®é•ã£ãŸã‚¯ãƒ©ã‚¹ãŒåŒã˜ãƒ†ãƒ¼ãƒ–ルã«ãƒžãƒƒãƒ”ングã•ã‚Œã¦ã„ã‚‹ã¨ãã«æœ‰ç”¨ã§ã™
+ (ã“ã‚Œã«ã‚ˆã£ã¦ãƒ†ãƒ¼ãƒ–ルカラムã®ã‚µãƒ–セットをå«ã‚€ã€ã€Œè»½é‡ãªã€ã‚¯ãƒ©ã‚¹ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ï¼‰ã€‚
- persister ‘®«‚ðŽw’è‚·‚邱‚Æ‚ÅAƒNƒ‰ƒX‚̉i‘±‰»í—ª‚ðƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚Ü‚·B
- —Ⴆ‚Î org.hibernate.persister.EntityPersister Ž©g‚̃TƒuƒNƒ‰ƒX‚ðŽw’肵‚½‚èA
- ‚Ü‚½—Ⴆ‚΃XƒgƒAƒhƒvƒƒV[ƒWƒƒƒR[ƒ‹Aƒtƒ‰ƒbƒgƒtƒ@ƒCƒ‹‚ÖƒVƒŠƒAƒ‰ƒCƒYA
- LDAP‚È‚Ç‚ð’Ê‚µ‚½‰i‘±«‚ðŽÀ‘•‚·‚é org.hibernate.persister.ClassPersister
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌŠ®‘S‚ÉV‚µ‚¢ŽÀ‘•‚ð’ñ‹Ÿ‚Å‚«‚Ü‚·BŠÈ’P‚È—á‚Æ‚µ‚Ä org.hibernate.test.CustomPersister
- ‚ðŒ©‚Ä‚‚¾‚³‚¢i‚±‚ê‚Í Hashtable ‚Ìu‰i‘±‰»v‚Å‚·jB
+ persister 属性を指定ã™ã‚‹ã“ã¨ã§ã€ã‚¯ãƒ©ã‚¹ã®æ°¸ç¶šåŒ–戦略をカスタマイズã§ãã¾ã™ã€‚
+ 例ãˆã° org.hibernate.persister.EntityPersister 自身ã®ã‚µãƒ–クラスを指定ã—ãŸã‚Šã€
+ ã¾ãŸä¾‹ãˆã°ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚³ãƒ¼ãƒ«ã€ãƒ•ãƒ©ãƒƒãƒˆãƒ•ã‚¡ã‚¤ãƒ«ã¸ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã€
+ LDAPãªã©ã‚’通ã—ãŸæ°¸ç¶šæ€§ã‚’実装ã™ã‚‹ org.hibernate.persister.ClassPersister
+ インターフェイスã®å®Œå…¨ã«æ–°ã—ã„実装をæä¾›ã§ãã¾ã™ã€‚ç°¡å˜ãªä¾‹ã¨ã—㦠org.hibernate.test.CustomPersister
+ を見ã¦ãã ã•ã„(ã“れ㯠Hashtable ã®ã€Œæ°¸ç¶šåŒ–ã€ã§ã™ï¼‰ã€‚
- dynamic-update ‚Æ dynamic-insert ‚ÌÝ’è‚̓TƒuƒNƒ‰ƒX‚ÉŒp³‚³‚ê‚Ü‚¹‚ñB
- ‚»‚Ì‚½‚ß <subclass> ‚â <joined-subclass> —v‘f‚ðŽw’è‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B
- ‚±‚ê‚ç‚ÌÝ’è‚̓pƒtƒH[ƒ}ƒ“ƒX‚ðŒüコ‚¹‚鎖‚à‚ ‚è‚Ü‚·‚ªA—Ž‚Æ‚·‚±‚Æ‚à‚ ‚è‚Ü‚·‚Ì‚ÅATd‚ÉŽg—p‚µ‚Ä‚‚¾‚³‚¢B
+ dynamic-update 㨠dynamic-insert ã®è¨å®šã¯ã‚µãƒ–クラスã«ç¶™æ‰¿ã•ã‚Œã¾ã›ã‚“。
+ ãã®ãŸã‚ <subclass> ã‚„ <joined-subclass> è¦ç´ を指定ã™ã‚‹ã“ã¨ã‚‚出æ¥ã¾ã™ã€‚
+ ã“れらã®è¨å®šã¯ãƒ‘フォーマンスをå‘上ã•ã›ã‚‹äº‹ã‚‚ã‚ã‚Šã¾ã™ãŒã€è½ã¨ã™ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã®ã§ã€æ…Žé‡ã«ä½¿ç”¨ã—ã¦ãã ã•ã„。
- select-before-update ‚ÌŽg—p‚Í’ÊíƒpƒtƒH[ƒ}ƒ“ƒX‚ð—Ž‚Æ‚µ‚Ü‚·B
- ‚à‚µ Session ‚Ö•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚̃Oƒ‰ƒt‚ðĒljÁ‚·‚é‚È‚çA
- ƒf[ƒ^ƒx[ƒXXV‚̃gƒŠƒK‚ð•s•K—v‚ɌĂÑo‚·‚Ì‚ð”ð‚¯‚é‚Æ‚¢‚¤“_‚ÅA”ñí‚É—L—p‚Å‚·B
+ select-before-update ã®ä½¿ç”¨ã¯é€šå¸¸ãƒ‘フォーマンスをè½ã¨ã—ã¾ã™ã€‚
+ ã‚‚ã— Session ã¸åˆ†é›¢ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ã‚°ãƒ©ãƒ•ã‚’å†è¿½åŠ ã™ã‚‹ãªã‚‰ã€
+ データベース更新ã®ãƒˆãƒªã‚¬ã‚’ä¸å¿…è¦ã«å‘¼ã³å‡ºã™ã®ã‚’é¿ã‘ã‚‹ã¨ã„ã†ç‚¹ã§ã€éžå¸¸ã«æœ‰ç”¨ã§ã™ã€‚
- dynamic-update ‚ð—LŒø‚É‚·‚ê‚ÎAŠyŠÏƒƒbƒNí—ª‚ð‘I‚Ô‚±‚Æ‚É‚È‚è‚Ü‚·B
+ dynamic-update を有効ã«ã™ã‚Œã°ã€æ¥½è¦³ãƒãƒƒã‚¯æˆ¦ç•¥ã‚’é¸ã¶ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
- version ƒo[ƒWƒ‡ƒ“/ƒ^ƒCƒ€ƒXƒ^ƒ“ƒvƒJƒ‰ƒ€‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·
+ version ãƒãƒ¼ã‚¸ãƒ§ãƒ³/タイムスタンプカラムをãƒã‚§ãƒƒã‚¯ã—ã¾ã™
- all ‚·‚ׂẴJƒ‰ƒ€‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
+ all ã™ã¹ã¦ã®ã‚«ãƒ©ãƒ ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚
- dirty •ÏX‚µ‚½ƒJƒ‰ƒ€‚ðƒ`ƒFƒbƒN‚µA“¯ŽžXV‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B
+ dirty 変更ã—ãŸã‚«ãƒ©ãƒ ã‚’ãƒã‚§ãƒƒã‚¯ã—ã€åŒæ™‚æ›´æ–°ã§ãるよã†ã«ã—ã¾ã™ã€‚
- none ŠyŠÏƒƒbƒN‚ðŽg—p‚µ‚Ü‚¹‚ñ
+ none 楽観ãƒãƒƒã‚¯ã‚’使用ã—ã¾ã›ã‚“
- Hibernate‚ÅŠyŠÏ“IƒƒbƒNí—ª‚ðŽg‚¤‚È‚çAƒo[ƒWƒ‡ƒ“/ƒ^ƒCƒ€ƒXƒ^ƒ“ƒvƒJƒ‰ƒ€‚ðŽg‚¤‚±‚Æ‚ð
- ”ñí‚É ‹‚‚¨Š©‚ß‚µ‚Ü‚·B
- ŠyŠÏ“IƒƒbƒN‚̓pƒtƒH[ƒ}ƒ“ƒX‚ÌŠÏ“_‚©‚ç‚àÅ“K‚Å‚ ‚èA‚³‚ç‚É•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚Ö‚ÌC³
- i‚‚܂è Session.marge() ‚ªŽg‚í‚ê‚é‚Æ‚«j
- ‚ð³Šm‚Ɉµ‚¤‚±‚Æ‚Ì‚Å‚«‚é—Bˆê‚Ìí—ª‚Å‚à‚ ‚è‚Ü‚·B
+ Hibernateã§æ¥½è¦³çš„ãƒãƒƒã‚¯æˆ¦ç•¥ã‚’使ã†ãªã‚‰ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³/タイムスタンプカラムを使ã†ã“ã¨ã‚’
+ éžå¸¸ã« å¼·ããŠå‹§ã‚ã—ã¾ã™ã€‚
+ 楽観的ãƒãƒƒã‚¯ã¯ãƒ‘フォーマンスã®è¦³ç‚¹ã‹ã‚‰ã‚‚最é©ã§ã‚ã‚Šã€ã•ã‚‰ã«åˆ†é›¢ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¸ã®ä¿®æ£
+ (ã¤ã¾ã‚Š Session.marge() ãŒä½¿ã‚れるã¨ã)
+ ã‚’æ£ç¢ºã«æ‰±ã†ã“ã¨ã®ã§ãる唯一ã®æˆ¦ç•¥ã§ã‚‚ã‚ã‚Šã¾ã™ã€‚
- Hibernate‚̃}ƒbƒsƒ“ƒO‚É‚Æ‚Á‚ărƒ…[‚Æ•’ʂ̃e[ƒuƒ‹‚̊ԂɈႢ‚Í‚È‚A
- ƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚Å‚Í“§‰ß“I‚Å‚·
- i‚½‚¾‚µƒrƒ…[‚ðŠ®‘S‚ɂ̓Tƒ|[ƒg‚µ‚Ä‚¢‚È‚¢DBMS‚à‚ ‚è‚Ü‚·B
- “Á‚ÉAXV‚Ì‚ ‚éƒrƒ…[‚ɑ΂µ‚Ä‚Í‚»‚¤‚Å‚·jB
- ƒrƒ…[‚ðŽg‚¢‚½‚‚Ä‚àAƒf[ƒ^ƒx[ƒX‚Å쬂ł«‚È‚¢‚±‚Æ‚ª‚ ‚è‚Ü‚·
- i—Ⴆ‚ÎAƒŒƒKƒV[ƒXƒL[ƒ}‚Ìê‡jB
- ‚±‚ÌꇂɂÍA•s•Ï‚©‚“ǂݎæ‚èê—p‚̃Gƒ“ƒeƒBƒeƒB‚É—^‚¦‚ç‚ꂽSQL‚Ì•›–⇂¹•¶‚ðƒ}ƒbƒv‚Å‚«‚Ü‚·B
+ Hibernateã®ãƒžãƒƒãƒ”ングã«ã¨ã£ã¦ãƒ“ューã¨æ™®é€šã®ãƒ†ãƒ¼ãƒ–ルã®é–“ã«é•ã„ã¯ãªãã€
+ データベースレベルã§ã¯é€éŽçš„ã§ã™
+ (ãŸã ã—ビューを完全ã«ã¯ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ãªã„DBMSã‚‚ã‚ã‚Šã¾ã™ã€‚
+ 特ã«ã€æ›´æ–°ã®ã‚るビューã«å¯¾ã—ã¦ã¯ãã†ã§ã™ï¼‰ã€‚
+ ビューを使ã„ãŸãã¦ã‚‚ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ä½œæˆã§ããªã„ã“ã¨ãŒã‚ã‚Šã¾ã™
+ (例ãˆã°ã€ãƒ¬ã‚¬ã‚·ãƒ¼ã‚¹ã‚ーマã®å ´åˆï¼‰ã€‚
+ ã“ã®å ´åˆã«ã¯ã€ä¸å¤‰ã‹ã¤èªã¿å–り専用ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«ä¸Žãˆã‚‰ã‚ŒãŸSQLã®å‰¯å•åˆã›æ–‡ã‚’マップã§ãã¾ã™ã€‚
@@ -581,10 +582,10 @@
]]>
- ƒe[ƒuƒ‹‚ð‚±‚ÌƒGƒ“ƒeƒBƒeƒB‚Æ“¯Šú‚·‚é‚悤‚É’è‹`‚µ‚Ä‚‚¾‚³‚¢B
- ƒI[ƒgƒtƒ‰ƒbƒVƒ…‚ªŠmŽÀ‚É‹N‚±‚é‚悤‚ÉA‚Ü‚½“±oƒGƒ“ƒeƒBƒeƒB‚ɑ΂·‚éƒNƒGƒŠ‚ªŒÃ‚¢ƒf[ƒ^‚ð
- •Ô‚³‚È‚¢‚悤‚É‚·‚邽‚ß‚Å‚·B
- <subselect> ‚Í‘®«‚ƃlƒXƒg‚µ‚½ƒ}ƒbƒsƒ“ƒO‘®«‚Ì‚Ç‚¿‚ç‚Å‚à—˜—p‚Å‚«‚Ü‚·B
+ テーブルをã“ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¨åŒæœŸã™ã‚‹ã‚ˆã†ã«å®šç¾©ã—ã¦ãã ã•ã„。
+ オートフラッシュãŒç¢ºå®Ÿã«èµ·ã“るよã†ã«ã€ã¾ãŸå°Žå‡ºã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«å¯¾ã™ã‚‹ã‚¯ã‚¨ãƒªãŒå¤ã„データを
+ è¿”ã•ãªã„よã†ã«ã™ã‚‹ãŸã‚ã§ã™ã€‚
+ <subselect> ã¯å±žæ€§ã¨ãƒã‚¹ãƒˆã—ãŸãƒžãƒƒãƒ”ング属性ã®ã©ã¡ã‚‰ã§ã‚‚利用ã§ãã¾ã™ã€‚
@@ -593,9 +594,9 @@
id
- ƒ}ƒbƒv‚³‚ꂽƒNƒ‰ƒX‚̓f[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ÌŽåƒL[ƒJƒ‰ƒ€‚ð’è‹` ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ B
- ‚Ù‚Æ‚ñ‚ǂ̃Nƒ‰ƒX‚ɂ̓Cƒ“ƒXƒ^ƒ“ƒX‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚ð•ÛŽ‚·‚éJavaBeansƒXƒ^ƒCƒ‹‚̃vƒƒpƒeƒB‚à‚ ‚è‚Ü‚·B
- <id> —v‘f‚ÍA‚»‚̃vƒƒpƒeƒB‚©‚çŽåƒL[ƒJƒ‰ƒ€‚ւ̃}ƒbƒsƒ“ƒO‚ð’è‹`‚µ‚Ü‚·B
+ マップã•ã‚ŒãŸã‚¯ãƒ©ã‚¹ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ†ãƒ¼ãƒ–ルã®ä¸»ã‚ーカラムを定義 ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“ 。
+ ã»ã¨ã‚“ã©ã®ã‚¯ãƒ©ã‚¹ã«ã¯ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªè˜åˆ¥åã‚’ä¿æŒã™ã‚‹JavaBeansスタイルã®ãƒ—ãƒãƒ‘ティもã‚ã‚Šã¾ã™ã€‚
+ <id> è¦ç´ ã¯ã€ãã®ãƒ—ãƒãƒ‘ティã‹ã‚‰ä¸»ã‚ーカラムã¸ã®ãƒžãƒƒãƒ”ングを定義ã—ã¾ã™ã€‚
@@ -619,60 +620,60 @@
- nameiƒIƒvƒVƒ‡ƒ“jFŽ¯•ÊŽqƒvƒƒpƒeƒB‚Ì–¼‘OB
+ name(オプション):è˜åˆ¥åプãƒãƒ‘ティã®åå‰ã€‚
- typeiƒIƒvƒVƒ‡ƒ“jFHibernate‚ÌŒ^‚ðŽ¦‚·–¼‘OB
+ type(オプション):Hibernateã®åž‹ã‚’示ã™åå‰ã€‚
- columniƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jF
- ŽåƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
+ column(オプション - デフォルトã¯ãƒ—ãƒãƒ‘ティå):
+ 主ã‚ーカラムã®åå‰ã€‚
- unsaved-valueiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Ì’l‚ÍsensiblejF
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ªV‚µ‚ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ
- iƒZ[ƒu‚³‚ê‚Ä‚¢‚È‚¢j‚±‚Æ‚ðŽ¦‚·AŽ¯•ÊŽqƒvƒƒpƒeƒB‚Ì’lB
- ˆÈ‘O‚ÌSession‚ŃZ[ƒu‚Ü‚½‚̓[ƒh‚³‚ꂽˆêŽž“IƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‹æ•Ê‚·‚邽‚ß‚É
- Žg‚¢‚Ü‚·B
+ unsaved-value(オプション - デフォルトã®å€¤ã¯sensible):
+ インスタンスãŒæ–°ã—ãインスタンス化ã•ã‚ŒãŸ
+ (セーブã•ã‚Œã¦ã„ãªã„)ã“ã¨ã‚’示ã™ã€è˜åˆ¥åプãƒãƒ‘ティã®å€¤ã€‚
+ 以å‰ã®Sessionã§ã‚»ãƒ¼ãƒ–ã¾ãŸã¯ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸä¸€æ™‚的インスタンスã¨åŒºåˆ¥ã™ã‚‹ãŸã‚ã«
+ 使ã„ã¾ã™ã€‚
- accessiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ÖƒAƒNƒZƒX‚·‚邽‚ß‚ÉHibernate‚ªŽg‚¤í—ª‚Å‚·B
+ access(オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã§ã™ã€‚
- name ‘®«‚ª‚È‚¯‚ê‚ÎAƒNƒ‰ƒX‚É‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚ª‚È‚¢‚à‚Ì‚Æ‚Ý‚È‚³‚ê‚Ü‚·B
+ name 属性ãŒãªã‘ã‚Œã°ã€ã‚¯ãƒ©ã‚¹ã«ã¯è˜åˆ¥åプãƒãƒ‘ティãŒãªã„ã‚‚ã®ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚
- unsaved-value ‘®«‚ÍHibernate3‚Å‚Í‚Ù‚Æ‚ñ‚Ç‚Ìê‡A•K—v‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+ unsaved-value 属性ã¯Hibernate3ã§ã¯ã»ã¨ã‚“ã©ã®å ´åˆã€å¿…è¦ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
- •¡‡ƒL[‚ðŽ‚ƒŒƒKƒV[ƒf[ƒ^‚ɃAƒNƒZƒX‚Å‚«‚é‚悤‚ÉA
- <composite-id> ‚Æ‚¢‚¤‘ã‘ւ̃}ƒbƒsƒ“ƒO’è‹`‚ª‚ ‚è‚Ü‚·B
- ‚µ‚©‚µ‘¼‚Ì—p“r‚Ö‚ÌŽg—p‚Í‘S‚‚¨‚·‚·‚ß‚Å‚«‚Ü‚¹‚ñB
+ 複åˆã‚ーをæŒã¤ãƒ¬ã‚¬ã‚·ãƒ¼ãƒ‡ãƒ¼ã‚¿ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ã€
+ <composite-id> ã¨ã„ã†ä»£æ›¿ã®ãƒžãƒƒãƒ”ング定義ãŒã‚ã‚Šã¾ã™ã€‚
+ ã—ã‹ã—ä»–ã®ç”¨é€”ã¸ã®ä½¿ç”¨ã¯å…¨ããŠã™ã™ã‚ã§ãã¾ã›ã‚“。
- ƒWƒFƒlƒŒ[ƒ^
+ ジェãƒãƒ¬ãƒ¼ã‚¿
- ƒIƒvƒVƒ‡ƒ“‚Ì <generator> Žq—v‘f‚ÍA
- ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚𶬂·‚邽‚ß‚ÉŽg‚¤AJavaƒNƒ‰ƒX‚ðŽw’肵‚Ü‚·B
- ƒWƒFƒlƒŒ[ƒ^ƒCƒ“ƒXƒ^ƒ“ƒX‚ÌÝ’èA‚à‚µ‚‚͉Šú‰»‚Ƀpƒ‰ƒ[ƒ^‚ª•K—v‚Å‚ ‚ê‚ÎA<param>
- —v‘f‚ðŽg‚Á‚Ä“n‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ オプション㮠<generator> åè¦ç´ ã¯ã€
+ 永続クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªè˜åˆ¥åを生æˆã™ã‚‹ãŸã‚ã«ä½¿ã†ã€Javaクラスを指定ã—ã¾ã™ã€‚
+ ジェãƒãƒ¬ãƒ¼ã‚¿ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®è¨å®šã€ã‚‚ã—ãã¯åˆæœŸåŒ–ã«ãƒ‘ラメータãŒå¿…è¦ã§ã‚ã‚Œã°ã€<param>
+ è¦ç´ を使ã£ã¦æ¸¡ã™ã“ã¨ãŒã§ãã¾ã™ã€‚
@@ -683,11 +684,11 @@
]]>
- ‚·‚ׂẴWƒFƒlƒŒ[ƒ^‚ÍAƒCƒ“ƒ^[ƒtƒFƒCƒX
- org.hibernate.id.IdentifierGenerator ‚ðŽÀ‘•‚µ‚Ü‚·B
- ‚±‚ê‚Í‚Æ‚Ä‚à’Pƒ‚ȃCƒ“ƒ^[ƒtƒFƒCƒX‚È‚Ì‚ÅA“Á•Ê‚ÈŽÀ‘•‚ð“ÆŽ©‚É—pˆÓ‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚à‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚µ‚©‚µHibernate‚Í‘g‚Ýž‚Ý‚ÌŽÀ‘•‚ð‚¢‚‚‚à—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
- ‘g‚Ýž‚݂̃WƒFƒlƒŒ[ƒ^‚ɂ͈ȉº‚̃Vƒ‡[ƒgƒJƒbƒg–¼‚ª‚ ‚è‚Ü‚·F
+ ã™ã¹ã¦ã®ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹
+ org.hibernate.id.IdentifierGenerator を実装ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ã¨ã¦ã‚‚å˜ç´”ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ãªã®ã§ã€ç‰¹åˆ¥ãªå®Ÿè£…を独自ã«ç”¨æ„ã™ã‚‹ã‚¢ãƒ—リケーションもã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã—ã‹ã—Hibernateã¯çµ„ã¿è¾¼ã¿ã®å®Ÿè£…ã‚’ã„ãã¤ã‚‚用æ„ã—ã¦ã„ã¾ã™ã€‚
+ 組ã¿è¾¼ã¿ã®ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã«ã¯ä»¥ä¸‹ã®ã‚·ãƒ§ãƒ¼ãƒˆã‚«ãƒƒãƒˆåãŒã‚ã‚Šã¾ã™ï¼š
@@ -695,9 +696,9 @@
long , short ,
- int Œ^‚ÌŽ¯•ÊŽq‚𶬂µ‚Ü‚·B
- ‚±‚ê‚ç‚Í‘¼‚̃vƒƒZƒX‚ª“¯‚¶ƒe[ƒuƒ‹‚Ƀf[ƒ^‚ð‘}“ü‚µ‚È‚¢‚Æ‚«‚¾‚¯ƒ†ƒj[ƒN‚Å‚·B
- ƒNƒ‰ƒXƒ^“à‚Å‚ÍŽg‚í‚È‚¢‚Å‚‚¾‚³‚¢ B
+ int åž‹ã®è˜åˆ¥åを生æˆã—ã¾ã™ã€‚
+ ã“れらã¯ä»–ã®ãƒ—ãƒã‚»ã‚¹ãŒåŒã˜ãƒ†ãƒ¼ãƒ–ルã«ãƒ‡ãƒ¼ã‚¿ã‚’挿入ã—ãªã„ã¨ãã ã‘ユニークã§ã™ã€‚
+ クラスタ内ã§ã¯ä½¿ã‚ãªã„ã§ãã ã•ã„ 。
@@ -705,10 +706,10 @@
identity
- DB2, MySQL, MS SQL Server, Sybase, HypersonicSQL‚ÌŽ¯•ÊŽqƒJƒ‰ƒ€‚ð
- ƒTƒ|[ƒg‚µ‚Ü‚·B
- •Ô‚³‚ê‚鎯•ÊŽq‚ÌŒ^‚Í long , short ,
- int ‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+ DB2, MySQL, MS SQL Server, Sybase, HypersonicSQLã®è˜åˆ¥åカラムを
+ サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
+ è¿”ã•ã‚Œã‚‹è˜åˆ¥åã®åž‹ã¯ long , short ,
+ int ã®ã„ãšã‚Œã‹ã§ã™ã€‚
@@ -716,9 +717,9 @@
sequence
- DB2, PostgreSQL, Oracle, SAP DB, McKoi‚̃V[ƒPƒ“ƒX‚âAInterbase‚̃WƒFƒlƒŒ[ƒ^‚ðŽg—p‚µ‚Ü‚·B
- •Ô‚³‚ê‚鎯•ÊŽq‚ÌŒ^‚Í long , short ,
- int ‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+ DB2, PostgreSQL, Oracle, SAP DB, McKoiã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚„ã€Interbaseã®ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã‚’使用ã—ã¾ã™ã€‚
+ è¿”ã•ã‚Œã‚‹è˜åˆ¥åã®åž‹ã¯ long , short ,
+ int ã®ã„ãšã‚Œã‹ã§ã™ã€‚
@@ -727,11 +728,11 @@
long , short ,
- int Œ^‚ÌŽ¯•ÊŽq‚ðŒø—¦“I‚ɶ¬‚·‚éhi/loƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg‚¢‚Ü‚·B
- hi’l‚̃\[ƒX‚Æ‚µ‚ÄAƒe[ƒuƒ‹‚ƃJƒ‰ƒ€‚ð—^‚¦‚Ü‚·(ƒfƒtƒHƒ‹ƒg‚Å‚Í‚»‚ꂼ‚ê hibernate_unique_key ‚Æ
- next_hi )B
+ int åž‹ã®è˜åˆ¥åを効率的ã«ç”Ÿæˆã™ã‚‹hi/loアルゴリズムを使ã„ã¾ã™ã€‚
+ hi値ã®ã‚½ãƒ¼ã‚¹ã¨ã—ã¦ã€ãƒ†ãƒ¼ãƒ–ルã¨ã‚«ãƒ©ãƒ を与ãˆã¾ã™(デフォルトã§ã¯ãã‚Œãžã‚Œ hibernate_unique_key ã¨
+ next_hi )。
- hi/loƒAƒ‹ƒSƒŠƒYƒ€‚Í“Á’è‚̃f[ƒ^ƒx[ƒX‚ɑ΂µ‚Ă̂݃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚𶬂µ‚Ü‚·B
+ hi/loアルゴリズムã¯ç‰¹å®šã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å¯¾ã—ã¦ã®ã¿ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªè˜åˆ¥åを生æˆã—ã¾ã™ã€‚
@@ -740,8 +741,8 @@
long , short ,
- int Œ^‚ÌŽ¯•ÊŽq‚ðŒø—¦“I‚ɶ¬‚·‚éhi/loƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg‚¢‚Ü‚·B
- Žw’肳‚ꂽƒf[ƒ^ƒx[ƒXƒV[ƒPƒ“ƒX‚ð—^‚¦‚Ü‚·B
+ int åž‹ã®è˜åˆ¥åを効率的ã«ç”Ÿæˆã™ã‚‹hi/loアルゴリズムを使ã„ã¾ã™ã€‚
+ 指定ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’与ãˆã¾ã™ã€‚
@@ -750,8 +751,8 @@
uuid
- (IPƒAƒhƒŒƒX‚ªŽg—p‚³‚ê‚é)ƒlƒbƒgƒ[ƒN“à‚цƒj[ƒN‚È•¶Žš—ñŒ^‚ÌŽ¯•ÊŽq‚𶬂·‚邽‚ß‚ÉA
- 128ƒrƒbƒg‚ÌUUIDƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg—p‚µ‚Ü‚·BUUID‚Í’·‚³32‚Ì16i”Žš‚Ì•¶Žš—ñ‚Æ‚µ‚ăGƒ“ƒR[ƒh‚³‚ê‚Ü‚·B
+ (IPアドレスãŒä½¿ç”¨ã•ã‚Œã‚‹)ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯å†…ã§ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªæ–‡å—列型ã®è˜åˆ¥åを生æˆã™ã‚‹ãŸã‚ã«ã€
+ 128ビットã®UUIDアルゴリズムを使用ã—ã¾ã™ã€‚UUIDã¯é•·ã•32ã®16進数å—ã®æ–‡å—列ã¨ã—ã¦ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚
@@ -759,7 +760,7 @@
guid
- MS SQLƒT[ƒo‚ÆMySQL‚Ńf[ƒ^ƒx[ƒX‚ª¶¬‚·‚éGUID•¶Žš—ñ‚ðŽg—p‚µ‚Ü‚·B
+ MS SQLサーãƒã¨MySQLã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒç”Ÿæˆã™ã‚‹GUIDæ–‡å—列を使用ã—ã¾ã™ã€‚
@@ -767,8 +768,8 @@
native
- Žg—p‚·‚éƒf[ƒ^ƒx[ƒX‚Ì«”\‚É‚æ‚è identity , sequence ,
- hilo ‚Ì‚¢‚¸‚ê‚©‚ª‘I‚΂ê‚Ü‚·B
+ 使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ€§èƒ½ã«ã‚ˆã‚Š identity , sequence ,
+ hilo ã®ã„ãšã‚Œã‹ãŒé¸ã°ã‚Œã¾ã™ã€‚
@@ -776,9 +777,9 @@
assigned
- save() ‚ªŒÄ‚΂ê‚é‘O‚ÉA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒIƒuƒWƒFƒNƒg‚ÉŽ¯•ÊŽq‚ð‘ã“ü‚Å‚«‚é‚悤‚É‚µ‚Ü‚·B
- <generator> ‚ªŽw’肳‚ê‚Ä‚¢‚È‚¯‚ê‚ÎA‚±‚ꂪƒfƒtƒHƒ‹ƒg‚Ìí—ª‚É‚È‚è‚Ü‚·B
+ save() ãŒå‘¼ã°ã‚Œã‚‹å‰ã«ã€
+ アプリケーションãŒã‚ªãƒ–ジェクトã«è˜åˆ¥åを代入ã§ãるよã†ã«ã—ã¾ã™ã€‚
+ <generator> ãŒæŒ‡å®šã•ã‚Œã¦ã„ãªã‘ã‚Œã°ã€ã“ã‚ŒãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æˆ¦ç•¥ã«ãªã‚Šã¾ã™ã€‚
@@ -786,8 +787,8 @@
select
- ‚ ‚郆ƒj[ƒNƒL[‚É‚æ‚és‚Ì‘I‘ð‚ÆŽåƒL[‚Ì’l‚Ì•œŒ³‚É‚æ‚èA
- ƒf[ƒ^ƒx[ƒXƒgƒŠƒK‚ªŠ„‚è“–‚Ä‚½ŽåƒL[‚ðŽæ“¾‚µ‚Ü‚·B
+ ã‚るユニークã‚ーã«ã‚ˆã‚‹è¡Œã®é¸æŠžã¨ä¸»ã‚ーã®å€¤ã®å¾©å…ƒã«ã‚ˆã‚Šã€
+ データベーストリガãŒå‰²ã‚Šå½“ã¦ãŸä¸»ã‚ーをå–å¾—ã—ã¾ã™ã€‚
@@ -795,8 +796,8 @@
foreign
- ‘¼‚ÌŠÖ˜AƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ðŽg‚¢‚Ü‚·B
- •’Ê‚ÍA<one-to-one> ŽåƒL[ŠÖ˜A‚Æ‘g‚݇‚킹‚ÄŽg‚¢‚Ü‚·B
+ ä»–ã®é–¢é€£ã‚ªãƒ–ジェクトã®è˜åˆ¥åを使ã„ã¾ã™ã€‚
+ 普通ã¯ã€<one-to-one> 主ã‚ー関連ã¨çµ„ã¿åˆã‚ã›ã¦ä½¿ã„ã¾ã™ã€‚
@@ -806,14 +807,14 @@
- Hi/lo ƒAƒ‹ƒSƒŠƒYƒ€
+ Hi/lo アルゴリズãƒ
- hilo ‚Æ seqhilo ƒWƒFƒlƒŒ[ƒ^‚ÍA
- Ž¯•ÊŽq¶¬‚Ì‘ã•\“I‚ȃAƒvƒ[ƒ`‚Å‚ ‚éhi/loƒAƒ‹ƒSƒŠƒYƒ€‚Ì2‚‚̑ã‘ÖŽÀ‘•‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+ hilo 㨠seqhilo ジェãƒãƒ¬ãƒ¼ã‚¿ã¯ã€
+ è˜åˆ¥å生æˆã®ä»£è¡¨çš„ãªã‚¢ãƒ—ãƒãƒ¼ãƒã§ã‚ã‚‹hi/loアルゴリズムã®2ã¤ã®ä»£æ›¿å®Ÿè£…ã‚’æä¾›ã—ã¾ã™ã€‚
- 1”Ô–Ú‚ÌŽÀ‘•‚ÍAŽŸ‰ñ‚É—˜—p‚³‚ê‚é"hi"’l‚ð•ÛŽ‚·‚éu“Á•Ê‚Èvƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ð
- •K—v‚Æ‚µ‚Ü‚·B
- 2”Ô–Ú‚ÌŽÀ‘•‚ÍAOracleƒXƒ^ƒCƒ‹‚̃V[ƒPƒ“ƒX‚ðŽg‚¢‚Ü‚·iƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚éê‡jB
+ 1番目ã®å®Ÿè£…ã¯ã€æ¬¡å›žã«åˆ©ç”¨ã•ã‚Œã‚‹"hi"値をä¿æŒã™ã‚‹ã€Œç‰¹åˆ¥ãªã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ†ãƒ¼ãƒ–ルを
+ å¿…è¦ã¨ã—ã¾ã™ã€‚
+ 2番目ã®å®Ÿè£…ã¯ã€Oracleスタイルã®ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã‚’使ã„ã¾ã™ï¼ˆã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã‚‹å ´åˆï¼‰ã€‚
@@ -832,31 +833,31 @@
]]>
- Žc”O‚È‚ª‚çHibernate‚Ö‚Ì“ÆŽ©‚Ì Connection ‚ð’ñ‹Ÿ‚·‚é‚Æ‚«‚É‚ÍAhilo ‚ðŽg‚¦‚Ü‚¹‚ñB
- Hibernate‚ªJTA‚ŃŠƒXƒg‚³‚ê‚Ä‚¢‚éÚ‘±‚ðŽæ“¾‚·‚邽‚߂ɃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚̃f[ƒ^ƒ\[ƒX‚ðŽg—p‚µ‚Ä‚¢‚é‚Æ‚«‚É‚ÍA
- hibernate.transaction.manager_lookup_class ‚ð“KØ‚Éݒ肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ 残念ãªãŒã‚‰Hibernateã¸ã®ç‹¬è‡ªã® Connection ã‚’æä¾›ã™ã‚‹ã¨ãã«ã¯ã€hilo を使ãˆã¾ã›ã‚“。
+ HibernateãŒJTAã§ãƒªã‚¹ãƒˆã•ã‚Œã¦ã„る接続をå–å¾—ã™ã‚‹ãŸã‚ã«ã‚¢ãƒ—リケーションサーãƒãƒ¼ã®ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã‚’使用ã—ã¦ã„ã‚‹ã¨ãã«ã¯ã€
+ hibernate.transaction.manager_lookup_class ã‚’é©åˆ‡ã«è¨å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- UUID ƒAƒ‹ƒSƒŠƒYƒ€
+ UUID アルゴリズãƒ
- UUID‚ɂ͈ȉº‚Ì‚à‚Ì‚ªŠÜ‚Ü‚ê‚Ü‚·F
- IPƒAƒhƒŒƒXAJVM‚̃Xƒ^[ƒgƒAƒbƒvƒ^ƒCƒ€i4•ª‚Ì1•b‚̳Šm‚³jA
- ƒVƒXƒeƒ€ŽžŠÔAiJVM‚ɑ΂µ‚ă†ƒj[ƒN‚ÈjƒJƒEƒ“ƒ^’lB
- JavaƒR[ƒh‚©‚çMACƒAƒhƒŒƒX‚⃃‚ƒŠƒAƒhƒŒƒX‚ðŽæ“¾‚·‚邱‚Æ‚Í‚Å‚«‚È‚¢‚Ì‚ÅA
- JNI‚ªŽg‚¦‚È‚¢‚Æ‚«‚ÌÅ—Ç‚Ì•û–@‚Å‚·B
+ UUIDã«ã¯ä»¥ä¸‹ã®ã‚‚ã®ãŒå«ã¾ã‚Œã¾ã™ï¼š
+ IPアドレスã€JVMã®ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—タイム(4分ã®1秒ã®æ£ç¢ºã•ï¼‰ã€
+ システム時間ã€ï¼ˆJVMã«å¯¾ã—ã¦ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªï¼‰ã‚«ã‚¦ãƒ³ã‚¿å€¤ã€‚
+ Javaコードã‹ã‚‰MACアドレスやメモリアドレスをå–å¾—ã™ã‚‹ã“ã¨ã¯ã§ããªã„ã®ã§ã€
+ JNIãŒä½¿ãˆãªã„ã¨ãã®æœ€è‰¯ã®æ–¹æ³•ã§ã™ã€‚
- Ž¯•ÊŽqƒJƒ‰ƒ€‚ƃV[ƒPƒ“ƒX
+ è˜åˆ¥åカラムã¨ã‚·ãƒ¼ã‚±ãƒ³ã‚¹
- Ž¯•ÊŽqƒJƒ‰ƒ€‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒXiDB2, MySQL, Sybase, MS SQLj‚Å‚ÍA
- identity ƒL[¶¬‚ðŽg‚¦‚Ü‚·B
- ƒV[ƒPƒ“ƒX‚ðƒTƒ|[ƒg‚·‚éƒf[ƒ^ƒx[ƒXiDB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DBj‚Å‚ÍA
- sequence ƒXƒ^ƒCƒ‹‚̃L[¶¬‚ðŽg‚¦‚Ü‚·B
- ‚Ç‚¿‚ç‚Ìí—ª‚àAV‚µ‚¢ƒIƒuƒWƒFƒNƒg‚ð‘}“ü‚·‚邽‚ß‚ÉASQLƒNƒGƒŠ‚ð2‚•K—v‚Æ‚µ‚Ü‚·B
+ è˜åˆ¥åカラムをサãƒãƒ¼ãƒˆã—ã¦ã„るデータベース(DB2, MySQL, Sybase, MS SQL)ã§ã¯ã€
+ identity ã‚ー生æˆã‚’使ãˆã¾ã™ã€‚
+ シーケンスをサãƒãƒ¼ãƒˆã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ï¼ˆDB2, Oracle, PostgreSQL, Interbase, McKoi, SAP DB)ã§ã¯ã€
+ sequence スタイルã®ã‚ー生æˆã‚’使ãˆã¾ã™ã€‚
+ ã©ã¡ã‚‰ã®æˆ¦ç•¥ã‚‚ã€æ–°ã—ã„オブジェクトを挿入ã™ã‚‹ãŸã‚ã«ã€SQLクエリを2ã¤å¿…è¦ã¨ã—ã¾ã™ã€‚
@@ -870,36 +871,36 @@
]]>
- ƒNƒƒXƒvƒ‰ƒbƒgƒtƒH[ƒ€‚ÌŠJ”‚Å‚ÍAnative í—ª‚Í
+ クãƒã‚¹ãƒ—ラットフォームã®é–‹ç™ºã§ã¯ã€native 戦略ã¯
identity , sequence ,
- hilo í—ª‚Ì’†‚©‚ç1‚‚ð‘I‘ð‚µ‚Ü‚·‚ªA
- ‚±‚ê‚ÍŽg—p‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚Ì”\—͂Ɉˑ¶‚µ‚Ü‚·B
+ hilo 戦略ã®ä¸ã‹ã‚‰1ã¤ã‚’é¸æŠžã—ã¾ã™ãŒã€
+ ã“ã‚Œã¯ä½¿ç”¨ã—ã¦ã„るデータベースã®èƒ½åŠ›ã«ä¾å˜ã—ã¾ã™ã€‚
- Ž¯•ÊŽq‚ÌŠ„‚è“–‚Ä
+ è˜åˆ¥åã®å‰²ã‚Šå½“ã¦
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉŽ¯•ÊŽq‚ðŠ„‚è“–‚Ä‚³‚¹‚½‚¢‚Ì‚Å‚ ‚ê‚Î(Hibernate‚ª¶¬‚·‚é‚à‚Ì‚Å‚Í‚È‚jA
- assigned ƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚±‚Ì“Á•Ê‚ȃWƒFƒlƒŒ[ƒ^‚ÍA‚·‚łɃIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽqƒvƒƒpƒeƒB‚É‘ã“ü‚³‚ꂽ’l‚ð
- Ž¯•ÊŽq‚ÉŽg‚¢‚Ü‚·B‚±‚̃WƒFƒlƒŒ[ƒ^‚ÍŽåƒL[‚ª‘ã—ƒL[‚Ì‘ã‚í‚è‚ÉŽ©‘RƒL[‚Å‚ ‚éꇂɎg—p‚µ‚Ü‚·B
- <generator> —v‘f‚ðŽw’肵‚È‚¢ê‡‚̃fƒtƒHƒ‹ƒg‚Ì“®ì‚É‚È‚è‚Ü‚·B
+ アプリケーションã«è˜åˆ¥åを割り当ã¦ã•ã›ãŸã„ã®ã§ã‚ã‚Œã°(HibernateãŒç”Ÿæˆã™ã‚‹ã‚‚ã®ã§ã¯ãªã)ã€
+ assigned ジェãƒãƒ¬ãƒ¼ã‚¿ã‚’使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã“ã®ç‰¹åˆ¥ãªã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã¯ã€ã™ã§ã«ã‚ªãƒ–ジェクトã®è˜åˆ¥åプãƒãƒ‘ティã«ä»£å…¥ã•ã‚ŒãŸå€¤ã‚’
+ è˜åˆ¥åã«ä½¿ã„ã¾ã™ã€‚ã“ã®ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã¯ä¸»ã‚ーãŒä»£ç†ã‚ーã®ä»£ã‚ã‚Šã«è‡ªç„¶ã‚ーã§ã‚ã‚‹å ´åˆã«ä½¿ç”¨ã—ã¾ã™ã€‚
+ <generator> è¦ç´ を指定ã—ãªã„å ´åˆã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å‹•ä½œã«ãªã‚Šã¾ã™ã€‚
- assigned ƒWƒFƒlƒŒ[ƒ^‚ð‘I‘ð‚·‚é‚ÆA
- Hibernate‚Í unsaved-value="undefined" ‚ðŽg—p‚µ‚Ü‚·B
- ‚»‚µ‚ÄAƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚ª‚È‚¢ê‡‚â Interceptor.isUnsaved()
- ‚ð’è‹`‚µ‚È‚©‚Á‚½ê‡‚É‚ÍAƒCƒ“ƒXƒ^ƒ“ƒX‚ªˆêŽž“I(transient)‚È‚à‚Ì‚Å‚ ‚é‚Ì‚©A
- ‚Ü‚½‚̓ZƒbƒVƒ‡ƒ“‚©‚番—£(detached)‚µ‚½‚à‚Ì‚©‚Ç‚¤‚©‚ðŒˆ‚ß‚é‚½‚ß‚ÉAƒf[ƒ^ƒx[ƒX‚𒲂ׂ܂·B
+ assigned ジェãƒãƒ¬ãƒ¼ã‚¿ã‚’é¸æŠžã™ã‚‹ã¨ã€
+ Hibernate㯠unsaved-value="undefined" を使用ã—ã¾ã™ã€‚
+ ãã—ã¦ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚„タイムスタンプã®ãƒ—ãƒãƒ‘ティãŒãªã„å ´åˆã‚„ Interceptor.isUnsaved()
+ を定義ã—ãªã‹ã£ãŸå ´åˆã«ã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒä¸€æ™‚çš„(transient)ãªã‚‚ã®ã§ã‚ã‚‹ã®ã‹ã€
+ ã¾ãŸã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‹ã‚‰åˆ†é›¢(detached)ã—ãŸã‚‚ã®ã‹ã©ã†ã‹ã‚’決ã‚ã‚‹ãŸã‚ã«ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’調ã¹ã¾ã™ã€‚
- ƒgƒŠƒK‚É‚æ‚芄‚è“–‚Ä‚ç‚ꂽŽåƒL[
+ トリガã«ã‚ˆã‚Šå‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸä¸»ã‚ー
- ƒŒƒKƒV[ƒXƒL[ƒ}‚Ì‚½‚ß‚É‚Ì‚ÝŽw’肵‚Ü‚·(Hibernate‚̓gƒŠƒK‚ðŽg‚Á‚ÄDDL‚𶬂µ‚Ü‚¹‚ñ)B
+ レガシースã‚ーマã®ãŸã‚ã«ã®ã¿æŒ‡å®šã—ã¾ã™(Hibernateã¯ãƒˆãƒªã‚¬ã‚’使ã£ã¦DDLを生æˆã—ã¾ã›ã‚“)。
@@ -909,9 +910,9 @@
]]>
- ã‚Ì—á‚Ì’†‚ÅAƒNƒ‰ƒX‚ÅŽ©‘RƒL[‚Æ‚µ‚Ä’è‹`‚³‚ꂽ
- socialSecurityNumber ‚Æ‚¢‚¤–¼‘O‚̃†ƒj[ƒN‚È’l‚̃vƒƒpƒeƒB‚ÆA
- ’l‚ªƒgƒŠƒK‚É‚æ‚趬‚³‚ê‚é person_id ‚Æ‚¢‚¤–¼‘O‚Ì‘ã—ƒL[‚ª‚ ‚è‚Ü‚·B
+ 上ã®ä¾‹ã®ä¸ã§ã€ã‚¯ãƒ©ã‚¹ã§è‡ªç„¶ã‚ーã¨ã—ã¦å®šç¾©ã•ã‚ŒãŸ
+ socialSecurityNumber ã¨ã„ã†åå‰ã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªå€¤ã®ãƒ—ãƒãƒ‘ティã¨ã€
+ 値ãŒãƒˆãƒªã‚¬ã«ã‚ˆã‚Šç”Ÿæˆã•ã‚Œã‚‹ person_id ã¨ã„ã†åå‰ã®ä»£ç†ã‚ーãŒã‚ã‚Šã¾ã™ã€‚
@@ -934,11 +935,11 @@
]]>
- •¡‡ƒL[‚Ì‚ ‚éƒe[ƒuƒ‹‚ɑ΂µA
- Ž¯•ÊŽqƒvƒƒpƒeƒB‚Æ‚µ‚ăNƒ‰ƒX‚Ì•¡”‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- <composite-id> —v‘f‚ÍAŽq—v‘f‚Æ‚µ‚Ä
- <key-property> ƒvƒƒpƒeƒBƒ}ƒbƒsƒ“ƒO‚Æ
- <key-many-to-one> ƒ}ƒbƒsƒ“ƒO‚ðŽó‚¯“ü‚ê‚Ü‚·B
+ 複åˆã‚ーã®ã‚るテーブルã«å¯¾ã—ã€
+ è˜åˆ¥åプãƒãƒ‘ティã¨ã—ã¦ã‚¯ãƒ©ã‚¹ã®è¤‡æ•°ã®ãƒ—ãƒãƒ‘ティをマッピングã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ <composite-id> è¦ç´ ã¯ã€åè¦ç´ ã¨ã—ã¦
+ <key-property> プãƒãƒ‘ティマッピングã¨
+ <key-many-to-one> マッピングをå—ã‘入れã¾ã™ã€‚
@@ -947,27 +948,27 @@
]]>
- •¡‡Ž¯•ÊŽq‚Ì“™‰¿«‚ðŽÀ‘•‚·‚邽‚ß‚É‚ÍA‰i‘±ƒNƒ‰ƒX‚ª equals() ‚Æ
- hashCode() ‚ðƒI[ƒo[ƒ‰ƒCƒh ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ B
- ‚Ü‚½ Serializable ‚àŽÀ‘•‚µ‚È‚¯‚ê‚΂¢‚¯‚Ü‚¹‚ñB
+ 複åˆè˜åˆ¥åã®ç‰ä¾¡æ€§ã‚’実装ã™ã‚‹ãŸã‚ã«ã¯ã€æ°¸ç¶šã‚¯ãƒ©ã‚¹ãŒ equals() ã¨
+ hashCode() をオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“ 。
+ ã¾ãŸ Serializable も実装ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。
- Žc”O‚È‚ª‚ç•¡‡Ž¯•ÊŽq‚Ì‚½‚ß‚Ì‚±‚Ì•û–@‚ÍA
- ‰i‘±ƒIƒuƒWƒFƒNƒg‚ªŽ©g‚ÌŽ¯•ÊŽq‚Å‚ ‚邱‚Æ‚ðˆÓ–¡‚µ‚Ä‚¢‚Ü‚·B
- ƒIƒuƒWƒFƒNƒgŽ©g‚ðŽ¯•ÊŽq‚Æ‚·‚éˆÈã‚Ì•Ö—˜‚Èuˆµ‚¢•ûv‚Í‚ ‚è‚Ü‚¹‚ñB
- •¡‡ƒL[‚ÉŠÖ˜A‚µ‚½‰i‘±ó‘Ô‚ð load() o—ˆ‚é‚悤‚É‚È‚é‘O‚ÉA
- ‰i‘±ƒNƒ‰ƒXŽ©g‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚µAŽ¯•ÊŽqƒvƒƒpƒeƒB‚ðݒ肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‘g‚Ýž‚Ý‚Ì •¡‡Ž¯•ÊŽq‚ƌĂ΂ê‚邱‚̃Aƒvƒ[ƒ`‚ÍA
- –{Ši“I‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÍŒü‚¢‚Ä‚¢‚Ü‚¹‚ñB
+ 残念ãªãŒã‚‰è¤‡åˆè˜åˆ¥åã®ãŸã‚ã®ã“ã®æ–¹æ³•ã¯ã€
+ 永続オブジェクトãŒè‡ªèº«ã®è˜åˆ¥åã§ã‚ã‚‹ã“ã¨ã‚’æ„味ã—ã¦ã„ã¾ã™ã€‚
+ オブジェクト自身をè˜åˆ¥åã¨ã™ã‚‹ä»¥ä¸Šã®ä¾¿åˆ©ãªã€Œæ‰±ã„æ–¹ã€ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 複åˆã‚ーã«é–¢é€£ã—ãŸæ°¸ç¶šçŠ¶æ…‹ã‚’ load() 出æ¥ã‚‹ã‚ˆã†ã«ãªã‚‹å‰ã«ã€
+ 永続クラス自身をインスタンス化ã—ã€è˜åˆ¥åプãƒãƒ‘ティをè¨å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ 組ã¿è¾¼ã¿ã® 複åˆè˜åˆ¥åã¨å‘¼ã°ã‚Œã‚‹ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã¯ã€
+ æœ¬æ ¼çš„ãªã‚¢ãƒ—リケーションã«ã¯å‘ã„ã¦ã„ã¾ã›ã‚“。
- 2‚–ڂ̕û–@‚Í ƒ}ƒbƒv‚³‚ꂽ •¡‡Ž¯•ÊŽq‚ƌĂ΂ê‚é‚à‚Ì‚ÅA
- <composite-id>ƒGƒŒƒƒ“ƒg“à‚ÅŽw’肵‚½Ž¯•ÊƒvƒƒpƒeƒB‚ª
- ‰i‘±ƒNƒ‰ƒX‚Æ•ª—£‚µ‚½Ž¯•ÊŽqƒNƒ‰ƒX‚Ì—¼•û‚Éd•¡‚µ‚Ä‘¶Ý‚µ‚Ü‚·B
+ 2ã¤ç›®ã®æ–¹æ³•ã¯ マップã•ã‚ŒãŸ 複åˆè˜åˆ¥åã¨å‘¼ã°ã‚Œã‚‹ã‚‚ã®ã§ã€
+ <composite-id>エレメント内ã§æŒ‡å®šã—ãŸè˜åˆ¥ãƒ—ãƒãƒ‘ティãŒ
+ 永続クラスã¨åˆ†é›¢ã—ãŸè˜åˆ¥åクラスã®ä¸¡æ–¹ã«é‡è¤‡ã—ã¦å˜åœ¨ã—ã¾ã™ã€‚
@@ -976,65 +977,65 @@
]]>
- ‚±‚Ì—á‚Å‚ÍA•¡‡Ž¯•ÊŽqƒNƒ‰ƒXi MedicareId j‚ƃGƒ“ƒeƒBƒeƒBƒNƒ‰ƒXŽ©g‚Ì—¼•û‚ªA
- medicareNumber ‚Æ dependent ‚Æ‚¢‚¤–¼‘O‚̃vƒƒpƒeƒB‚ðŽ‚¿‚Ü‚·B
- Ž¯•ÊŽqƒNƒ‰ƒX‚ÍAequals() ‚Æ hashCode() ‚ðƒI[ƒoƒ‰ƒCƒh‚µA
- Serializable ‚ðŽÀ‘•‚µ‚È‚‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
- ‚±‚Ì•û–@‚É‚ÍA–¾‚ç‚©‚ɃR[ƒh‚ªd•¡‚·‚é‚Æ‚¢‚¤•s“s‡‚ª‚ ‚è‚Ü‚·B
+ ã“ã®ä¾‹ã§ã¯ã€è¤‡åˆè˜åˆ¥åクラス( MedicareId )ã¨ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¯ãƒ©ã‚¹è‡ªèº«ã®ä¸¡æ–¹ãŒã€
+ medicareNumber 㨠dependent ã¨ã„ã†åå‰ã®ãƒ—ãƒãƒ‘ティをæŒã¡ã¾ã™ã€‚
+ è˜åˆ¥åクラスã¯ã€equals() 㨠hashCode() をオーãƒãƒ©ã‚¤ãƒ‰ã—ã€
+ Serializable を実装ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。
+ ã“ã®æ–¹æ³•ã«ã¯ã€æ˜Žã‚‰ã‹ã«ã‚³ãƒ¼ãƒ‰ãŒé‡è¤‡ã™ã‚‹ã¨ã„ã†ä¸éƒ½åˆãŒã‚ã‚Šã¾ã™ã€‚
- ŽŸ‚Ì‘®«‚̓}ƒbƒsƒ“ƒO‚µ‚½•¡‡Ž¯•ÊŽq‚ðŽw’è‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
+ 次ã®å±žæ€§ã¯ãƒžãƒƒãƒ”ングã—ãŸè¤‡åˆè˜åˆ¥åを指定ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚
- mapped (ƒIƒvƒVƒ‡ƒ“AƒfƒtƒHƒ‹ƒg‚Í false ):
- ƒ}ƒbƒsƒ“ƒO‚µ‚½•¡‡Ž¯•ÊŽq‚ªŽg—p‚³‚ê‚邱‚Æ‚ÆA•ïŠÜ‚³‚ꂽƒvƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚ªA
- ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚Æ•¡‡Ž¯•ÊŽqƒNƒ‰ƒX‚Ì—¼•û‚ðŽQÆ‚·‚邱‚Æ‚ðŽ¦‚µ‚Ü‚·B
+ mapped (オプションã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ false ):
+ マッピングã—ãŸè¤‡åˆè˜åˆ¥åãŒä½¿ç”¨ã•ã‚Œã‚‹ã“ã¨ã¨ã€åŒ…å«ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティã®ãƒžãƒƒãƒ”ングãŒã€
+ エンティティクラスã¨è¤‡åˆè˜åˆ¥åクラスã®ä¸¡æ–¹ã‚’å‚ç…§ã™ã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚
- class (ƒIƒvƒVƒ‡ƒ“,‚½‚¾‚µƒ}ƒbƒsƒ“ƒO‚µ‚½•¡‡Ž¯•ÊŽq‚É‚Í•K{):
- •¡‡Ž¯•ÊŽq‚Æ‚µ‚ÄŽg—p‚·‚éƒNƒ‰ƒXB
+ class (オプション,ãŸã ã—マッピングã—ãŸè¤‡åˆè˜åˆ¥åã«ã¯å¿…é ˆ):
+ 複åˆè˜åˆ¥åã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã‚¯ãƒ©ã‚¹ã€‚
- 3‚–ڂ̂³‚ç‚É•Ö—˜‚È•û–@‚ÍA•¡‡Ž¯•ÊŽq‚ð“à‚Ì
- ƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚Æ‚µ‚ÄŽÀ‘•‚·‚邱‚Æ‚Å‚·B
- ‰º‚Å‹Lq‚µ‚Ä‚¢‚é‘®«‚ÍA‚±‚Ì‘ã‘Ö•û–@‚É‚Ì‚Ý“K—p‚³‚ê‚Ü‚·B
+ 3ã¤ç›®ã®ã•ã‚‰ã«ä¾¿åˆ©ãªæ–¹æ³•ã¯ã€è¤‡åˆè˜åˆ¥åを内ã®
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã¨ã—ã¦å®Ÿè£…ã™ã‚‹ã“ã¨ã§ã™ã€‚
+ 下ã§è¨˜è¿°ã—ã¦ã„る属性ã¯ã€ã“ã®ä»£æ›¿æ–¹æ³•ã«ã®ã¿é©ç”¨ã•ã‚Œã¾ã™ã€‚
- name (ƒIƒvƒVƒ‡ƒ“, ‚±‚̃Aƒvƒ[ƒ`‚Å‚Í•K{):
- •¡‡Ž¯•ÊŽq‚ð•ÛŽ‚·‚éƒRƒ“ƒ|[ƒlƒ“ƒgƒ^ƒCƒv‚̃vƒƒpƒeƒB(9Í‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢).
+ name (オプション, ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã§ã¯å¿…é ˆ):
+ 複åˆè˜åˆ¥åã‚’ä¿æŒã™ã‚‹ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚¿ã‚¤ãƒ—ã®ãƒ—ãƒãƒ‘ティ(9ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„).
- access (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property ):
- Hibernate‚ªƒvƒƒpƒeƒB‚Ì’l‚ɃAƒNƒZƒX‚·‚邽‚ß‚ÉŽg—p‚·‚ׂ«í—ªB
+ access (オプション - デフォルト㯠property ):
+ HibernateãŒãƒ—ãƒãƒ‘ティã®å€¤ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã¹ã戦略。
class
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jF
- •¡‡Ž¯•ÊŽq‚Æ‚µ‚ÄŽg‚í‚ê‚éƒRƒ“ƒ|[ƒlƒ“ƒg‚̃Nƒ‰ƒXiŽŸ‚Ìß‚ðŒ©‚Ä‚‚¾‚³‚¢jB
+ (オプション - デフォルトã¯ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ã‚ˆã‚Šæ±ºå®šã•ã‚Œã‚‹ãƒ—ãƒãƒ‘ティã®åž‹ï¼‰ï¼š
+ 複åˆè˜åˆ¥åã¨ã—ã¦ä½¿ã‚れるコンãƒãƒ¼ãƒãƒ³ãƒˆã®ã‚¯ãƒ©ã‚¹ï¼ˆæ¬¡ã®ç¯€ã‚’見ã¦ãã ã•ã„)。
- ‚±‚Ì3‚–ڂ̕û–@‚Í Ž¯•ÊŽqƒRƒ“ƒ|[ƒlƒ“ƒg ‚ƌĂÑA
- ‚Ù‚Æ‚ñ‚Ç‚·‚ׂẴAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚Ä„§‚·‚é•û–@‚Å‚·B
+ ã“ã®3ã¤ç›®ã®æ–¹æ³•ã¯ è˜åˆ¥åコンãƒãƒ¼ãƒãƒ³ãƒˆ ã¨å‘¼ã³ã€
+ ã»ã¨ã‚“ã©ã™ã¹ã¦ã®ã‚¢ãƒ—リケーションã«å¯¾ã—ã¦æŽ¨å¥¨ã™ã‚‹æ–¹æ³•ã§ã™ã€‚
@@ -1043,12 +1044,12 @@
discriminator
- <discriminator> —v‘f‚ÍA
- table-per-class-hierarchyƒ}ƒbƒsƒ“ƒOí—ª‚ðŽg‚¤ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȉi‘±‰»‚É•K—v‚Å‚ ‚èA
- ƒe[ƒuƒ‹‚ÌŽ¯•ÊƒJƒ‰ƒ€‚ð’è‹`‚µ‚Ü‚·B
- Ž¯•ÊƒJƒ‰ƒ€‚ÍA‚ ‚és‚ɑ΂µ‚ĉi‘±‘w‚ª‚ǂ̃TƒuƒNƒ‰ƒX‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚·‚é‚©‚ð
- “`‚¦‚éƒ}[ƒJ[’l‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·B
- ˆÈ‰º‚̂悤‚ÈŒ^‚ɧŒÀ‚³‚ê‚Ü‚·F string , character ,
+ <discriminator> è¦ç´ ã¯ã€
+ table-per-class-hierarchyマッピング戦略を使ã†ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªæ°¸ç¶šåŒ–ã«å¿…è¦ã§ã‚ã‚Šã€
+ テーブルã®è˜åˆ¥ã‚«ãƒ©ãƒ を定義ã—ã¾ã™ã€‚
+ è˜åˆ¥ã‚«ãƒ©ãƒ ã¯ã€ã‚ã‚‹è¡Œã«å¯¾ã—ã¦æ°¸ç¶šå±¤ãŒã©ã®ã‚µãƒ–クラスをインスタンス化ã™ã‚‹ã‹ã‚’
+ ä¼ãˆã‚‹ãƒžãƒ¼ã‚«ãƒ¼å€¤ã‚’å«ã‚“ã§ã„ã¾ã™ã€‚
+ 以下ã®ã‚ˆã†ãªåž‹ã«åˆ¶é™ã•ã‚Œã¾ã™ï¼š string , character ,
integer,
byte , short , boolean ,
yes_no , true_false.
@@ -1072,56 +1073,56 @@
- columniƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í class jF
- Ž¯•ÊƒJƒ‰ƒ€‚Ì–¼‘OB
+ column(オプション - デフォルト㯠class ):
+ è˜åˆ¥ã‚«ãƒ©ãƒ ã®åå‰ã€‚
type
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í string jFHibernate‚ÌŒ^‚ðŽ¦‚·–¼‘OB
+ (オプション - デフォルト㯠string ):Hibernateã®åž‹ã‚’示ã™åå‰ã€‚
force
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í false jF
- ƒ‹[ƒgƒNƒ‰ƒX‚Ì‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ðŒŸõ‚·‚éꇂł ‚Á‚Ä‚àA
- Hibernate‚ªŽg—p‚Å‚«‚鎯•ÊƒJƒ‰ƒ€‚ÌŽw’è‚ðu‹§v‚µ‚Ü‚·B
+ (オプション - デフォルト㯠false ):
+ ルートクラスã®ã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’検索ã™ã‚‹å ´åˆã§ã‚ã£ã¦ã‚‚ã€
+ HibernateãŒä½¿ç”¨ã§ãã‚‹è˜åˆ¥ã‚«ãƒ©ãƒ ã®æŒ‡å®šã‚’「強制ã€ã—ã¾ã™ã€‚
insert
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true jF
- ‚à‚µŽ¯•ÊƒJƒ‰ƒ€‚ªƒ}ƒbƒsƒ“ƒO‚·‚é•¡‡Ž¯•ÊŽq‚̈ꕔ‚È‚ç‚ÎAfalse ‚Æݒ肵‚Ä‚‚¾‚³‚¢B
- (Hibernate‚ÉSQL‚Ì INSERT ‚É‚ÍŠÜ‚Ü‚ê‚È‚¢‚±‚Æ‚ð’m‚点‚é)
+ (オプション - デフォルト㯠true ):
+ ã‚‚ã—è˜åˆ¥ã‚«ãƒ©ãƒ ãŒãƒžãƒƒãƒ”ングã™ã‚‹è¤‡åˆè˜åˆ¥åã®ä¸€éƒ¨ãªã‚‰ã°ã€false ã¨è¨å®šã—ã¦ãã ã•ã„。
+ (Hibernateã«SQLã® INSERT ã«ã¯å«ã¾ã‚Œãªã„ã“ã¨ã‚’知らã›ã‚‹)
- formula (ƒIƒvƒVƒ‡ƒ“)Œ^‚ª•]‰¿‚³‚ê‚é‚Æ‚«‚ÉŽÀs‚³‚ê‚é”CˆÓ‚ÌSQLŽ®B
- ƒRƒ“ƒeƒ“ƒcƒx[ƒX‚ÌŽ¯•Ê‚ð‰Â”\‚É‚µ‚Ü‚·B
+ formula (オプション)åž‹ãŒè©•ä¾¡ã•ã‚Œã‚‹ã¨ãã«å®Ÿè¡Œã•ã‚Œã‚‹ä»»æ„ã®SQLå¼ã€‚
+ コンテンツベースã®è˜åˆ¥ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
- Ž¯•ÊƒJƒ‰ƒ€‚ÌŽÀÛ‚Ì’l‚ÍA <class> ‚Æ
- <subclass> —v‘f‚Ì
- discriminator-value ‘®«‚ÅŽw’肳‚ê‚Ü‚·B
+ è˜åˆ¥ã‚«ãƒ©ãƒ ã®å®Ÿéš›ã®å€¤ã¯ã€ <class> ã¨
+ <subclass> è¦ç´ ã®
+ discriminator-value 属性ã§æŒ‡å®šã•ã‚Œã¾ã™ã€‚
- ‰i‘±ƒNƒ‰ƒX‚Öƒ}ƒbƒsƒ“ƒO‚³‚ê‚È‚¢¢—]•ª‚ÈvŽ¯•Ê’l‚ðŽ‚Âs‚ª
- ƒe[ƒuƒ‹‚É‚ ‚ê‚ÎAi‚»‚Ì‚Æ‚«‚ÉŒÀ‚èjforce ‘®«‚Í—LŒø‚Å‚·B
- ‚½‚¾‚µA•’Ê‚Í‚»‚¤‚¢‚¤‚±‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB
+ 永続クラスã¸ãƒžãƒƒãƒ”ングã•ã‚Œãªã„「余分ãªã€è˜åˆ¥å€¤ã‚’æŒã¤è¡ŒãŒ
+ テーブルã«ã‚ã‚Œã°ã€ï¼ˆãã®ã¨ãã«é™ã‚Šï¼‰force 属性ã¯æœ‰åŠ¹ã§ã™ã€‚
+ ãŸã ã—ã€æ™®é€šã¯ãã†ã„ã†ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。
- formula ‘®«‚ðŽg‚¤‚ÆAs‚ÌŒ^‚ð•]‰¿‚·‚邽‚ß‚É”CˆÓ‚ÌSQLŽ®‚ð錾‚Å‚«‚Ü‚·B
+ formula 属性を使ã†ã¨ã€è¡Œã®åž‹ã‚’評価ã™ã‚‹ãŸã‚ã«ä»»æ„ã®SQLå¼ã‚’宣言ã§ãã¾ã™ã€‚
- versioniƒIƒvƒVƒ‡ƒ“j
+ version(オプション)
- <version> —v‘f‚̓IƒvƒVƒ‡ƒ“‚Å‚ ‚èA
- ƒe[ƒuƒ‹‚ªƒo[ƒWƒ‡ƒ“ƒf[ƒ^‚ðŠÜ‚Þ‚±‚Æ‚ðŽ¦‚µ‚Ü‚·B
- ‚±‚ê‚Í ƒƒ“ƒOƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“
- ‚ðŽg‚¤‚‚à‚è‚È‚çA“Á‚ɖ𗧂¿‚Ü‚·iˆÈ‰º‚ðŒ©‚Ä‚‚¾‚³‚¢jB
+ <version> è¦ç´ ã¯ã‚ªãƒ—ションã§ã‚ã‚Šã€
+ テーブルãŒãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ‡ãƒ¼ã‚¿ã‚’å«ã‚€ã“ã¨ã‚’示ã—ã¾ã™ã€‚
+ ã“れ㯠ãƒãƒ³ã‚°ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³
+ を使ã†ã¤ã‚‚ã‚Šãªã‚‰ã€ç‰¹ã«å½¹ç«‹ã¡ã¾ã™ï¼ˆä»¥ä¸‹ã‚’見ã¦ãã ã•ã„)。
@@ -1163,85 +1164,85 @@
- columniƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼j:
- ƒo[ƒWƒ‡ƒ“”Ô†‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+ column(オプション - デフォルトã¯ãƒ—ãƒãƒ‘ティå):
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚’ä¿æŒã™ã‚‹ã‚«ãƒ©ãƒ ã®åå‰ã€‚
- name F‰i‘±ƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚Ì–¼‘OB
+ name :永続クラスã®ãƒ—ãƒãƒ‘ティã®åå‰ã€‚
type
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í integer jFƒo[ƒWƒ‡ƒ“”Ô†‚ÌŒ^B
+ (オプション - デフォルト㯠integer ):ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã®åž‹ã€‚
access
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+ (オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã€‚
unsaved-value
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í undefined jF
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ªV‚µ‚ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚±‚Æ‚ðŽ¦‚·
- iƒZ[ƒu‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚ðŽ¦‚·jƒo[ƒWƒ‡ƒ“ƒvƒƒpƒeƒB‚Ì’lB
- ˆÈ‘O‚ÌSession‚ŃZ[ƒu‚Ü‚½‚̓[ƒh‚³‚ꂽˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚Æ‹æ•Ê‚·‚邽‚ß‚É
- Žg‚¢‚Ü‚·B
- i undefined ‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚Ì’l‚ªŽg‚í‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·Bj
+ (オプション - デフォルト㯠undefined ):
+ インスタンスãŒæ–°ã—ãインスタンス化ã•ã‚ŒãŸã“ã¨ã‚’示ã™
+ (セーブã•ã‚Œã¦ã„ãªã„ã“ã¨ã‚’示ã™ï¼‰ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ—ãƒãƒ‘ティã®å€¤ã€‚
+ 以å‰ã®Sessionã§ã‚»ãƒ¼ãƒ–ã¾ãŸã¯ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸä¸€æ™‚çš„ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¨åŒºåˆ¥ã™ã‚‹ãŸã‚ã«
+ 使ã„ã¾ã™ã€‚
+ ( undefined ã¯è˜åˆ¥åプãƒãƒ‘ティã®å€¤ãŒä½¿ã‚れるã“ã¨ã‚’指定ã—ã¾ã™ã€‚)
- generated (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í never ):
- ‚±‚̃o[ƒWƒ‡ƒ“‚̃vƒƒpƒeƒB‚Ì’l‚ªAƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚Ķ¬‚³‚ꂽ‚±‚Æ‚ðŽw’肵‚Ü‚·B
- ¶¬ƒvƒƒpƒeƒB ‚Ì‹c˜_‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ generated (オプション - デフォルト㯠never ):
+ ã“ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒ—ãƒãƒ‘ティã®å€¤ãŒã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ˆã£ã¦ç”Ÿæˆã•ã‚ŒãŸã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ 生æˆãƒ—ãƒãƒ‘ティ ã®è°è«–を見ã¦ãã ã•ã„。
- insert (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true ):
- SQL‚Ìinsert•¶‚Ƀo[ƒWƒ‡ƒ“EƒJƒ‰ƒ€‚ðŠÜ‚ß‚é‚ׂ«‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
- ‚à‚µƒf[ƒ^ƒx[ƒXEƒJƒ‰ƒ€‚̃fƒtƒHƒ‹ƒg’l‚ª 0 ‚Æ’è‹`‚³‚ê‚é‚Æ‚«‚É‚ÍA
- false ‚ÉÝ’è‚·‚é‚Æ—Ç‚¢‚Å‚µ‚傤B
+ insert (オプション - デフォルト㯠true ):
+ SQLã®insertæ–‡ã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ»ã‚«ãƒ©ãƒ ã‚’å«ã‚ã‚‹ã¹ãã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ ã‚‚ã—データベース・カラムã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒ 0 ã¨å®šç¾©ã•ã‚Œã‚‹ã¨ãã«ã¯ã€
+ false ã«è¨å®šã™ã‚‹ã¨è‰¯ã„ã§ã—ょã†ã€‚
- ƒo[ƒWƒ‡ƒ“”Ô†‚Í Hibernate‚Ì long , integer ,
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã¯ Hibernateã® long , integer ,
short , timestamp ,
- calendar Œ^‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+ calendar åž‹ã®ã„ãšã‚Œã‹ã§ã™ã€‚
- ƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚ÍA•ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚Änull‚Å‚ ‚Á‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
- ‚»‚Ì‚½‚߂ǂ̂悤‚È unsaved-value í—ª‚ªŽw’肳‚ê‚Ä‚àA
- Hibernate‚Ínull‚̃o[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðŽ‚Á‚½‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ðA
- ˆêŽž“I‚È‚à‚Ì‚Å‚ ‚é‚Æ”»’f‚µ‚Ü‚·B
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚„タイムスタンプã®ãƒ—ãƒãƒ‘ティã¯ã€åˆ†é›¢ã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«å¯¾ã—ã¦nullã§ã‚ã£ã¦ã¯ãªã‚Šã¾ã›ã‚“。
+ ãã®ãŸã‚ã©ã®ã‚ˆã†ãª unsaved-value 戦略ãŒæŒ‡å®šã•ã‚Œã¦ã‚‚ã€
+ Hibernateã¯nullã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚„タイムスタンプをæŒã£ãŸã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ã€
+ 一時的ãªã‚‚ã®ã§ã‚ã‚‹ã¨åˆ¤æ–ã—ã¾ã™ã€‚
- null‚ð‹–—e‚·‚éƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚ð’è‹`‚·‚邱‚Æ‚ÍA
- ‰ß“n“I‚ɈꎞƒIƒuƒWƒFƒNƒg‚Æ‚·‚邱‚Æ‚ð–h‚®ŠÈ’P‚È•û–@‚Å‚·B
- “Á‚ÉŽ¯•ÊŽq‚ÌŠ„‚è“–‚Ä‚â•¡‡ƒL[‚ðŽg—p‚µ‚Ä‚¢‚é‚Æ‚«‚É‚Í“Á‚É—L—p‚Å‚·B
+ nullを許容ã™ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚„タイムスタンプã®ãƒ—ãƒãƒ‘ティを定義ã™ã‚‹ã“ã¨ã¯ã€
+ éŽæ¸¡çš„ã«ä¸€æ™‚オブジェクトã¨ã™ã‚‹ã“ã¨ã‚’防ãç°¡å˜ãªæ–¹æ³•ã§ã™ã€‚
+ 特ã«è˜åˆ¥åã®å‰²ã‚Šå½“ã¦ã‚„複åˆã‚ーを使用ã—ã¦ã„ã‚‹ã¨ãã«ã¯ç‰¹ã«æœ‰ç”¨ã§ã™ã€‚
- timestampiƒIƒvƒVƒ‡ƒ“j
+ timestamp(オプション)
- ƒIƒvƒVƒ‡ƒ“‚Ì <timestamp> —v‘f‚ÍA
- ƒe[ƒuƒ‹‚ªƒ^ƒCƒ€ƒXƒ^ƒ“ƒvƒf[ƒ^‚ðŠÜ‚Þ‚±‚Æ‚ðŽ¦‚µ‚Ü‚·B
- ‚±‚ê‚̓o[ƒWƒ‡ƒ“•t‚¯‚Ì‘ã‚í‚è‚Ì•û–@‚Æ‚µ‚Ä—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B
- ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚Í‚à‚Æ‚à‚ÆŠyŠÏ“IƒƒbƒN‚É‚¨‚¯‚éˆÀ‘S«‚Ì’á‚¢ŽÀ‘•‚Å‚·B
- ‚µ‚©‚µƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚͈قȂé—p“r‚ÅŽg‚¤‚±‚Æ‚à‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ オプション㮠<timestamp> è¦ç´ ã¯ã€
+ テーブルãŒã‚¿ã‚¤ãƒ スタンプデータをå«ã‚€ã“ã¨ã‚’示ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä»˜ã‘ã®ä»£ã‚ã‚Šã®æ–¹æ³•ã¨ã—ã¦ç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ タイムスタンプã¯ã‚‚ã¨ã‚‚ã¨æ¥½è¦³çš„ãƒãƒƒã‚¯ã«ãŠã‘る安全性ã®ä½Žã„実装ã§ã™ã€‚
+ ã—ã‹ã—アプリケーションã¯ç•°ãªã‚‹ç”¨é€”ã§ä½¿ã†ã“ã¨ã‚‚ã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
@@ -1265,66 +1266,66 @@
- columniƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jF
- ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+ column(オプション - デフォルトã¯ãƒ—ãƒãƒ‘ティå):
+ タイムスタンプをä¿æŒã™ã‚‹ã‚«ãƒ©ãƒ ã®åå‰ã€‚
- name F
- ‰i‘±ƒNƒ‰ƒX‚Å‚ ‚éJava ‚Ì DateŒ^ ‚Ü‚½‚Í
- Timestamp Œ^ ‚ÌAJavaBeansƒXƒ^ƒCƒ‹ƒvƒƒpƒeƒB‚Ì–¼‘OB
+ name :
+ 永続クラスã§ã‚ã‚‹Java ã® Dateåž‹ ã¾ãŸã¯
+ Timestamp åž‹ ã®ã€JavaBeansスタイルプãƒãƒ‘ティã®åå‰ã€‚
access
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+ (オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã€‚
unsaved-value
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í null jF
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ªV‚µ‚ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ
- iƒZ[ƒu‚³‚ê‚Ä‚¢‚È‚¢j‚±‚Æ‚ðŽ¦‚·ƒo[ƒWƒ‡ƒ“ƒvƒƒpƒeƒB‚Ì’lB
- ˆÈ‘O‚ÌSession‚ŃZ[ƒu‚Ü‚½‚̓[ƒh‚³‚ꂽˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚Æ
- ‹æ•Ê‚·‚邽‚ß‚ÉŽg‚í‚ê‚Ü‚·B
- i undefined ‚ÆŽw’è‚·‚é‚ÆA
- Ž¯•ÊŽqƒvƒƒpƒeƒB‚Ì’l‚ªŽg‚í‚ê‚Ü‚·Bj
+ (オプション - デフォルト㯠null ):
+ インスタンスãŒæ–°ã—ãインスタンス化ã•ã‚ŒãŸ
+ (セーブã•ã‚Œã¦ã„ãªã„)ã“ã¨ã‚’示ã™ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ—ãƒãƒ‘ティã®å€¤ã€‚
+ 以å‰ã®Sessionã§ã‚»ãƒ¼ãƒ–ã¾ãŸã¯ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸä¸€æ™‚çš„ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¨
+ 区別ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
+ ( undefined ã¨æŒ‡å®šã™ã‚‹ã¨ã€
+ è˜åˆ¥åプãƒãƒ‘ティã®å€¤ãŒä½¿ã‚ã‚Œã¾ã™ã€‚)
- source (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í vm ):
- Hibernate‚Í‚Ç‚±‚©‚çƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚Ì’l‚ðŽæ“¾‚·‚é‚ׂ«‚Å‚µ‚傤‚©H
- ƒf[ƒ^ƒx[ƒX‚©‚ç‚Å‚µ‚傤‚©AŒ»Ý‚ÌJVM‚©‚ç‚Å‚µ‚傤‚©H
- ƒf[ƒ^ƒx[ƒX‚É‚æ‚éƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚ÍAHibernate‚ª"ŽŸ‚Ì’l"‚ðŒˆ’è‚·‚邽‚ß‚É
- ƒf[ƒ^ƒx[ƒX‚ðƒqƒbƒg‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚½‚ßAƒI[ƒoƒwƒbƒh‚𵂫‚Ü‚·B
- ‚µ‚©‚µƒNƒ‰ƒXƒ^ŠÂ‹«‚Å‚ÍJVM‚©‚çŽæ“¾‚·‚é‚æ‚èˆÀ‘S‚Å‚·B
- ƒf[ƒ^ƒx[ƒX‚ÌŒ»Ý‚̃^ƒCƒ€ƒXƒ^ƒ“ƒv‚̎擾‚ðƒTƒ|[ƒg‚·‚é
- ‚·‚×‚Ä‚Ì ƒf[ƒ^ƒx[ƒX•ûŒ¾ ‚ª’m‚ç‚ê‚Ä‚¢‚é‚킯‚Å‚Í‚È‚¢‚±‚Æ‚É
- ’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B‚Ü‚½ˆê•û‚ÅA¸–§‚³‚ðŒ‡‚‚½‚ß‚ÉA
- ƒƒbƒN‚ÅŽg—p‚·‚é‚ɂ͈À‘S‚Å‚È‚¢‚à‚Ì‚à‚ ‚è‚Ü‚·(—Ⴆ‚ÎOracle 8)B
+ source (オプション - デフォルト㯠vm ):
+ Hibernateã¯ã©ã“ã‹ã‚‰ã‚¿ã‚¤ãƒ スタンプã®å€¤ã‚’å–å¾—ã™ã‚‹ã¹ãã§ã—ょã†ã‹ï¼Ÿ
+ データベースã‹ã‚‰ã§ã—ょã†ã‹ã€ç¾åœ¨ã®JVMã‹ã‚‰ã§ã—ょã†ã‹ï¼Ÿ
+ データベースã«ã‚ˆã‚‹ã‚¿ã‚¤ãƒ スタンプã¯ã€HibernateãŒ"次ã®å€¤"を決定ã™ã‚‹ãŸã‚ã«
+ データベースをヒットã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ãŸã‚ã€ã‚ªãƒ¼ãƒãƒ˜ãƒƒãƒ‰ã‚’æ‹›ãã¾ã™ã€‚
+ ã—ã‹ã—クラスタ環境ã§ã¯JVMã‹ã‚‰å–å¾—ã™ã‚‹ã‚ˆã‚Šå®‰å…¨ã§ã™ã€‚
+ データベースã®ç¾åœ¨ã®ã‚¿ã‚¤ãƒ スタンプã®å–得をサãƒãƒ¼ãƒˆã™ã‚‹
+ ã™ã¹ã¦ã® データベース方言 ãŒçŸ¥ã‚‰ã‚Œã¦ã„ã‚‹ã‚ã‘ã§ã¯ãªã„ã“ã¨ã«
+ 注æ„ã—ã¦ãã ã•ã„。ã¾ãŸä¸€æ–¹ã§ã€ç²¾å¯†ã•ã‚’æ¬ ããŸã‚ã«ã€
+ ãƒãƒƒã‚¯ã§ä½¿ç”¨ã™ã‚‹ã«ã¯å®‰å…¨ã§ãªã„ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™(例ãˆã°Oracle 8)。
- generated (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í never ):
- ‚±‚̃^ƒCƒ€ƒXƒ^ƒ“ƒvEƒvƒƒpƒeƒB‚Ì’l‚ªAƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚Ķ¬‚³‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·B
- ¶¬ƒvƒƒpƒeƒB ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ generated (オプション - デフォルト㯠never ):
+ ã“ã®ã‚¿ã‚¤ãƒ スタンプ・プãƒãƒ‘ティã®å€¤ãŒã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ˆã£ã¦ç”Ÿæˆã•ã‚Œã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ 生æˆãƒ—ãƒãƒ‘ティ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- <timestamp> ‚Í
- <version type="timestamp"> ‚Æ“™‰¿‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- <timestamp source="db"> ‚Í
- <version type="dbtimestamp"> ‚Æ“™‰¿‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ <timestamp> ã¯
+ <version type="timestamp"> ã¨ç‰ä¾¡ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ <timestamp source="db"> ã¯
+ <version type="dbtimestamp"> ã¨ç‰ä¾¡ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
@@ -1332,7 +1333,7 @@
property
- <property> —v‘f‚ÍAƒNƒ‰ƒX‚̉i‘±“I‚ÈJavaBeanƒXƒ^ƒCƒ‹‚̃vƒƒpƒeƒB‚ð’è‹`‚µ‚Ü‚·B
+ <property> è¦ç´ ã¯ã€ã‚¯ãƒ©ã‚¹ã®æ°¸ç¶šçš„ãªJavaBeanスタイルã®ãƒ—ãƒãƒ‘ティを定義ã—ã¾ã™ã€‚
@@ -1375,135 +1376,135 @@
- nameF¬•¶Žš‚ÅŽn‚Ü‚éƒvƒƒpƒeƒB–¼B
+ name:å°æ–‡å—ã§å§‹ã¾ã‚‹ãƒ—ãƒãƒ‘ティå。
- columniƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jF
- ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ì–¼‘OB
- ƒlƒXƒg‚µ‚½ <column> —v‘f‚Å‚àŽw’è‚Å‚«‚Ü‚·B
+ column(オプション - デフォルトã¯ãƒ—ãƒãƒ‘ティå):
+ マッピングã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ†ãƒ¼ãƒ–ルã®ã‚«ãƒ©ãƒ ã®åå‰ã€‚
+ ãƒã‚¹ãƒˆã—㟠<column> è¦ç´ ã§ã‚‚指定ã§ãã¾ã™ã€‚
- typeiƒIƒvƒVƒ‡ƒ“jFHibernate‚ÌŒ^‚ðŽ¦‚·–¼‘OB
+ type(オプション):Hibernateã®åž‹ã‚’示ã™åå‰ã€‚
update, insert
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true jF
- ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì
- UPDATE ‚â INSERT ‚ÉŠÜ‚Ü‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·B
- —¼•û‚Æ‚à false ‚ÉÝ’è‚·‚é‚ÆA
- “¯‚¶ƒJƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚³‚ꂽ‘¼‚̃vƒƒpƒeƒB‚âƒgƒŠƒK‚â
- ‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚ĉŠú‰»‚³‚ꂽƒˆ‚Èu“±ovƒvƒƒpƒeƒB‚ª‰Â”\‚É‚È‚è‚Ü‚·B
+ (オプション - デフォルト㯠true ):
+ マッピングã•ã‚ŒãŸã‚«ãƒ©ãƒ ãŒSQLã®
+ UPDATE ã‚„ INSERT ã«å«ã¾ã‚Œã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ 両方ã¨ã‚‚ false ã«è¨å®šã™ã‚‹ã¨ã€
+ åŒã˜ã‚«ãƒ©ãƒ ã«ãƒžãƒƒãƒ”ングã•ã‚ŒãŸä»–ã®ãƒ—ãƒãƒ‘ティやトリガや
+ ä»–ã®ã‚¢ãƒ—リケーションã«ã‚ˆã£ã¦åˆæœŸåŒ–ã•ã‚ŒãŸç´”粋ãªã€Œå°Žå‡ºã€ãƒ—ãƒãƒ‘ティãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚
- formulaiƒIƒvƒVƒ‡ƒ“jF
- ŒvŽZ ƒvƒƒpƒeƒB‚Ì‚½‚ß‚Ì’l‚ð’è‹`‚·‚éSQLŽ®B
- ŒvŽZ‚³‚ꂽƒvƒƒpƒeƒB‚ÍŽ©g‚̃Jƒ‰ƒ€‚ւ̃}ƒbƒsƒ“ƒO‚ª‚ ‚è‚Ü‚¹‚ñB
+ formula(オプション):
+ 計算 プãƒãƒ‘ティã®ãŸã‚ã®å€¤ã‚’定義ã™ã‚‹SQLå¼ã€‚
+ 計算ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティã¯è‡ªèº«ã®ã‚«ãƒ©ãƒ ã¸ã®ãƒžãƒƒãƒ”ングãŒã‚ã‚Šã¾ã›ã‚“。
- accessiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+ access(オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã€‚
- lazy (optional - ƒfƒtƒHƒ‹ƒg‚Í false ):
- ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚Éʼn‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ÉAƒvƒƒpƒeƒB‚ð’x‰„‚µ‚Ď擾‚·‚é‚悤Žw’肵‚Ü‚·B
- (ƒoƒCƒgƒR[ƒhŽÀ‘•‚ð쬂·‚鎞ŠÔ‚ª•K—v‚É‚È‚è‚Ü‚·)B
+ lazy (optional - デフォルト㯠false ):
+ インスタンス変数ã«æœ€åˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã«ã€ãƒ—ãƒãƒ‘ティをé…延ã—ã¦å–å¾—ã™ã‚‹ã‚ˆã†æŒ‡å®šã—ã¾ã™ã€‚
+ (ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰å®Ÿè£…を作æˆã™ã‚‹æ™‚é–“ãŒå¿…è¦ã«ãªã‚Šã¾ã™)。
- unique (ƒIƒvƒVƒ‡ƒ“):ƒJƒ‰ƒ€‚Ƀ†ƒj[ƒN§–ñ‚ð‚‚¯‚éDDL‚̶¬‚ð‰Â”\‚É‚µ‚Ü‚·B
- ‚Ü‚½Aproperty-ref ‚̃^[ƒQƒbƒg‚Æ‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ unique (オプション):カラムã«ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã‚’ã¤ã‘ã‚‹DDLã®ç”Ÿæˆã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
+ ã¾ãŸã€property-ref ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- not-null (ƒIƒvƒVƒ‡ƒ“):ƒJƒ‰ƒ€‚Énull’l‚ð‹–‰Â‚·‚éDDL‚̶¬‚ð‰Â”\‚É‚µ‚Ü‚·B
+ not-null (オプション):カラムã«null値を許å¯ã™ã‚‹DDLã®ç”Ÿæˆã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
- optimistic-lock (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true ):
- ‚±‚̃vƒƒpƒeƒB‚ÌXV‚ÉŠyŠÏƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
- Œ¾‚¢Š·‚¦‚ê‚ÎA‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚ð‘‚â‚·‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+ optimistic-lock (オプション - デフォルト㯠true ):
+ ã“ã®ãƒ—ãƒãƒ‘ティã®æ›´æ–°ã«æ¥½è¦³ãƒãƒƒã‚¯ã®å–å¾—ã‚’è¦æ±‚ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ 言ã„æ›ãˆã‚Œã°ã€ã“ã®ãƒ—ãƒãƒ‘ティãŒãƒ€ãƒ¼ãƒ†ã‚£ã§ã‚ã‚‹ã¨ãã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’増やã™ã¹ãã‹ã‚’決定ã—ã¾ã™ã€‚
- generated (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í never ):
- ƒvƒƒpƒeƒB‚Ì’l‚ªAƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚Ķ¬‚³‚ꂽ‚±‚Æ‚ðŽw’肵‚Ü‚·B
- ¶¬ƒvƒƒpƒeƒB ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ generated (オプション - デフォルト㯠never ):
+ プãƒãƒ‘ティã®å€¤ãŒã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ˆã£ã¦ç”Ÿæˆã•ã‚ŒãŸã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ 生æˆãƒ—ãƒãƒ‘ティ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- typename ‚ɂ͈ȉº‚Ì’l‚ª‰Â”\‚Å‚·F
+ typename ã«ã¯ä»¥ä¸‹ã®å€¤ãŒå¯èƒ½ã§ã™ï¼š
- Hibernate‚ÌŠî–{Œ^‚Ì–¼‘Oi—á integer, string, character,
- date, timestamp, float, binary, serializable, object, blob jB
+ Hibernateã®åŸºæœ¬åž‹ã®åå‰ï¼ˆä¾‹ integer, string, character,
+ date, timestamp, float, binary, serializable, object, blob )。
- ƒfƒtƒHƒ‹ƒg‚ÌŠî–{Œ^‚ÌJavaƒNƒ‰ƒX–¼ i—á int, float,
- char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob jB
+ デフォルトã®åŸºæœ¬åž‹ã®Javaクラスå (例 int, float,
+ char, java.lang.String, java.util.Date, java.lang.Integer, java.sql.Clob )。
- ƒVƒŠƒAƒ‰ƒCƒY‰Â”\‚ÈJavaƒNƒ‰ƒX‚Ì–¼‘OB
+ シリアライズå¯èƒ½ãªJavaクラスã®åå‰ã€‚
- ƒJƒXƒ^ƒ€Œ^‚̃Nƒ‰ƒX–¼i—á com.illflow.type.MyCustomType jB
+ カスタム型ã®ã‚¯ãƒ©ã‚¹å(例 com.illflow.type.MyCustomType )。
- Œ^‚ðŽw’肵‚È‚¯‚ê‚ÎAHibernate‚ͳ‚µ‚¢Hibernate‚ÌŒ^‚ð„‘ª‚·‚邽‚ß‚ÉA
- Žw’肳‚ꂽƒvƒƒpƒeƒB‚ɑ΂µ‚ăŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚¢‚Ü‚·B
- Hibernate‚̓‹[ƒ‹2, 3, 4‚ð‚»‚Ì‡˜‚ÉŽg‚¢A
- getterƒvƒƒpƒeƒB‚Ì•Ô‚è’l‚̃Nƒ‰ƒX‚Ì–¼‘O‚ð‰ðŽß‚µ‚悤‚Æ‚µ‚Ü‚·B
- ‚µ‚©‚µ‚±‚ê‚Åí‚É\•ª‚Å‚ ‚é‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñB
- ꇂɂæ‚Á‚Ä‚ÍAtype ‘®«‚ª•K—v‚Èꇂª‚ ‚è‚Ü‚·B
- i—Ⴆ‚Î Hibernate.DATE ‚Æ Hibernate.TIMESTAMP ‚ð‹æ•Ê‚·‚邽‚ßA
- ‚Ü‚½‚̓JƒXƒ^ƒ€Œ^‚ðŽw’è‚·‚邽‚ß‚È‚Ç‚Å‚·Bj
+ 型を指定ã—ãªã‘ã‚Œã°ã€Hibernateã¯æ£ã—ã„Hibernateã®åž‹ã‚’推測ã™ã‚‹ãŸã‚ã«ã€
+ 指定ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティã«å¯¾ã—ã¦ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã„ã¾ã™ã€‚
+ Hibernateã¯ãƒ«ãƒ¼ãƒ«2, 3, 4ã‚’ãã®é †åºã«ä½¿ã„ã€
+ getterプãƒãƒ‘ティã®è¿”り値ã®ã‚¯ãƒ©ã‚¹ã®åå‰ã‚’解釈ã—よã†ã¨ã—ã¾ã™ã€‚
+ ã—ã‹ã—ã“ã‚Œã§å¸¸ã«å分ã§ã‚ã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“。
+ å ´åˆã«ã‚ˆã£ã¦ã¯ã€type 属性ãŒå¿…è¦ãªå ´åˆãŒã‚ã‚Šã¾ã™ã€‚
+ (例ãˆã° Hibernate.DATE 㨠Hibernate.TIMESTAMP を区別ã™ã‚‹ãŸã‚ã€
+ ã¾ãŸã¯ã‚«ã‚¹ã‚¿ãƒ 型を指定ã™ã‚‹ãŸã‚ãªã©ã§ã™ã€‚)
- access ‘®«‚ÅA
- ŽÀsŽž‚ÉHibernate‚ª‚ǂ̂悤‚ɃvƒƒpƒeƒB‚ɃAƒNƒZƒX‚·‚é‚©‚ð§Œä‚Å‚«‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍHibernate‚̓vƒƒpƒeƒB‚Ìget/set‚̃yƒA‚ðƒR[ƒ‹‚µ‚Ü‚·B
- access="field" ‚ÆŽw’è‚·‚ê‚ÎA
- Hibernate‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚¢get/set‚̃yƒA‚ð‰î‚³‚¸‚ÉA’¼ÚƒtƒB[ƒ‹ƒh‚ɃAƒNƒZƒX‚µ‚Ü‚·B
- ƒCƒ“ƒ^[ƒtƒFƒCƒX org.hibernate.property.PropertyAccessor ‚ð
- ŽÀ‘•‚·‚éƒNƒ‰ƒX‚ðŽw’è‚·‚邱‚Æ‚ÅAƒvƒƒpƒeƒB‚ւ̃AƒNƒZƒX‚É“ÆŽ©‚Ìí—ª‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ access 属性ã§ã€
+ 実行時ã«HibernateãŒã©ã®ã‚ˆã†ã«ãƒ—ãƒãƒ‘ティã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã‹ã‚’制御ã§ãã¾ã™ã€‚
+ デフォルトã§ã¯Hibernateã¯ãƒ—ãƒãƒ‘ティã®get/setã®ãƒšã‚¢ã‚’コールã—ã¾ã™ã€‚
+ access="field" ã¨æŒ‡å®šã™ã‚Œã°ã€
+ Hibernateã¯ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã„get/setã®ãƒšã‚¢ã‚’介ã•ãšã«ã€ç›´æŽ¥ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã™ã€‚
+ インターフェイス org.hibernate.property.PropertyAccessor を
+ 実装ã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚’指定ã™ã‚‹ã“ã¨ã§ã€ãƒ—ãƒãƒ‘ティã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«ç‹¬è‡ªã®æˆ¦ç•¥ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- “Á‚É‹—Í‚È“Á’¥‚Ͷ¬ƒvƒƒpƒeƒB‚Å‚·B
- ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚Í“–‘R“Ç‚ÝŽæ‚èê—p‚Å‚ ‚èAƒvƒƒpƒeƒB‚Ì’l‚̓[ƒhŽž‚ÉŒvŽZ‚³‚ê‚Ü‚·B
- ŒvŽZ‚ðSQLŽ®‚Æ‚µ‚Ä錾‚·‚é‚ÆA‚±‚̃vƒƒpƒeƒB‚Í
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒ[ƒh‚·‚éSQLƒNƒGƒŠ‚Ì SELECT ‹å‚̃TƒuƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
+ 特ã«å¼·åŠ›ãªç‰¹å¾´ã¯ç”Ÿæˆãƒ—ãƒãƒ‘ティã§ã™ã€‚
+ ã“れらã®ãƒ—ãƒãƒ‘ティã¯å½“然èªã¿å–り専用ã§ã‚ã‚Šã€ãƒ—ãƒãƒ‘ティã®å€¤ã¯ãƒãƒ¼ãƒ‰æ™‚ã«è¨ˆç®—ã•ã‚Œã¾ã™ã€‚
+ 計算をSQLå¼ã¨ã—ã¦å®£è¨€ã™ã‚‹ã¨ã€ã“ã®ãƒ—ãƒãƒ‘ティã¯
+ インスタンスをãƒãƒ¼ãƒ‰ã™ã‚‹SQLクエリ㮠SELECT å¥ã®ã‚µãƒ–クエリã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚
]]>
- “Á’è‚̃Jƒ‰ƒ€(—á‚Å‚Í customerId ‚ª‚»‚ê‚É‚ ‚½‚è‚Ü‚·)‚̃GƒCƒŠƒAƒX‚ð錾‚·‚邱‚Æ‚È‚A
- ƒGƒ“ƒeƒBƒeƒBŽ©g‚̃e[ƒuƒ‹‚ðŽQÆ‚Å‚«‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚à‚µ‘®«‚ðŽg—p‚µ‚½‚‚È‚¯‚ê‚ÎA
- ƒlƒXƒg‚µ‚½ <formula> ƒ}ƒbƒsƒ“ƒO—v‘f‚ðŽg‚¦‚邱‚Æ‚É‚à’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 特定ã®ã‚«ãƒ©ãƒ (例ã§ã¯ customerId ãŒãã‚Œã«ã‚ãŸã‚Šã¾ã™)ã®ã‚¨ã‚¤ãƒªã‚¢ã‚¹ã‚’宣言ã™ã‚‹ã“ã¨ãªãã€
+ エンティティ自身ã®ãƒ†ãƒ¼ãƒ–ルをå‚ç…§ã§ãã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã‚‚ã—属性を使用ã—ãŸããªã‘ã‚Œã°ã€
+ ãƒã‚¹ãƒˆã—㟠<formula> マッピングè¦ç´ を使ãˆã‚‹ã“ã¨ã«ã‚‚注æ„ã—ã¦ãã ã•ã„。
@@ -1526,9 +1527,9 @@
many-to-one
- ‘¼‚̉i‘±ƒNƒ‰ƒX‚Ö‚Ì’Êí‚ÌŠÖ˜A‚Í many-to-one —v‘f‚ðŽg‚Á‚Ä’è‹`‚µ‚Ü‚·B
- ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚Í‘½‘ΈêŠÖ˜A‚Å‚·B
- ‚Â‚Ü‚è‚ ‚éƒe[ƒuƒ‹‚ÌŠO•”ƒL[‚ÍAƒ^[ƒQƒbƒg‚Æ‚È‚éƒe[ƒuƒ‹‚ÌŽåƒL[ƒJƒ‰ƒ€‚ðŽQÆ‚µ‚Ä‚¢‚Ü‚·B
+ ä»–ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã¸ã®é€šå¸¸ã®é–¢é€£ã¯ many-to-one è¦ç´ を使ã£ã¦å®šç¾©ã—ã¾ã™ã€‚
+ リレーショナルモデルã¯å¤šå¯¾ä¸€é–¢é€£ã§ã™ã€‚
+ ã¤ã¾ã‚Šã‚るテーブルã®å¤–部ã‚ーã¯ã€ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã¨ãªã‚‹ãƒ†ãƒ¼ãƒ–ルã®ä¸»ã‚ーカラムをå‚ç…§ã—ã¦ã„ã¾ã™ã€‚
@@ -1578,156 +1579,156 @@
- nameFƒvƒƒpƒeƒB–¼B
+ name:プãƒãƒ‘ティå。
- column (ƒIƒvƒVƒ‡ƒ“):ŠO•”ƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
- ƒlƒXƒg‚µ‚½ <column> —v‘f‚Å‚àŽw’è‚Å‚«‚Ü‚·B
+ column (オプション):外部ã‚ーカラムã®åå‰ã€‚
+ ãƒã‚¹ãƒˆã—㟠<column> è¦ç´ ã§ã‚‚指定ã§ãã¾ã™ã€‚
- classiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚ÍA
- ƒŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jFŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+ class(オプション - デフォルトã¯ã€
+ リフレクションã«ã‚ˆã‚Šæ±ºå®šã•ã‚Œã‚‹ãƒ—ãƒãƒ‘ティã®åž‹ï¼‰ï¼šé–¢é€£ã‚¯ãƒ©ã‚¹ã®åå‰ã€‚
- cascadeiƒIƒvƒVƒ‡ƒ“jF
- ‚Ç‚Ì‘€ì‚ðAeƒIƒuƒWƒFƒNƒg‚©‚çŠÖ˜AƒIƒuƒWƒFƒNƒg‚ւƃJƒXƒP[ƒh‚³‚¹‚é‚©‚ðŽw’肵‚Ü‚·B
+ cascade(オプション):
+ ã©ã®æ“作をã€è¦ªã‚ªãƒ–ジェクトã‹ã‚‰é–¢é€£ã‚ªãƒ–ジェクトã¸ã¨ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã•ã›ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚
- fetch (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í select ):
- ŠO•”Œ‹‡ƒtƒFƒbƒ`‚©‡ŽŸ‘I‘ðƒtƒFƒbƒ`isequential select fetchj‚ð‘I‘ð‚µ‚Ü‚·B
+ fetch (オプション - デフォルト㯠select ):
+ 外部çµåˆãƒ•ã‚§ãƒƒãƒã‹é †æ¬¡é¸æŠžãƒ•ã‚§ãƒƒãƒï¼ˆsequential select fetch)をé¸æŠžã—ã¾ã™ã€‚
- update, insertiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true jF
- ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì UPDATE ‚Ü‚½‚Í
- INSERT •¶‚ÉŠÜ‚Ü‚ê‚邱‚Æ‚ðŽw’肵‚Ü‚·B
- —¼•û‚Æ‚à false ‚ÉÝ’è‚·‚é‚ÆA
- ‚»‚Ì’l‚ª“¯‚¶ƒJƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚³‚ꂽ‘¼‚̃vƒƒpƒeƒB‚âƒgƒŠƒK‚â
- ‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚ĉŠú‰»‚³‚ꂽƒˆ‚Èu“±ovƒvƒƒpƒeƒB‚ª‰Â”\‚É‚È‚è‚Ü‚·B
+ update, insert(オプション - デフォルト㯠true ):
+ マッピングã•ã‚ŒãŸã‚«ãƒ©ãƒ ãŒSQLã® UPDATE ã¾ãŸã¯
+ INSERT æ–‡ã«å«ã¾ã‚Œã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ 両方ã¨ã‚‚ false ã«è¨å®šã™ã‚‹ã¨ã€
+ ãã®å€¤ãŒåŒã˜ã‚«ãƒ©ãƒ ã«ãƒžãƒƒãƒ”ングã•ã‚ŒãŸä»–ã®ãƒ—ãƒãƒ‘ティやトリガや
+ ä»–ã®ã‚¢ãƒ—リケーションã«ã‚ˆã£ã¦åˆæœŸåŒ–ã•ã‚ŒãŸç´”粋ãªã€Œå°Žå‡ºã€ãƒ—ãƒãƒ‘ティãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚
- property-refiƒIƒvƒVƒ‡ƒ“jF
- ‚±‚ÌŠO•”ƒL[‚ÉŒ‹‡‚³‚ꂽŠÖ˜AƒNƒ‰ƒX‚̃vƒƒpƒeƒB–¼B
- ‰½‚àŽw’肵‚È‚¯‚ê‚ÎAŠÖ˜AƒNƒ‰ƒX‚ÌŽåƒL[‚ªŽg‚í‚ê‚Ü‚·B
+ property-ref(オプション):
+ ã“ã®å¤–部ã‚ーã«çµåˆã•ã‚ŒãŸé–¢é€£ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティå。
+ 何も指定ã—ãªã‘ã‚Œã°ã€é–¢é€£ã‚¯ãƒ©ã‚¹ã®ä¸»ã‚ーãŒä½¿ã‚ã‚Œã¾ã™ã€‚
- accessiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+ access(オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã€‚
- uniqueiƒIƒvƒVƒ‡ƒ“jF
- ŠO•”ƒL[ƒJƒ‰ƒ€‚ɑ΂µ‚ă†ƒj[ƒN§–ñ‚ð‚‚¯‚½DDL‚̶¬‚ð‰Â”\‚É‚µ‚Ü‚·B
- ‚Ü‚½Aproperty-ref ‚̃^[ƒQƒbƒg‚É‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- ‚±‚ê‚É‚æ‚èŠÖ˜A‚Ì‘½d“x‚ðŒø‰Ê“I‚Ɉê‘Έê‚É‚µ‚Ü‚·B
+ unique(オプション):
+ 外部ã‚ーカラムã«å¯¾ã—ã¦ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã‚’ã¤ã‘ãŸDDLã®ç”Ÿæˆã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
+ ã¾ãŸã€property-ref ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ ã“ã‚Œã«ã‚ˆã‚Šé–¢é€£ã®å¤šé‡åº¦ã‚’効果的ã«ä¸€å¯¾ä¸€ã«ã—ã¾ã™ã€‚
- not-null (ƒIƒvƒVƒ‡ƒ“):ŠO•”ƒL[ƒJƒ‰ƒ€‚ɑ΂µ‚ÄA
- null’l‚ð‹–‰Â‚·‚éDDL‚̶¬‚ð‰Â”\‚É‚µ‚Ü‚·
+ not-null (オプション):外部ã‚ーカラムã«å¯¾ã—ã¦ã€
+ null値を許å¯ã™ã‚‹DDLã®ç”Ÿæˆã‚’å¯èƒ½ã«ã—ã¾ã™
- optimistic-lock (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true ):
- ‚±‚̃vƒƒpƒeƒB‚ÌXV‚ÉŠyŠÏ“IƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
- Œ¾‚¢Š·‚¦‚ê‚ÎA‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚ð‘‚â‚·‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+ optimistic-lock (オプション - デフォルト㯠true ):
+ ã“ã®ãƒ—ãƒãƒ‘ティã®æ›´æ–°ã«æ¥½è¦³çš„ãƒãƒƒã‚¯ã®å–å¾—ã‚’è¦æ±‚ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ 言ã„æ›ãˆã‚Œã°ã€ã“ã®ãƒ—ãƒãƒ‘ティãŒãƒ€ãƒ¼ãƒ†ã‚£ã§ã‚ã‚‹ã¨ãã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’増やã™ã¹ãã‹ã‚’決定ã—ã¾ã™ã€‚
- lazy (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í proxy ):
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍA‘½d“x‚P‚ÌŠÖ˜A‚ªƒvƒƒLƒV‚Æ‚È‚è‚Ü‚·B
- lazy="no-proxy" ‚ÍAƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚Éʼn‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ÉA
- ƒvƒƒpƒeƒB‚ð’x‰„ƒtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·
- (ƒrƒ‹ƒhŽž‚ɃoƒCƒgƒR[ƒhŽÀ‘•‚ª•K—v‚É‚È‚è‚Ü‚·)B
- lazy="false" ‚ÍŠÖ˜A‚ðí‚É‘¦Žž‚ɃtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·B
+ lazy (オプション - デフォルト㯠proxy ):
+ デフォルトã§ã¯ã€å¤šé‡åº¦ï¼‘ã®é–¢é€£ãŒãƒ—ãƒã‚ã‚·ã¨ãªã‚Šã¾ã™ã€‚
+ lazy="no-proxy" ã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã«æœ€åˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã«ã€
+ プãƒãƒ‘ティをé…延フェッãƒã™ã‚‹ã‚ˆã†æŒ‡å®šã—ã¾ã™
+ (ビルド時ã«ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰å®Ÿè£…ãŒå¿…è¦ã«ãªã‚Šã¾ã™)。
+ lazy="false" ã¯é–¢é€£ã‚’常ã«å³æ™‚ã«ãƒ•ã‚§ãƒƒãƒã™ã‚‹ã‚ˆã†æŒ‡å®šã—ã¾ã™ã€‚
- not-found (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í exception ):
- Œ‡—Ž‚µ‚½s‚ðŽQÆ‚·‚éŠO•”ƒL[‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ðŽw’肵‚Ü‚·B
- ignore ‚ÍŒ‡—Ž‚µ‚½s‚ðnullŠÖ˜A‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
+ not-found (オプション - デフォルト㯠exception ):
+ æ¬ è½ã—ãŸè¡Œã‚’å‚ç…§ã™ã‚‹å¤–部ã‚ーをã©ã®ã‚ˆã†ã«æ‰±ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ ignore ã¯æ¬ è½ã—ãŸè¡Œã‚’null関連ã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚
- entity-name (ƒIƒvƒVƒ‡ƒ“):ŠÖ˜A‚µ‚½ƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+ entity-name (オプション):関連ã—ãŸã‚¯ãƒ©ã‚¹ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å。
- formula (ƒIƒvƒVƒ‡ƒ“):
- ŒvŽZ‚³‚ꂽ ŠO•”ƒL[‚ɑ΂µ‚Ä’l‚ð’è‹`‚·‚éSQLŽ®
+ formula (オプション):
+ 計算ã•ã‚ŒãŸ 外部ã‚ーã«å¯¾ã—ã¦å€¤ã‚’定義ã™ã‚‹SQLå¼
- cascade ‘®«‚É none ˆÈŠO‚̈Ӗ¡‚Ì‚ ‚é’l‚ð‚ðÝ’è‚·‚é‚ÆA
- ŠÖ˜AƒIƒuƒWƒFƒNƒg‚Ö‚ ‚鑀삪“`”d‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
- ˆÓ–¡‚Ì‚ ‚é’l‚Æ‚ÍHibernate‚ÌŠî–{‘€ì‚Ì–¼‘O‚Ì‚±‚Æ‚ÅA
- delete-orphan ‚Æ all A‘€ì–¼‚ðƒJƒ“ƒ}‚Å‹æØ‚Á‚½‘g‚݇‚킹
- i—Ⴆ‚Î cascade="persist,merge,evict" ‚â
- cascade="all,delete-orphan"jA
- ‚Ü‚½‚»‚ꂾ‚¯‚Å‚È‚ persist, merge, delete, save-update, evict, replicate, lock,
- refresh ‚Ì‚±‚Æ‚ðŽw‚µ‚Ü‚·B
- Ú‚µ‚¢à–¾‚Í ‚ðŒ©‚Ä‚‚¾‚³‚¢B
- ’l‚ªˆê‚‚̊֘A(many-to-one‚Æone-to-oneŠÖ˜A)‚ÍA
- ’P“Æ‚Å‚Ìíœiorphan delete)‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ cascade 属性㫠none 以外ã®æ„味ã®ã‚る値ををè¨å®šã™ã‚‹ã¨ã€
+ 関連オブジェクトã¸ã‚ã‚‹æ“作ãŒä¼æ’ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ æ„味ã®ã‚る値ã¨ã¯Hibernateã®åŸºæœ¬æ“作ã®åå‰ã®ã“ã¨ã§ã€
+ delete-orphan 㨠all ã€æ“作åをカンマã§åŒºåˆ‡ã£ãŸçµ„ã¿åˆã‚ã›
+ (例ãˆã° cascade="persist,merge,evict" ã‚„
+ cascade="all,delete-orphan")ã€
+ ã¾ãŸãã‚Œã ã‘ã§ãªã persist, merge, delete, save-update, evict, replicate, lock,
+ refresh ã®ã“ã¨ã‚’指ã—ã¾ã™ã€‚
+ 詳ã—ã„説明㯠を見ã¦ãã ã•ã„。
+ 値ãŒä¸€ã¤ã®é–¢é€£(many-to-oneã¨one-to-one関連)ã¯ã€
+ å˜ç‹¬ã§ã®å‰Šé™¤ï¼ˆorphan delete)をサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- “TŒ^“I‚È many-to-one 錾‚ÍŽŸ‚̂悤‚ɃVƒ“ƒvƒ‹‚Å‚·BF
+ 典型的㪠many-to-one 宣言ã¯æ¬¡ã®ã‚ˆã†ã«ã‚·ãƒ³ãƒ—ルã§ã™ã€‚:
]]>
- property-ref ‘®«‚ÍAŠO•”ƒL[‚ªŠÖ˜A•t‚¯‚ç‚ꂽƒe[ƒuƒ‹‚ÌAŽåƒL[‚Å‚È‚¢
- ƒ†ƒj[ƒNƒL[‚ðŽQÆ‚µ‚Ä‚¢‚郌ƒKƒV[ƒf[ƒ^‚ðƒ}ƒbƒv‚·‚邽‚ß‚É‚¾‚¯Žg‚¤‚ׂ«‚Å‚·B
- ‚±‚ê‚ÍX‚¢ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚Å‚·B
- —Ⴆ‚Î Product ƒNƒ‰ƒX‚ªA
- ŽåƒL[‚Å‚È‚¢ƒ†ƒj[ƒN‚ȃVƒŠƒAƒ‹ƒiƒ“ƒo[‚ðŽ‚Á‚Ä‚¢‚é‚Ɖ¼’肵‚Ä‚Ý‚Ä‚‚¾‚³‚¢B
- i unique ‘®«‚ÍSchemaExportƒc[ƒ‹‚ðŽg‚Á‚½Hibernate‚ÌDDL¶¬‚ð§Œä‚µ‚Ü‚·Bj
+ property-ref 属性ã¯ã€å¤–部ã‚ーãŒé–¢é€£ä»˜ã‘られãŸãƒ†ãƒ¼ãƒ–ルã®ã€ä¸»ã‚ーã§ãªã„
+ ユニークã‚ーをå‚ç…§ã—ã¦ã„るレガシーデータをマップã™ã‚‹ãŸã‚ã«ã ã‘使ã†ã¹ãã§ã™ã€‚
+ ã“ã‚Œã¯é†œã„リレーショナルモデルã§ã™ã€‚
+ 例ãˆã° Product クラスãŒã€
+ 主ã‚ーã§ãªã„ユニークãªã‚·ãƒªã‚¢ãƒ«ãƒŠãƒ³ãƒãƒ¼ã‚’æŒã£ã¦ã„ã‚‹ã¨ä»®å®šã—ã¦ã¿ã¦ãã ã•ã„。
+ ( unique 属性ã¯SchemaExportツールを使ã£ãŸHibernateã®DDL生æˆã‚’制御ã—ã¾ã™ã€‚)
]]>
- ˆÈ‰º‚̂悤‚É OrderItem ‚ɑ΂µ‚ă}ƒbƒsƒ“ƒO‚ðŽg‚¦‚Ü‚·F
+ 以下ã®ã‚ˆã†ã« OrderItem ã«å¯¾ã—ã¦ãƒžãƒƒãƒ”ングを使ãˆã¾ã™ï¼š
]]>
- ‚µ‚©‚µA‚±‚ê‚ÍŒˆ‚µ‚Ä„§‚Å‚«‚Ü‚¹‚ñB
+ ã—ã‹ã—ã€ã“ã‚Œã¯æ±ºã—ã¦æŽ¨å¥¨ã§ãã¾ã›ã‚“。
- ŽQÆ‚µ‚½ƒ†ƒj[ƒNƒL[‚ªAŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚Ì‘½”‚̃vƒƒpƒeƒB‚©‚ç\¬‚³‚ê‚éê‡A
- Žw’肵‚½ <properties> —v‘f“à‚ÅAŽQÆ‚·‚éƒvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‚ׂ«‚Å‚·B
+ å‚ç…§ã—ãŸãƒ¦ãƒ‹ãƒ¼ã‚¯ã‚ーãŒã€é–¢é€£ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®å¤šæ•°ã®ãƒ—ãƒãƒ‘ティã‹ã‚‰æ§‹æˆã•ã‚Œã‚‹å ´åˆã€
+ 指定ã—㟠<properties> è¦ç´ 内ã§ã€å‚ç…§ã™ã‚‹ãƒ—ãƒãƒ‘ティをマッピングã™ã‚‹ã¹ãã§ã™ã€‚
- ‚à‚µŽQÆ‚µ‚½ƒ†ƒj[ƒNƒL[‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚̃vƒƒpƒeƒB‚Å‚ ‚éꇂÍAƒvƒƒpƒeƒB‚̃pƒX‚ðŽw’è‚Å‚«‚Ü‚·B
+ ã‚‚ã—å‚ç…§ã—ãŸãƒ¦ãƒ‹ãƒ¼ã‚¯ã‚ーãŒã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ãƒ—ãƒãƒ‘ティã§ã‚ã‚‹å ´åˆã¯ã€ãƒ—ãƒãƒ‘ティã®ãƒ‘スを指定ã§ãã¾ã™ã€‚
]]>
@@ -1740,7 +1741,7 @@
one-to-one
- ‘¼‚̉i‘±ƒNƒ‰ƒX‚ւ̈ê‘ΈêŠÖ˜A‚ÍAone-to-one —v‘f‚Å’è‹`‚µ‚Ü‚·B
+ ä»–ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã¸ã®ä¸€å¯¾ä¸€é–¢é€£ã¯ã€one-to-one è¦ç´ ã§å®šç¾©ã—ã¾ã™ã€‚
@@ -1774,112 +1775,112 @@
- nameFƒvƒƒpƒeƒB–¼B
+ name:プãƒãƒ‘ティå。
- classiƒIƒvƒVƒ‡ƒ“ -
- ƒfƒtƒHƒ‹ƒg‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jF
- ŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+ class(オプション -
+ デフォルトã¯ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ã‚ˆã‚Šæ±ºå®šã•ã‚Œã‚‹ãƒ—ãƒãƒ‘ティã®åž‹ï¼‰ï¼š
+ 関連クラスã®åå‰ã€‚
- cascadeiƒIƒvƒVƒ‡ƒ“jF
- eƒIƒuƒWƒFƒNƒg‚©‚çŠÖ˜AƒIƒuƒWƒFƒNƒg‚ÖA‚Ç‚Ì‘€ì‚ðƒJƒXƒP[ƒh‚·‚é‚©‚ðŽw’肵‚Ü‚·B
+ cascade(オプション):
+ 親オブジェクトã‹ã‚‰é–¢é€£ã‚ªãƒ–ジェクトã¸ã€ã©ã®æ“作をカスケードã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚
- constrainediƒIƒvƒVƒ‡ƒ“jF
- ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒe[ƒuƒ‹‚ÌŽåƒL[‚ɑ΂·‚éŠO•”ƒL[§–ñ‚ªA
- ŠÖ˜AƒNƒ‰ƒX‚̃e[ƒuƒ‹‚ðŽQÆ‚·‚邱‚Æ‚ðŽw’肵‚Ü‚·B
- ‚±‚̃IƒvƒVƒ‡ƒ“‚Í save() ‚Æ
- delete() ‚ªƒJƒXƒP[ƒh‚³‚ê‚釘‚ɉe‹¿‚µA
- ‚»‚µ‚ÄŠÖ˜A‚ªƒvƒƒLƒV‚³‚ê‚é‚©‚Ç‚¤‚©‚É‚à‰e‹¿‚µ‚Ü‚·
- i‚»‚µ‚ăXƒL[ƒ}ƒGƒNƒXƒ|[ƒgƒc[ƒ‹‚É‚àŽg‚í‚ê‚Ü‚·jB
+ constrained(オプション):
+ マッピングã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã®ä¸»ã‚ーã«å¯¾ã™ã‚‹å¤–部ã‚ー制約ãŒã€
+ 関連クラスã®ãƒ†ãƒ¼ãƒ–ルをå‚ç…§ã™ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™ã€‚
+ ã“ã®ã‚ªãƒ—ション㯠save() ã¨
+ delete() ãŒã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã•ã‚Œã‚‹é †åºã«å½±éŸ¿ã—ã€
+ ãã—ã¦é–¢é€£ãŒãƒ—ãƒã‚ã‚·ã•ã‚Œã‚‹ã‹ã©ã†ã‹ã«ã‚‚影響ã—ã¾ã™
+ (ãã—ã¦ã‚¹ã‚ーマエクスãƒãƒ¼ãƒˆãƒ„ールã«ã‚‚使ã‚ã‚Œã¾ã™ï¼‰ã€‚
- fetchiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í select jF
- ŠO•”Œ‹‡ƒtƒFƒbƒ`‚ƇŽŸ‘I‘ðƒtƒFƒbƒ`isequential select fetchj‚Ì‚Ç‚¿‚ç‚©‚ð‘I‘ð‚µ‚Ü‚·B
+ fetch(オプション - デフォルト㯠select ):
+ 外部çµåˆãƒ•ã‚§ãƒƒãƒã¨é †æ¬¡é¸æŠžãƒ•ã‚§ãƒƒãƒï¼ˆsequential select fetch)ã®ã©ã¡ã‚‰ã‹ã‚’é¸æŠžã—ã¾ã™ã€‚
- property-refiƒIƒvƒVƒ‡ƒ“jF
- ‚±‚̃Nƒ‰ƒX‚ÌŽåƒL[‚ÉŒ‹‡‚³‚ꂽŠÖ˜AƒNƒ‰ƒX‚̃vƒƒpƒeƒB–¼B
- Žw’肳‚ê‚È‚¯‚ê‚ÎAŠÖ˜AƒNƒ‰ƒX‚ÌŽåƒL[‚ªŽg‚í‚ê‚Ü‚·B
+ property-ref(オプション):
+ ã“ã®ã‚¯ãƒ©ã‚¹ã®ä¸»ã‚ーã«çµåˆã•ã‚ŒãŸé–¢é€£ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティå。
+ 指定ã•ã‚Œãªã‘ã‚Œã°ã€é–¢é€£ã‚¯ãƒ©ã‚¹ã®ä¸»ã‚ーãŒä½¿ã‚ã‚Œã¾ã™ã€‚
- accessiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+ access(オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã€‚
- formula (ƒIƒvƒVƒ‡ƒ“):
- ‚Ù‚Æ‚ñ‚Ç‚·‚ׂĂ̈ê‘ΈêŠÖ˜A‚̓I[ƒi[‚̃Gƒ“ƒeƒBƒeƒB‚ÌŽåƒL[‚ւƃ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
- ‚±‚êˆÈŠO‚Ì‹H‚ÈꇂÍA
- ‘¼‚̃Jƒ‰ƒ€‚âA•¡”‚̃Jƒ‰ƒ€ASQL\•¶‚ðŽg‚Á‚½Œ‹‡‚·‚邽‚ß‚ÌŽ®‚ðŽw’è‚Å‚«‚Ü‚·B
- i—á‚Í org.hibernate.test.onetooneformula ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢Bj
+ formula (オプション):
+ ã»ã¨ã‚“ã©ã™ã¹ã¦ã®ä¸€å¯¾ä¸€é–¢é€£ã¯ã‚ªãƒ¼ãƒŠãƒ¼ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ä¸»ã‚ーã¸ã¨ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
+ ã“れ以外ã®ç¨€ãªå ´åˆã¯ã€
+ ä»–ã®ã‚«ãƒ©ãƒ ã‚„ã€è¤‡æ•°ã®ã‚«ãƒ©ãƒ ã€SQL構文を使ã£ãŸçµåˆã™ã‚‹ãŸã‚ã®å¼ã‚’指定ã§ãã¾ã™ã€‚
+ (例㯠org.hibernate.test.onetooneformula ã‚’å‚ç…§ã—ã¦ãã ã•ã„。)
- lazy (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í proxy ):
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍA‘½d“x‚P‚ÌŠÖ˜A‚ªƒvƒƒLƒV‚Æ‚È‚è‚Ü‚·B
- lazy="no-proxy" ‚ÍAƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚Éʼn‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ÉA
- ƒvƒƒpƒeƒB‚ð’x‰„ƒtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·
- (ƒrƒ‹ƒhŽž‚ɃoƒCƒgƒR[ƒhŽÀ‘•‚ª•K—v‚É‚È‚è‚Ü‚·)B
- lazy="false" ‚ÍŠÖ˜A‚ðí‚É‘¦Žž‚ɃtƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·B
- ‚à‚µ constrained="false" ‚È‚ç‚ÎA
- ƒvƒƒLƒV‚ÍŽg—p•s‰Â”\‚Æ‚È‚èAŠÖ˜A‚𑦎ž‚ɃtƒFƒbƒ`‚·‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢I
+ lazy (オプション - デフォルト㯠proxy ):
+ デフォルトã§ã¯ã€å¤šé‡åº¦ï¼‘ã®é–¢é€£ãŒãƒ—ãƒã‚ã‚·ã¨ãªã‚Šã¾ã™ã€‚
+ lazy="no-proxy" ã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã«æœ€åˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã«ã€
+ プãƒãƒ‘ティをé…延フェッãƒã™ã‚‹ã‚ˆã†æŒ‡å®šã—ã¾ã™
+ (ビルド時ã«ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰å®Ÿè£…ãŒå¿…è¦ã«ãªã‚Šã¾ã™)。
+ lazy="false" ã¯é–¢é€£ã‚’常ã«å³æ™‚ã«ãƒ•ã‚§ãƒƒãƒã™ã‚‹ã‚ˆã†æŒ‡å®šã—ã¾ã™ã€‚
+ ã‚‚ã— constrained="false" ãªã‚‰ã°ã€
+ プãƒã‚ã‚·ã¯ä½¿ç”¨ä¸å¯èƒ½ã¨ãªã‚Šã€é–¢é€£ã‚’å³æ™‚ã«ãƒ•ã‚§ãƒƒãƒã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„ï¼
- entity-name (ƒIƒvƒVƒ‡ƒ“):ŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼
+ entity-name (オプション):関連クラスã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å
- ˆê‘ΈêŠÖ˜A‚É‚Í2Ží—Þ‚ ‚è‚Ü‚·F
+ 一対一関連ã«ã¯2種類ã‚ã‚Šã¾ã™ï¼š
- ŽåƒL[ŠÖ˜A
+ 主ã‚ー関連
- ƒ†ƒj[ƒNŠO•”ƒL[ŠÖ˜A
+ ユニーク外部ã‚ー関連
- ŽåƒL[ŠÖ˜A‚É‚ÍA“Á•Ê‚ȃe[ƒuƒ‹ƒJƒ‰ƒ€‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
- ‚à‚µ2‚‚Ìs‚ªŠÖ˜A‚É‚æ‚èŠÖŒW‚µ‚Ä‚¢‚ê‚ÎA2‚‚̃e[ƒuƒ‹‚Í“¯‚¶ŽåƒL[‚Ì’l‚ð‹¤—L‚µ‚Ü‚·B
- ‚»‚Ì‚½‚ß2‚‚̃IƒuƒWƒFƒNƒg‚ðŽåƒL[ŠÖ˜A‚É‚æ‚Á‚ÄŠÖ˜A•t‚¯‚½‚¢‚Ì‚Å‚ ‚ê‚ÎA
- ŠmŽÀ‚É“¯‚¶Ž¯•ÊŽq‚Ì’l‚ð‘ã“ü‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ 主ã‚ー関連ã«ã¯ã€ç‰¹åˆ¥ãªãƒ†ãƒ¼ãƒ–ルカラムã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
+ ã‚‚ã—2ã¤ã®è¡ŒãŒé–¢é€£ã«ã‚ˆã‚Šé–¢ä¿‚ã—ã¦ã„ã‚Œã°ã€2ã¤ã®ãƒ†ãƒ¼ãƒ–ルã¯åŒã˜ä¸»ã‚ーã®å€¤ã‚’共有ã—ã¾ã™ã€‚
+ ãã®ãŸã‚2ã¤ã®ã‚ªãƒ–ジェクトを主ã‚ー関連ã«ã‚ˆã£ã¦é–¢é€£ä»˜ã‘ãŸã„ã®ã§ã‚ã‚Œã°ã€
+ 確実ã«åŒã˜è˜åˆ¥åã®å€¤ã‚’代入ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ŽåƒL[ŠÖ˜A‚ðs‚¤‚½‚ß‚É‚ÍAˆÈ‰º‚̃}ƒbƒsƒ“ƒO‚ð Employee ‚Æ
- Person ‚Ì‚»‚ꂼ‚ê‚ɒljÁ‚µ‚Ä‚‚¾‚³‚¢B
+ 主ã‚ー関連を行ã†ãŸã‚ã«ã¯ã€ä»¥ä¸‹ã®ãƒžãƒƒãƒ”ングを Employee ã¨
+ Person ã®ãã‚Œãžã‚Œã«è¿½åŠ ã—ã¦ãã ã•ã„。
]]>
]]>
- ‚±‚±‚ÅAPERSON‚ÆEMPLOYEEƒe[ƒuƒ‹‚ÌŠÖŒW‚·‚és‚ÌŽåƒL[‚ª“¯‚¶‚Å‚ ‚邱‚Æ‚ðŠmŽÀ‚É‚µ‚È‚¯‚ê‚΂¢‚¯‚Ü‚¹‚ñB
- ‚±‚±‚Å‚ÍAforeign ‚Æ‚¢‚¤“ÁŽê‚ÈHibernateŽ¯•ÊŽq¶¬í—ª‚ðŽg‚¢‚Ü‚·F
+ ã“ã“ã§ã€PERSONã¨EMPLOYEEテーブルã®é–¢ä¿‚ã™ã‚‹è¡Œã®ä¸»ã‚ーãŒåŒã˜ã§ã‚ã‚‹ã“ã¨ã‚’確実ã«ã—ãªã‘ã‚Œã°ã„ã‘ã¾ã›ã‚“。
+ ã“ã“ã§ã¯ã€foreign ã¨ã„ã†ç‰¹æ®ŠãªHibernateè˜åˆ¥å生æˆæˆ¦ç•¥ã‚’使ã„ã¾ã™ï¼š
@@ -1895,25 +1896,25 @@
]]>
- Employee ƒCƒ“ƒXƒ^ƒ“ƒX‚ªAPerson ‚Ì
- employee ƒvƒƒpƒeƒB‚ÅŽQÆ‚³‚ê‚é‚悤‚ÉA
- V‚µ‚ƒZ[ƒu‚³‚ꂽ Person ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚É‚Í“¯‚¶ŽåƒL[‚Ì’l‚ª‘ã“ü‚³‚ê‚Ü‚·B
+ Employee インスタンスãŒã€Person ã®
+ employee プãƒãƒ‘ティã§å‚ç…§ã•ã‚Œã‚‹ã‚ˆã†ã«ã€
+ æ–°ã—ãセーブã•ã‚ŒãŸ Person ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«ã¯åŒã˜ä¸»ã‚ーã®å€¤ãŒä»£å…¥ã•ã‚Œã¾ã™ã€‚
- V‚µ‚ƒZ[ƒu‚·‚é Person ƒCƒ“ƒXƒ^ƒ“ƒX‚ÍA
- ‚»‚Ì Person ‚Ì employee ƒvƒƒpƒeƒB‚ªŽQÆ‚·‚é
- Employee ƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‚µ‚Ä“¯‚¶ŽåƒL[‚ªŠ„‚è“–‚Ä‚ç‚ê‚Ü‚·B
+ æ–°ã—ãセーブã™ã‚‹ Person インスタンスã¯ã€
+ ãã® Person ã® employee プãƒãƒ‘ティãŒå‚ç…§ã™ã‚‹
+ Employee インスタンスã¨ã—ã¦åŒã˜ä¸»ã‚ーãŒå‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚
- ‚à‚¤1‚‚̕û–@‚Æ‚µ‚ÄAEmployee ‚©‚ç Person ‚Ö‚Ì
- ƒ†ƒj[ƒN§–ñ‚ðŽg‚Á‚½ŠO•”ƒL[ŠÖ˜A‚͈ȉº‚̂悤‚É•\Œ»‚³‚ê‚Ü‚·F
+ ã‚‚ã†1ã¤ã®æ–¹æ³•ã¨ã—ã¦ã€Employee ã‹ã‚‰ Person ã¸ã®
+ ユニーク制約を使ã£ãŸå¤–部ã‚ー関連ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«è¡¨ç¾ã•ã‚Œã¾ã™ï¼š
]]>
- ‚»‚µ‚Ä‚±‚ÌŠÖ˜A‚ÍA
- ˆÈ‰º‚Ì‹Lq‚ð Person ‚̃}ƒbƒsƒ“ƒO‚ɒljÁ‚·‚邱‚Æ‚Å‘o•ûŒü‚É‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·F
+ ãã—ã¦ã“ã®é–¢é€£ã¯ã€
+ 以下ã®è¨˜è¿°ã‚’ Person ã®ãƒžãƒƒãƒ”ングã«è¿½åŠ ã™ã‚‹ã“ã¨ã§åŒæ–¹å‘ã«ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼š
]]>
@@ -1930,29 +1931,29 @@
]]>
- ŽåƒL[‚Æ‚µ‚Ä‘ã—ƒL[‚ÌŽg—p‚ð„§‚µ‚Ü‚·‚ªA
- ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚ÄŽ©‘RƒL[‚ðŽ¯•Ê‚·‚é‚悤‚É‚·‚ׂ«‚Å‚·B
- Ž©‘RƒL[‚̓†ƒj[ƒN‚©‚”ñnull‚Ȉê‚‚̃vƒƒpƒeƒBA‚Ü‚½‚̓vƒƒpƒeƒB‚̘AŒ‹‚Å‚·B
- •s•Ï‚Å‚ ‚ê‚΂³‚ç‚É—Ç‚¢‚Å‚·B
- <natural-id> —v‘f“à‚ÅŽ©‘RƒL[‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- Hibernate‚Í•K‘R“I‚Ƀ†ƒj[ƒN‚©‚Ânull’l‚ð‹–‰Â‚·‚駖ñ‚𶬂µA
- ‚±‚¤‚µ‚ă}ƒbƒsƒ“ƒO‚Í‚æ‚莩ŒÈ‹Lq“I‚É‚È‚è‚Ü‚·B
+ 主ã‚ーã¨ã—ã¦ä»£ç†ã‚ーã®ä½¿ç”¨ã‚’推奨ã—ã¾ã™ãŒã€
+ ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«å¯¾ã—ã¦è‡ªç„¶ã‚ーをè˜åˆ¥ã™ã‚‹ã‚ˆã†ã«ã™ã¹ãã§ã™ã€‚
+ 自然ã‚ーã¯ãƒ¦ãƒ‹ãƒ¼ã‚¯ã‹ã¤éžnullãªä¸€ã¤ã®ãƒ—ãƒãƒ‘ティã€ã¾ãŸã¯ãƒ—ãƒãƒ‘ティã®é€£çµã§ã™ã€‚
+ ä¸å¤‰ã§ã‚ã‚Œã°ã•ã‚‰ã«è‰¯ã„ã§ã™ã€‚
+ <natural-id> è¦ç´ 内ã§è‡ªç„¶ã‚ーã®ãƒ—ãƒãƒ‘ティをマッピングã—ã¾ã™ã€‚
+ Hibernateã¯å¿…然的ã«ãƒ¦ãƒ‹ãƒ¼ã‚¯ã‹ã¤null値を許å¯ã™ã‚‹åˆ¶ç´„を生æˆã—ã€
+ ã“ã†ã—ã¦ãƒžãƒƒãƒ”ングã¯ã‚ˆã‚Šè‡ªå·±è¨˜è¿°çš„ã«ãªã‚Šã¾ã™ã€‚
- ƒGƒ“ƒeƒBƒeƒB‚ÌŽ©‘RƒL[ƒvƒƒpƒeƒB‚Ì”äŠr‚É‚ÍA
- equals() ‚Æ hashCode() ‚ÌŽÀ‘•‚ð‹‚‚¨Š©‚ß‚µ‚Ü‚·B
+ エンティティã®è‡ªç„¶ã‚ープãƒãƒ‘ティã®æ¯”較ã«ã¯ã€
+ equals() 㨠hashCode() ã®å®Ÿè£…ã‚’å¼·ããŠå‹§ã‚ã—ã¾ã™ã€‚
- ‚±‚̃}ƒbƒsƒ“ƒO‚ÍŽ©‘RŽåƒL[‚ðŽg‚Á‚½ƒGƒ“ƒeƒBƒeƒB‚Å‚ÌŽg—p‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñB
+ ã“ã®ãƒžãƒƒãƒ”ングã¯è‡ªç„¶ä¸»ã‚ーを使ã£ãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã§ã®ä½¿ç”¨ã‚’æ„図ã—ã¦ã„ã¾ã›ã‚“。
- mutable (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í false ):
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍAŽ©‘RŽ¯•ÊŽqƒvƒƒpƒeƒB‚Í•s•Ï(’è”)‚Æ‘z’肳‚ê‚Ä‚¢‚Ü‚·B
+ mutable (オプション, デフォルト㯠false ):
+ デフォルトã§ã¯ã€è‡ªç„¶è˜åˆ¥åプãƒãƒ‘ティã¯ä¸å¤‰(定数)ã¨æƒ³å®šã•ã‚Œã¦ã„ã¾ã™ã€‚
@@ -1963,10 +1964,10 @@
component, dynamic-component
- <component> —v‘f‚ÍA
- ŽqƒIƒuƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚ðeƒNƒ‰ƒX‚̃e[ƒuƒ‹‚̃Jƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚ÍŽ©•ª‚̃vƒƒpƒeƒBAƒRƒ“ƒ|[ƒlƒ“ƒgAƒRƒŒƒNƒVƒ‡ƒ“‚̇‚É’è‹`‚Å‚«‚Ü‚·B
- ˆÈ‰º‚ÌuƒRƒ“ƒ|[ƒlƒ“ƒgv‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ <component> è¦ç´ ã¯ã€
+ åオブジェクトã®ãƒ—ãƒãƒ‘ティを親クラスã®ãƒ†ãƒ¼ãƒ–ルã®ã‚«ãƒ©ãƒ ã¸ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã¯è‡ªåˆ†ã®ãƒ—ãƒãƒ‘ティã€ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®é †ã«å®šç¾©ã§ãã¾ã™ã€‚
+ 以下ã®ã€Œã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã€ã‚’見ã¦ãã ã•ã„。
@@ -1999,72 +2000,72 @@
- nameFƒvƒƒpƒeƒB–¼B
+ name:プãƒãƒ‘ティå。
class
- iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓ŠƒtƒŒƒNƒVƒ‡ƒ“‚É‚æ‚茈’肳‚ê‚éƒvƒƒpƒeƒB‚ÌŒ^jF
- ƒRƒ“ƒ|[ƒlƒ“ƒgiŽqjƒNƒ‰ƒX‚Ì–¼‘OB
+ (オプション - デフォルトã¯ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ã‚ˆã‚Šæ±ºå®šã•ã‚Œã‚‹ãƒ—ãƒãƒ‘ティã®åž‹ï¼‰ï¼š
+ コンãƒãƒ¼ãƒãƒ³ãƒˆï¼ˆå)クラスã®åå‰ã€‚
- insert Fƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì
- INSERT ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+ insert :マッピングã•ã‚ŒãŸã‚«ãƒ©ãƒ ãŒSQLã®
+ INSERT ã«ç¾ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
- update : ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL ‚Ì
- UPDATE ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+ update : マッピングã•ã‚ŒãŸã‚«ãƒ©ãƒ ãŒSQL ã®
+ UPDATE ã«ç¾ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
- access iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+ access (オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã€‚
- lazy (optional - ƒfƒtƒHƒ‹ƒg‚Í false ):
- ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚Éʼn‚ɃAƒNƒZƒX‚µ‚½‚Æ‚«‚ÉA
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚ð’x‰„‚µ‚ătƒFƒbƒ`‚·‚é‚悤Žw’肵‚Ü‚·B
- (ƒoƒCƒgƒR[ƒhŽÀ‘•‚ð쬂·‚鎞ŠÔ‚ª•K—v‚É‚È‚è‚Ü‚·)
+ lazy (optional - デフォルト㯠false ):
+ インスタンス変数ã«æœ€åˆã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãŸã¨ãã«ã€
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’é…延ã—ã¦ãƒ•ã‚§ãƒƒãƒã™ã‚‹ã‚ˆã†æŒ‡å®šã—ã¾ã™ã€‚
+ (ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰å®Ÿè£…を作æˆã™ã‚‹æ™‚é–“ãŒå¿…è¦ã«ãªã‚Šã¾ã™)
- optimistic-lock (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true ):
- ‚±‚̃vƒƒpƒeƒB‚ÌXV‚ÉAŠyŠÏƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
- Œ¾‚¢Š·‚¦‚ê‚ÎA‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚ð‘‚â‚·‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+ optimistic-lock (オプション - デフォルト㯠true ):
+ ã“ã®ãƒ—ãƒãƒ‘ティã®æ›´æ–°ã«ã€æ¥½è¦³ãƒãƒƒã‚¯ã®å–å¾—ã‚’è¦æ±‚ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ 言ã„æ›ãˆã‚Œã°ã€ã“ã®ãƒ—ãƒãƒ‘ティãŒãƒ€ãƒ¼ãƒ†ã‚£ã§ã‚ã‚‹ã¨ãã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’増やã™ã¹ãã‹ã‚’決定ã—ã¾ã™ã€‚
- unique (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í false ):
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‚·‚ׂẴ}ƒbƒsƒ“ƒO‚·‚éƒJƒ‰ƒ€‚ÉAƒ†ƒj[ƒN§–ñ‚ª‘¶Ý‚·‚é‚©‚ðŽw’肵‚Ü‚·B
+ unique (オプション - デフォルト㯠false ):
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®ã™ã¹ã¦ã®ãƒžãƒƒãƒ”ングã™ã‚‹ã‚«ãƒ©ãƒ ã«ã€ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ãŒå˜åœ¨ã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚
- Žq‚Ì <property> ƒ^ƒO‚ÅA
- Žq‚̃Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ðƒe[ƒuƒ‹ƒJƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+ åã® <property> ã‚¿ã‚°ã§ã€
+ åã®ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティをテーブルカラムã«ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
- <component> —v‘f‚ÍAeƒGƒ“ƒeƒBƒeƒB‚Ö–ß‚éŽQÆ‚Æ‚µ‚ÄA
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚̃Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚é <parent> ƒTƒu—v‘f‚ð‹–‰Â‚µ‚Ü‚·B
+ <component> è¦ç´ ã¯ã€è¦ªã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸æˆ»ã‚‹å‚ç…§ã¨ã—ã¦ã€
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティをマッピングã™ã‚‹ <parent> サブè¦ç´ を許å¯ã—ã¾ã™ã€‚
- <dynamic-component> —v‘f‚ÍA
- Map ‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ê‚邱‚Æ‚ð‰Â”\‚É‚µ‚Ü‚·B
- ƒvƒƒpƒeƒB–¼‚Ímap‚̃L[‚ðŽQÆ‚µ‚Ü‚·B ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ <dynamic-component> è¦ç´ ã¯ã€
+ Map ãŒã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã¨ã—ã¦ãƒžãƒƒãƒ”ングã•ã‚Œã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
+ プãƒãƒ‘ティåã¯mapã®ã‚ーをå‚ç…§ã—ã¾ã™ã€‚ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
@@ -2074,11 +2075,11 @@
properties
- <properties> —v‘f‚̓Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ÌŽw’肳‚ꂽA
- ˜_—“I‚ȃOƒ‹[ƒsƒ“ƒO‚ð‰Â”\‚É‚µ‚Ü‚·B
- ‚±‚Ì\‘¢‚ÌÅ‚àd—v‚ÈŽg—p•û–@‚ÍA
- property-ref ‚̃^[ƒQƒbƒg‚É‚È‚éƒvƒƒpƒeƒB‚ÌŒ‹‡‚ð‹–‰Â‚·‚邱‚Æ‚Å‚·B
- ‚»‚ê‚Í‚Ü‚½A•¡”ƒJƒ‰ƒ€‚̃†ƒj[ƒN§–ñ‚ð’è‹`‚·‚éŠÈ’P‚È•û–@‚Å‚à‚ ‚è‚Ü‚·B
+ <properties> è¦ç´ ã¯ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティã®æŒ‡å®šã•ã‚ŒãŸã€
+ è«–ç†çš„ãªã‚°ãƒ«ãƒ¼ãƒ”ングをå¯èƒ½ã«ã—ã¾ã™ã€‚
+ ã“ã®æ§‹é€ ã®æœ€ã‚‚é‡è¦ãªä½¿ç”¨æ–¹æ³•ã¯ã€
+ property-ref ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã«ãªã‚‹ãƒ—ãƒãƒ‘ティã®çµåˆã‚’許å¯ã™ã‚‹ã“ã¨ã§ã™ã€‚
+ ãã‚Œã¯ã¾ãŸã€è¤‡æ•°ã‚«ãƒ©ãƒ ã®ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„を定義ã™ã‚‹ç°¡å˜ãªæ–¹æ³•ã§ã‚‚ã‚ã‚Šã¾ã™ã€‚
@@ -2104,40 +2105,40 @@
- name : ƒOƒ‹[ƒsƒ“ƒO‚̘_—–¼B
- ŽÀۂ̃vƒƒpƒeƒB–¼‚Å‚Í ‚ ‚è‚Ü‚¹‚ñ B
+ name : グルーピングã®è«–ç†å。
+ 実際ã®ãƒ—ãƒãƒ‘ティåã§ã¯ ã‚ã‚Šã¾ã›ã‚“ 。
- insertFƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì
- INSERT ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+ insert:マッピングã•ã‚ŒãŸã‚«ãƒ©ãƒ ãŒSQLã®
+ INSERT ã«ç¾ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
- updateFƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ªSQL‚Ì
- UPDATE ‚ÉŒ»‚ê‚é‚悤‚É‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+ update:マッピングã•ã‚ŒãŸã‚«ãƒ©ãƒ ãŒSQLã®
+ UPDATE ã«ç¾ã‚Œã‚‹ã‚ˆã†ã«ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
- optimistic-lock (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true ):
- ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚ÌXV‚ÉŠyŠÏ“IƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
- Œ¾‚¢Š·‚¦‚ê‚ÎA‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚ð‘‚â‚·‚ׂ«‚©‚ðŒˆ’è‚µ‚Ü‚·B
+ optimistic-lock (オプション - デフォルト㯠true ):
+ ã“れらã®ãƒ—ãƒãƒ‘ティã®æ›´æ–°ã«æ¥½è¦³çš„ãƒãƒƒã‚¯ã®å–å¾—ã‚’è¦æ±‚ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ 言ã„æ›ãˆã‚Œã°ã€ã“ã®ãƒ—ãƒãƒ‘ティãŒãƒ€ãƒ¼ãƒ†ã‚£ã§ã‚ã‚‹ã¨ãã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’増やã™ã¹ãã‹ã‚’決定ã—ã¾ã™ã€‚
- unique (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í false ):
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‚·‚ׂẴ}ƒbƒsƒ“ƒO‚·‚éƒJƒ‰ƒ€‚ÉAƒ†ƒj[ƒN§–ñ‚ª‘¶Ý‚·‚é‚©‚ðŽw’肵‚Ü‚·B
+ unique (オプション - デフォルト㯠false ):
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®ã™ã¹ã¦ã®ãƒžãƒƒãƒ”ングã™ã‚‹ã‚«ãƒ©ãƒ ã«ã€ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ãŒå˜åœ¨ã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚
- —Ⴆ‚ÎA‚à‚µˆÈ‰º‚̂悤‚È <properties> ƒ}ƒbƒsƒ“ƒO‚ª‚ ‚Á‚½ê‡F
+ 例ãˆã°ã€ã‚‚ã—以下ã®ã‚ˆã†ãª <properties> マッピングãŒã‚ã£ãŸå ´åˆï¼š
@@ -2152,8 +2153,8 @@
]]>
- ŽåƒL[‚Ì‘ã‚í‚è‚É Person ƒe[ƒuƒ‹‚̃†ƒj[ƒNƒL[‚Ö‚ÌŽQÆ‚ðŽ‚ÂA
- ƒŒƒKƒV[ƒf[ƒ^‚ÌŠÖ˜A‚ðŽ‚‚©‚à‚µ‚ê‚Ü‚¹‚ñBF
+ 主ã‚ーã®ä»£ã‚ã‚Šã« Person テーブルã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ã‚ーã¸ã®å‚照をæŒã¤ã€
+ レガシーデータã®é–¢é€£ã‚’æŒã¤ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。:
]]>
- ‚µ‚©‚µA‚±‚̂悤‚ȃŒƒKƒV[ƒf[ƒ^ƒ}ƒbƒsƒ“ƒO‚̃Rƒ“ƒeƒLƒXƒgŠO‚Ö‚ÌŽg—p‚Í„§‚µ‚Ü‚¹‚ñB
+ ã—ã‹ã—ã€ã“ã®ã‚ˆã†ãªãƒ¬ã‚¬ã‚·ãƒ¼ãƒ‡ãƒ¼ã‚¿ãƒžãƒƒãƒ”ングã®ã‚³ãƒ³ãƒ†ã‚スト外ã¸ã®ä½¿ç”¨ã¯æŽ¨å¥¨ã—ã¾ã›ã‚“。
@@ -2173,9 +2174,9 @@
subclass
- ÅŒã‚Ƀ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȉi‘±‰»‚É‚ÍAƒ‹[ƒg‚̉i‘±ƒNƒ‰ƒX‚ÌŠeƒTƒuƒNƒ‰ƒX‚Ì’è‹`‚ª•K—v‚Å‚·B
- table-per-class-hierarchyƒ}ƒbƒsƒ“ƒOí—ª‚Å‚ÍA
- <subclass> ’è‹`‚ªŽg‚í‚ê‚Ü‚·B
+ 最後ã«ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªæ°¸ç¶šåŒ–ã«ã¯ã€ãƒ«ãƒ¼ãƒˆã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã®å„サブクラスã®å®šç¾©ãŒå¿…è¦ã§ã™ã€‚
+ table-per-class-hierarchyマッピング戦略ã§ã¯ã€
+ <subclass> 定義ãŒä½¿ã‚ã‚Œã¾ã™ã€‚
@@ -2202,37 +2203,37 @@
- nameFƒTƒuƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+ name:サブクラスã®å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸã‚¯ãƒ©ã‚¹å。
- discriminator-valueiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓Nƒ‰ƒX–¼jF
- ŒÂX‚̃TƒuƒNƒ‰ƒX‚ð‹æ•Ê‚·‚邽‚ß‚Ì’lB
+ discriminator-value(オプション - デフォルトã¯ã‚¯ãƒ©ã‚¹å):
+ 個々ã®ã‚µãƒ–クラスを区別ã™ã‚‹ãŸã‚ã®å€¤ã€‚
- proxyiƒIƒvƒVƒ‡ƒ“jF
- ’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg‚¤ƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
+ proxy(オプション):
+ é…延åˆæœŸåŒ–プãƒã‚ã‚·ã«ä½¿ã†ã‚¯ãƒ©ã‚¹ã‚„インターフェイスを指定ã—ã¾ã™ã€‚
- lazyiƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í true jF
- lazy="false" ‚ÆÝ’è‚·‚é‚ÆA’x‰„ƒtƒFƒbƒ`‚ªŽg—p‚Å‚«‚Ü‚¹‚ñB
+ lazy(オプション, デフォルト㯠true ):
+ lazy="false" ã¨è¨å®šã™ã‚‹ã¨ã€é…延フェッãƒãŒä½¿ç”¨ã§ãã¾ã›ã‚“。
- ŠeƒTƒuƒNƒ‰ƒX‚Å‚ÍA‰i‘±ƒvƒƒpƒeƒB‚ƃTƒuƒNƒ‰ƒX‚ð’è‹`‚µ‚Ü‚·B
- <version> ‚Æ <id> ƒvƒƒpƒeƒB‚ÍA
- ƒ‹[ƒgƒNƒ‰ƒX‚©‚çŒp³‚³‚ê‚é‚Ɖ¼’肳‚ê‚Ü‚·B
- ŠK‘w\‘¢‚É‚¨‚¯‚éƒTƒuƒNƒ‰ƒX‚ÍA
- ƒ†ƒj[ƒN‚È discriminator-value ‚ð’è‹`‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- none‚ªŽw’肳‚ê‚é‚ÆAŠ®‘SCü‚³‚ꂽJavaƒNƒ‰ƒX–¼‚ªŽg‚í‚ê‚Ü‚·B
+ å„サブクラスã§ã¯ã€æ°¸ç¶šãƒ—ãƒãƒ‘ティã¨ã‚µãƒ–クラスを定義ã—ã¾ã™ã€‚
+ <version> 㨠<id> プãƒãƒ‘ティã¯ã€
+ ルートクラスã‹ã‚‰ç¶™æ‰¿ã•ã‚Œã‚‹ã¨ä»®å®šã•ã‚Œã¾ã™ã€‚
+ éšŽå±¤æ§‹é€ ã«ãŠã‘るサブクラスã¯ã€
+ ユニーク㪠discriminator-value を定義ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ noneãŒæŒ‡å®šã•ã‚Œã‚‹ã¨ã€å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸJavaクラスåãŒä½¿ã‚ã‚Œã¾ã™ã€‚
- Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÖ‚·‚éî•ñ‚Í ‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ 継承ã®ãƒžãƒƒãƒ”ングã«é–¢ã™ã‚‹æƒ…å ±ã¯ ã‚’è¦‹ã¦ãã ã•ã„。
@@ -2277,10 +2278,10 @@
joined-subclass
- ‚à‚¤1‚‚̕û–@‚Æ‚µ‚ÄAŠeƒTƒuƒNƒ‰ƒX‚ðŽ©g‚̃e[ƒuƒ‹‚Öƒ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·
- (table-per-subclass mapping strategy)B
- Œp³‚µ‚½ó‘Ԃ̓X[ƒp[ƒNƒ‰ƒX‚̃e[ƒuƒ‹‚ðŽg‚Á‚½Œ‹‡‚ÅŒŸõ‚µ‚Ü‚·B
- <joined-subclass> —v‘f‚ðŽg—p‚µ‚Ü‚·B
+ ã‚‚ã†1ã¤ã®æ–¹æ³•ã¨ã—ã¦ã€å„サブクラスを自身ã®ãƒ†ãƒ¼ãƒ–ルã¸ãƒžãƒƒãƒ”ングã™ã‚‹ã“ã¨ãŒã§ãã¾ã™
+ (table-per-subclass mapping strategy)。
+ 継承ã—ãŸçŠ¶æ…‹ã¯ã‚¹ãƒ¼ãƒ‘ークラスã®ãƒ†ãƒ¼ãƒ–ルを使ã£ãŸçµåˆã§æ¤œç´¢ã—ã¾ã™ã€‚
+ <joined-subclass> è¦ç´ を使用ã—ã¾ã™ã€‚
@@ -2313,34 +2314,34 @@
- nameFƒTƒuƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+ name:サブクラスã®å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸã‚¯ãƒ©ã‚¹å。
- table :ƒTƒuƒNƒ‰ƒXƒe[ƒuƒ‹‚Ì–¼‘OB
+ table :サブクラステーブルã®åå‰ã€‚
- proxy (ƒIƒvƒVƒ‡ƒ“):
- ’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg—p‚·‚éƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
+ proxy (オプション):
+ é…延åˆæœŸåŒ–プãƒã‚ã‚·ã«ä½¿ç”¨ã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚„インターフェイスを指定ã—ã¾ã™ã€‚
- lazy (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í true ):
- lazy="false" ‚Æ‚·‚é‚ÆA’x‰„ƒtƒFƒbƒ`‚ªŽg—p‚Å‚«‚Ü‚¹‚ñB
+ lazy (オプション, デフォルト㯠true ):
+ lazy="false" ã¨ã™ã‚‹ã¨ã€é…延フェッãƒãŒä½¿ç”¨ã§ãã¾ã›ã‚“。
- ‚±‚̃}ƒbƒsƒ“ƒOí—ª‚É‚ÍAŽ¯•ÊƒJƒ‰ƒ€‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
- ‚µ‚©‚µŠeƒTƒuƒNƒ‰ƒX‚Í <key> —v‘f‚ðŽg‚¢A
- ƒIƒuƒWƒFƒNƒgŽ¯•ÊŽq‚ð•ÛŽ‚·‚éƒe[ƒuƒ‹ƒJƒ‰ƒ€‚ð’è‹`‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚±‚Ì͂̉‚߂̃}ƒbƒsƒ“ƒO‚͈ȉº‚̂悤‚É‘‚«’¼‚¹‚Ü‚·F
+ ã“ã®ãƒžãƒƒãƒ”ング戦略ã«ã¯ã€è˜åˆ¥ã‚«ãƒ©ãƒ ã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
+ ã—ã‹ã—å„サブクラス㯠<key> è¦ç´ を使ã„ã€
+ オブジェクトè˜åˆ¥åã‚’ä¿æŒã™ã‚‹ãƒ†ãƒ¼ãƒ–ルカラムを定義ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã“ã®ç« ã®åˆã‚ã®ãƒžãƒƒãƒ”ングã¯ä»¥ä¸‹ã®ã‚ˆã†ã«æ›¸ãç›´ã›ã¾ã™ï¼š
@@ -2370,13 +2371,13 @@
-
+
]]>
- Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÖ‚·‚éî•ñ‚Í ‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ 継承ã®ãƒžãƒƒãƒ”ングã«é–¢ã™ã‚‹æƒ…å ±ã¯ ã‚’è¦‹ã¦ãã ã•ã„。
@@ -2385,14 +2386,14 @@
union-subclass
- 3‚–ڂ̑I‘ðŽˆ‚ÍAŒp³ŠK‘w‚Ì‹ïÛƒNƒ‰ƒX‚Ì‚Ý‚ðƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚Å‚·
- (the table-per-concrete-classí—ª)B
- ‚»‚ꂼ‚ê‚̃e[ƒuƒ‹‚ÍŒp³‚Ìó‘Ô‚ðŠÜ‚ß‚·‚ׂẴNƒ‰ƒX‚̉i‘±ó‘Ô‚ð’è‹`‚µ‚Ü‚·B
- Hibernate‚Å‚Í‚»‚Ì—l‚ÈŒp³ŠK‘w‚ª•K‚¸‚µ‚à•K—v‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ’Pƒ‚É‚»‚ꂼ‚ê‚̃Nƒ‰ƒX‚ðA
- •ÊX‚Ì <class> 錾‚ðŽg‚Á‚ă}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚µ‚©‚µƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈŠÖ˜A(—Ⴆ‚Î ŠK‘w‚̃X[ƒp[ƒNƒ‰ƒX‚Ö‚ÌŠÖ˜A)‚ðŽg‚¢‚½‚¢‚È‚çA
- <union-subclass> ƒ}ƒbƒsƒ“ƒO‚ðŽg‚¤•K—v‚ª‚ ‚è‚Ü‚·B
+ 3ã¤ç›®ã®é¸æŠžè‚¢ã¯ã€ç¶™æ‰¿éšŽå±¤ã®å…·è±¡ã‚¯ãƒ©ã‚¹ã®ã¿ã‚’テーブルã«ãƒžãƒƒãƒ”ングã™ã‚‹ã“ã¨ã§ã™
+ (the table-per-concrete-class戦略)。
+ ãã‚Œãžã‚Œã®ãƒ†ãƒ¼ãƒ–ルã¯ç¶™æ‰¿ã®çŠ¶æ…‹ã‚’å«ã‚ã™ã¹ã¦ã®ã‚¯ãƒ©ã‚¹ã®æ°¸ç¶šçŠ¶æ…‹ã‚’定義ã—ã¾ã™ã€‚
+ Hibernateã§ã¯ãã®æ§˜ãªç¶™æ‰¿éšŽå±¤ãŒå¿…ãšã—ã‚‚å¿…è¦ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ å˜ç´”ã«ãã‚Œãžã‚Œã®ã‚¯ãƒ©ã‚¹ã‚’ã€
+ 別々㮠<class> 宣言を使ã£ã¦ãƒžãƒƒãƒ”ングã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã—ã‹ã—ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªé–¢é€£(例ãˆã° 階層ã®ã‚¹ãƒ¼ãƒ‘ークラスã¸ã®é–¢é€£)を使ã„ãŸã„ãªã‚‰ã€
+ <union-subclass> マッピングを使ã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
@@ -2425,35 +2426,35 @@
- nameFƒTƒuƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+ name:サブクラスã®å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸã‚¯ãƒ©ã‚¹å。
- table :ƒTƒuƒNƒ‰ƒXƒe[ƒuƒ‹‚Ì–¼‘OB
+ table :サブクラステーブルã®åå‰ã€‚
- proxy (ƒIƒvƒVƒ‡ƒ“):
- ’x‰„‰Šú‰»ƒvƒƒLƒV‚ÉŽg—p‚·‚éƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽw’肵‚Ü‚·B
+ proxy (オプション):
+ é…延åˆæœŸåŒ–プãƒã‚ã‚·ã«ä½¿ç”¨ã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚„インターフェイスを指定ã—ã¾ã™ã€‚
- lazy (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í true ):
- lazy="false" ‚Æ‚·‚é‚ÆA’x‰„ƒtƒFƒbƒ`‚ªŽg—p‚Å‚«‚Ü‚¹‚ñB
+ lazy (オプション, デフォルト㯠true ):
+ lazy="false" ã¨ã™ã‚‹ã¨ã€é…延フェッãƒãŒä½¿ç”¨ã§ãã¾ã›ã‚“。
- ‚±‚̃}ƒbƒsƒ“ƒOí—ª‚Å‚ÍŽ¯•ÊƒJƒ‰ƒ€‚âƒL[ƒJƒ‰ƒ€‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
+ ã“ã®ãƒžãƒƒãƒ”ング戦略ã§ã¯è˜åˆ¥ã‚«ãƒ©ãƒ ã‚„ã‚ーカラムã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
- Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÖ‚·‚éî•ñ‚Í ‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ 継承ã®ãƒžãƒƒãƒ”ングã«é–¢ã™ã‚‹æƒ…å ±ã¯ ã‚’è¦‹ã¦ãã ã•ã„。
@@ -2462,8 +2463,8 @@
join
- <join> —v‘f‚ðŽg‚¤‚±‚Æ‚ÅA
- ‚P‚‚̃Nƒ‰ƒX‚̃vƒƒpƒeƒB‚ð‚¢‚‚‚à‚̃e[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ <join> è¦ç´ を使ã†ã“ã¨ã§ã€
+ 1ã¤ã®ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティをã„ãã¤ã‚‚ã®ãƒ†ãƒ¼ãƒ–ルã«ãƒžãƒƒãƒ”ングã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
@@ -2492,58 +2493,58 @@
- table :Œ‹‡‚µ‚½ƒe[ƒuƒ‹‚Ì–¼‘O
+ table :çµåˆã—ãŸãƒ†ãƒ¼ãƒ–ルã®åå‰
- schema (ƒIƒvƒVƒ‡ƒ“):
- ƒ‹[ƒg‚Ì <hibernate-mapping> —v‘f‚ÅŽw’肵‚½ƒXƒL[ƒ}–¼‚ð
- ƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+ schema (オプション):
+ ルート㮠<hibernate-mapping> è¦ç´ ã§æŒ‡å®šã—ãŸã‚¹ã‚ーマåã‚’
+ オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚
- catalog (ƒIƒvƒVƒ‡ƒ“):
- ƒ‹[ƒg‚Ì <hibernate-mapping> —v‘f‚ÅŽw’肵‚½ƒJƒ^ƒƒO–¼‚ð
- ƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·B
+ catalog (オプション):
+ ルート㮠<hibernate-mapping> è¦ç´ ã§æŒ‡å®šã—ãŸã‚«ã‚¿ãƒã‚°åã‚’
+ オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™ã€‚
- fetch (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í join ):
- join ‚ðݒ肵‚½ê‡A
- Hibernate‚̓fƒtƒHƒ‹ƒg‚ÅAƒNƒ‰ƒX‚âƒX[ƒp[ƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <join>
- ‚ðŒŸõ‚·‚é‚Ì‚É“à•”Œ‹‡‚ðŽg‚¢AƒTƒuƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <join>
- ‚ðŒŸõ‚·‚é‚Ì‚ÉŠO•”Œ‹‡‚ðŽg‚¢‚Ü‚·B
- select ‚ðݒ肵‚½ê‡‚É‚ÍA
- Hibernate‚̓TƒuƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <join>
- ‚Ì‘I‘ð‚ɇŽŸ‘I‘ð‚ðŽg‚¢‚Ü‚·B‚±‚Ìê‡A
- s‚ªƒTƒuƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‘ã•\‚·‚邱‚Æ‚ª‚í‚©‚Á‚½ê‡‚É‚Ì‚Ý”s‚³‚ê‚Ü‚·B
- “à•”Œ‹‡‚̓Nƒ‰ƒX‚â‚»‚̃X[ƒp[ƒNƒ‰ƒX‚Å’è‹`‚³‚ꂽ <join> ‚ðŒŸõ
- ‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
+ fetch (オプション - デフォルト㯠join ):
+ join ã‚’è¨å®šã—ãŸå ´åˆã€
+ Hibernateã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã€ã‚¯ãƒ©ã‚¹ã‚„スーパークラスã§å®šç¾©ã•ã‚ŒãŸ <join>
+ を検索ã™ã‚‹ã®ã«å†…部çµåˆã‚’使ã„ã€ã‚µãƒ–クラスã§å®šç¾©ã•ã‚ŒãŸ <join>
+ を検索ã™ã‚‹ã®ã«å¤–部çµåˆã‚’使ã„ã¾ã™ã€‚
+ select ã‚’è¨å®šã—ãŸå ´åˆã«ã¯ã€
+ Hibernateã¯ã‚µãƒ–クラスã§å®šç¾©ã•ã‚ŒãŸ <join>
+ ã®é¸æŠžã«é †æ¬¡é¸æŠžã‚’使ã„ã¾ã™ã€‚ã“ã®å ´åˆã€
+ è¡ŒãŒã‚µãƒ–クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’代表ã™ã‚‹ã“ã¨ãŒã‚ã‹ã£ãŸå ´åˆã«ã®ã¿ç™ºè¡Œã•ã‚Œã¾ã™ã€‚
+ 内部çµåˆã¯ã‚¯ãƒ©ã‚¹ã‚„ãã®ã‚¹ãƒ¼ãƒ‘ークラスã§å®šç¾©ã•ã‚ŒãŸ <join> を検索
+ ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚
- inverse (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í false ):
- ‚à‚µ‰Â”\‚Å‚ ‚ê‚ÎAHibernate‚Í‚±‚ÌŒ‹‡‚Å’è‹`‚³‚ê‚Ä‚¢‚éƒvƒƒpƒeƒB‚ɑ΂µ
- ‘}“ü‚âXV‚ðs‚¢‚Ü‚¹‚ñB
+ inverse (オプション - デフォルト㯠false ):
+ ã‚‚ã—å¯èƒ½ã§ã‚ã‚Œã°ã€Hibernateã¯ã“ã®çµåˆã§å®šç¾©ã•ã‚Œã¦ã„るプãƒãƒ‘ティã«å¯¾ã—
+ 挿入や更新を行ã„ã¾ã›ã‚“。
- optional (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í false ):
- ‚à‚µ‰Â”\‚Å‚ ‚ê‚ÎAHibernate‚Í‚±‚ÌŒ‹‡‚Å’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚ªnull‚Å‚È‚¢ê‡‚É‚Ì‚Ý
- s‚ð‘}“ü‚µA‚»‚̃vƒƒpƒeƒB‚ÌŒŸõ‚É‚Íí‚ÉŠO•”Œ‹‡‚ðŽg—p‚µ‚Ü‚·B
+ optional (オプション - デフォルト㯠false ):
+ ã‚‚ã—å¯èƒ½ã§ã‚ã‚Œã°ã€Hibernateã¯ã“ã®çµåˆã§å®šç¾©ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティãŒnullã§ãªã„å ´åˆã«ã®ã¿
+ 行を挿入ã—ã€ãã®ãƒ—ãƒãƒ‘ティã®æ¤œç´¢ã«ã¯å¸¸ã«å¤–部çµåˆã‚’使用ã—ã¾ã™ã€‚
- —Ⴆ‚Îl‚̃AƒhƒŒƒX‚Ìî•ñ‚𕪗£‚µ‚½ƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ª‰Â”\‚Å‚·
- (‚·‚ׂẴvƒƒpƒeƒB‚ɑ΂µ‚Ä’lŒ^‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ð•ÛŽ‚µ‚Ü‚·)B
+ 例ãˆã°äººã®ã‚¢ãƒ‰ãƒ¬ã‚¹ã®æƒ…å ±ã‚’åˆ†é›¢ã—ãŸãƒ†ãƒ¼ãƒ–ルã«ãƒžãƒƒãƒ”ングã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™
+ (ã™ã¹ã¦ã®ãƒ—ãƒãƒ‘ティã«å¯¾ã—ã¦å€¤åž‹ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã‚’ä¿æŒã—ã¾ã™)。
- ‚±‚Ì“Á’¥‚Í‚µ‚΂µ‚΃ŒƒKƒV[ƒf[ƒ^ƒ‚ƒfƒ‹‚ɑ΂µ‚Ä‚Ì‚Ý—L—p‚Å‚·‚ªA
- ƒNƒ‰ƒX‚æ‚è‚à‚È‚¢ƒe[ƒuƒ‹‚ÆA‚«‚ß‚Ìׂ©‚¢ƒhƒƒCƒ“ƒ‚ƒfƒ‹‚ð„§‚µ‚Ü‚·B
- ‚µ‚©‚µŒã‚Åà–¾‚·‚é‚悤‚ÉA‚P‚‚̃Nƒ‰ƒXŠK‘w‚ÅŒp³‚̃}ƒbƒsƒ“ƒOí—ª‚ðØ‚è‘Ö‚¦‚鎞‚É‚Í—L—p‚Å‚·B
+ ã“ã®ç‰¹å¾´ã¯ã—ã°ã—ã°ãƒ¬ã‚¬ã‚·ãƒ¼ãƒ‡ãƒ¼ã‚¿ãƒ¢ãƒ‡ãƒ«ã«å¯¾ã—ã¦ã®ã¿æœ‰ç”¨ã§ã™ãŒã€
+ クラスよりも少ãªã„テーブルã¨ã€ãã‚ã®ç´°ã‹ã„ドメインモデルを推奨ã—ã¾ã™ã€‚
+ ã—ã‹ã—後ã§èª¬æ˜Žã™ã‚‹ã‚ˆã†ã«ã€ï¼‘ã¤ã®ã‚¯ãƒ©ã‚¹éšŽå±¤ã§ç¶™æ‰¿ã®ãƒžãƒƒãƒ”ング戦略を切り替ãˆã‚‹æ™‚ã«ã¯æœ‰ç”¨ã§ã™ã€‚
@@ -2571,10 +2572,10 @@
key
- ¡‚܂ʼn½“x‚© <key> —v‘f‚ªo‚Ä‚«‚Ü‚µ‚½B
- ‚±‚Ì—v‘f‚ÍV‚µ‚¢ƒe[ƒuƒ‹‚Ö‚ÌŒ‹‡‚ð’è‹`‚µ‚½‚èA
- Œ‹‡ƒe[ƒuƒ‹‚ÅŠO•”ƒL[‚ð’è‹`‚µ‚½‚è‚·‚ée—v‘f‚Ì‚Ç‚±‚É‚Å‚àŒ»‚êA
- ƒIƒŠƒWƒiƒ‹ƒe[ƒuƒ‹‚ÌŽåƒL[‚ðŽQÆ‚µ‚Ü‚·B
+ 今ã¾ã§ä½•åº¦ã‹ <key> è¦ç´ ãŒå‡ºã¦ãã¾ã—ãŸã€‚
+ ã“ã®è¦ç´ ã¯æ–°ã—ã„テーブルã¸ã®çµåˆã‚’定義ã—ãŸã‚Šã€
+ çµåˆãƒ†ãƒ¼ãƒ–ルã§å¤–部ã‚ーを定義ã—ãŸã‚Šã™ã‚‹è¦ªè¦ç´ ã®ã©ã“ã«ã§ã‚‚ç¾ã‚Œã€
+ オリジナルテーブルã®ä¸»ã‚ーをå‚ç…§ã—ã¾ã™ã€‚
@@ -2598,72 +2599,72 @@
- column (ƒIƒvƒVƒ‡ƒ“):ŠO•”ƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
- ƒlƒXƒg‚µ‚½ <column> ƒJƒ‰ƒ€‚É‚æ‚Á‚Ä‚àŽw’肳‚ê‚Ü‚·B
+ column (オプション):外部ã‚ーカラムã®åå‰ã€‚
+ ãƒã‚¹ãƒˆã—㟠<column> カラムã«ã‚ˆã£ã¦ã‚‚指定ã•ã‚Œã¾ã™ã€‚
- on-delete (ƒIƒvƒVƒ‡ƒ“, ƒfƒtƒHƒ‹ƒg‚Í noaction):
- ŠO•”ƒL[§–ñ‚ªƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚ŃJƒXƒP[ƒh휂ª‰Â”\‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
+ on-delete (オプション, デフォルト㯠noaction):
+ 外部ã‚ー制約ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ¬ãƒ™ãƒ«ã§ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰å‰Šé™¤ãŒå¯èƒ½ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
- property-ref (ƒIƒvƒVƒ‡ƒ“):
- ƒIƒŠƒWƒiƒ‹ƒe[ƒuƒ‹‚ÌŽåƒL[‚Å‚Í‚È‚¢ƒJƒ‰ƒ€‚ðŽQÆ‚·‚éŠO•”ƒL[‚ðŽw’肵‚Ü‚·
- (ƒŒƒKƒV[ƒf[ƒ^‚ɑ΂µ‚Ä’ñ‹Ÿ‚³‚ê‚Ü‚·)B
+ property-ref (オプション):
+ オリジナルテーブルã®ä¸»ã‚ーã§ã¯ãªã„カラムをå‚ç…§ã™ã‚‹å¤–部ã‚ーを指定ã—ã¾ã™
+ (レガシーデータã«å¯¾ã—ã¦æä¾›ã•ã‚Œã¾ã™)。
- not-null (ƒIƒvƒVƒ‡ƒ“):
- ŠO•”ƒL[ƒJƒ‰ƒ€‚ªnull’l‚ð‹–—e‚µ‚È‚¢‚±‚Æ‚ðŽw’肵‚Ü‚·
- (‚±‚Ì‚±‚Æ‚ÍŠO•”ƒL[‚ªŽåƒL[‚̈ꕔ‚Å‚ ‚邱‚Æ‚ðˆÃ–Ù“I‚ÉŽ¦‚µ‚Ü‚·)B
+ not-null (オプション):
+ 外部ã‚ーカラムãŒnull値を許容ã—ãªã„ã“ã¨ã‚’指定ã—ã¾ã™
+ (ã“ã®ã“ã¨ã¯å¤–部ã‚ーãŒä¸»ã‚ーã®ä¸€éƒ¨ã§ã‚ã‚‹ã“ã¨ã‚’暗黙的ã«ç¤ºã—ã¾ã™)。
- update (ƒIƒvƒVƒ‡ƒ“):
- ŠO•”ƒL[‚ðŒˆ‚µ‚ÄXV‚µ‚Ä‚Í‚È‚ç‚È‚¢‚±‚Æ‚ðŽw’肵‚Ü‚·
- (‚±‚Ì‚±‚Æ‚ÍŠO•”ƒL[‚ªŽåƒL[‚̈ꕔ‚Å‚ ‚邱‚Æ‚ðˆÃ–Ù“I‚ÉŽ¦‚µ‚Ü‚·)B
+ update (オプション):
+ 外部ã‚ーを決ã—ã¦æ›´æ–°ã—ã¦ã¯ãªã‚‰ãªã„ã“ã¨ã‚’指定ã—ã¾ã™
+ (ã“ã®ã“ã¨ã¯å¤–部ã‚ーãŒä¸»ã‚ーã®ä¸€éƒ¨ã§ã‚ã‚‹ã“ã¨ã‚’暗黙的ã«ç¤ºã—ã¾ã™)。
- unique (ƒIƒvƒVƒ‡ƒ“):
- ŠO•”ƒL[‚ªƒ†ƒj[ƒN§–ñ‚ðŽ‚‚ׂ«‚Å‚ ‚邱‚Æ‚ðŽw’肵‚Ü‚·
- (‚±‚Ì‚±‚Æ‚ÍŠO•”ƒL[‚ªŽåƒL[‚̈ꕔ‚Å‚ ‚邱‚Æ‚ðˆÃ–Ù“I‚ÉŽ¦‚µ‚Ü‚·)B
+ unique (オプション):
+ 外部ã‚ーãŒãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã‚’æŒã¤ã¹ãã§ã‚ã‚‹ã“ã¨ã‚’指定ã—ã¾ã™
+ (ã“ã®ã“ã¨ã¯å¤–部ã‚ーãŒä¸»ã‚ーã®ä¸€éƒ¨ã§ã‚ã‚‹ã“ã¨ã‚’暗黙的ã«ç¤ºã—ã¾ã™)。
- 휂̃pƒtƒH[ƒ}ƒ“ƒX‚ªd—v‚Å‚ ‚éƒVƒXƒeƒ€‚É‚ÍA
- ‚·‚ׂẴL[‚ð on-delete="cascade" ‚Æ’è‹`‚·‚邱‚Æ‚ð„§‚µ‚Ü‚·B
- ‚»‚¤‚·‚邱‚Æ‚ÅHibernate‚ÍADELETE •¶‚𖈉ñ”s‚·‚é‘ã‚í‚è‚ÉA
- ƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚Ì ON CASCADE DELETE §–ñ‚ðŽg—p‚µ‚Ü‚·B
- ‚±‚Ì“Á’¥‚̓o[ƒWƒ‡ƒ“•t‚¯‚ç‚ꂽƒf[ƒ^‚ɑ΂·‚éHibernate‚Ì’Êí‚ÌŠyŠÏ“IƒƒbƒNí—ª‚ð
- –³Ž‹‚·‚é‚Æ‚¢‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 削除ã®ãƒ‘フォーマンスãŒé‡è¦ã§ã‚るシステムã«ã¯ã€
+ ã™ã¹ã¦ã®ã‚ーを on-delete="cascade" ã¨å®šç¾©ã™ã‚‹ã“ã¨ã‚’推奨ã—ã¾ã™ã€‚
+ ãã†ã™ã‚‹ã“ã¨ã§Hibernateã¯ã€DELETE 文を毎回発行ã™ã‚‹ä»£ã‚ã‚Šã«ã€
+ データベースレベル㮠ON CASCADE DELETE 制約を使用ã—ã¾ã™ã€‚
+ ã“ã®ç‰¹å¾´ã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä»˜ã‘られãŸãƒ‡ãƒ¼ã‚¿ã«å¯¾ã™ã‚‹Hibernateã®é€šå¸¸ã®æ¥½è¦³çš„ãƒãƒƒã‚¯æˆ¦ç•¥ã‚’
+ 無視ã™ã‚‹ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- not-null ‚Æ update ‘®«‚ÍA’P•ûŒüˆê‘Α½ŠÖ˜A‚ÌŽž‚É‚Í—L—p‚Å‚·B
- ’P•ûŒüˆê‘Α½ŠÖ˜A‚ðnull‚ð‹–—e‚µ‚È‚¢ŠO•”ƒL[‚Ƀ}ƒbƒsƒ“ƒO‚·‚é‚Æ‚«‚ÍA
- <key not-null="true"> ‚ðŽg‚Á‚ăL[ƒJƒ‰ƒ€‚ð錾
- ‚µ‚È‚‚Ä‚Í‚È‚è‚Ü‚¹‚ñ B
+ not-null 㨠update 属性ã¯ã€å˜æ–¹å‘一対多関連ã®æ™‚ã«ã¯æœ‰ç”¨ã§ã™ã€‚
+ å˜æ–¹å‘一対多関連をnullを許容ã—ãªã„外部ã‚ーã«ãƒžãƒƒãƒ”ングã™ã‚‹ã¨ãã¯ã€
+ <key not-null="true"> を使ã£ã¦ã‚ーカラムを宣言
+ ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“ 。
- column ‚Æ formula —v‘f
+ column 㨠formula è¦ç´
- column ‘®«‚ð‹Lq‚Å‚«‚é”CˆÓ‚̃}ƒbƒsƒ“ƒO—v‘f‚Í‚Ü‚½A
- <column> ƒTƒu—v‘f‚à‹Lq‚Å‚«‚Ü‚·B
- “¯—l‚É <formula> ‚à formula ‘®«‚Ì‘ã‘ÖŽè’i‚Å‚·B
+ column 属性を記述ã§ãã‚‹ä»»æ„ã®ãƒžãƒƒãƒ”ングè¦ç´ ã¯ã¾ãŸã€
+ <column> サブè¦ç´ も記述ã§ãã¾ã™ã€‚
+ åŒæ§˜ã« <formula> ã‚‚ formula 属性ã®ä»£æ›¿æ‰‹æ®µã§ã™ã€‚
SQL expression]]>
- “¯‚¶ƒvƒƒpƒeƒB‚âŠÖ˜A‚̃}ƒbƒsƒ“ƒO‚Ì’†‚ÅA
- column ‚Æ formula ‘®«‚ð‘g‚݇‚킹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- —Ⴆ‚ÎA“ÁŽê‚ÈŒ‹‡ðŒ‚È‚Ç‚Å‚·B
+ åŒã˜ãƒ—ãƒãƒ‘ティや関連ã®ãƒžãƒƒãƒ”ングã®ä¸ã§ã€
+ column 㨠formula 属性を組ã¿åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 例ãˆã°ã€ç‰¹æ®Šãªçµåˆæ¡ä»¶ãªã©ã§ã™ã€‚
import
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É“¯‚¶–¼‘O‚Ì2‚‚̉i‘±ƒNƒ‰ƒX‚ª‚ ‚èA
- HibernateƒNƒGƒŠ‚ÅŠ®‘SCü‚³‚ꂽiƒpƒbƒP[ƒW‚Ìj–¼‘O‚ðŽw’肵‚½‚‚È‚¢‚Ɖ¼’肵‚Ü‚·B
- ‚»‚̂悤‚Èê‡‚Í auto-import="true" ‚É—Š‚炸A
- ƒNƒ‰ƒX‚ªuƒCƒ“ƒ|[ƒgv‚³‚ꂽ‚à‚Ì‚Å‚ ‚é‚Æ–¾Ž¦‚Å‚«‚Ü‚·B
- –¾Ž¦“I‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å‚³‚¦‚àƒCƒ“ƒ|[ƒg‚Å‚«‚Ü‚·B
+ アプリケーションã«åŒã˜åå‰ã®2ã¤ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ãŒã‚ã‚Šã€
+ Hibernateクエリã§å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸï¼ˆãƒ‘ッケージã®ï¼‰åå‰ã‚’指定ã—ãŸããªã„ã¨ä»®å®šã—ã¾ã™ã€‚
+ ãã®ã‚ˆã†ãªå ´åˆã¯ auto-import="true" ã«é ¼ã‚‰ãšã€
+ クラスãŒã€Œã‚¤ãƒ³ãƒãƒ¼ãƒˆã€ã•ã‚ŒãŸã‚‚ã®ã§ã‚ã‚‹ã¨æ˜Žç¤ºã§ãã¾ã™ã€‚
+ 明示的ã«ãƒžãƒƒãƒ”ングã•ã‚Œã¦ã„ãªã„クラスやインターフェイスã§ã•ãˆã‚‚インãƒãƒ¼ãƒˆã§ãã¾ã™ã€‚
]]>
@@ -2720,13 +2721,13 @@
- classFJavaƒNƒ‰ƒX‚ÌŠ®‘SCü‚³‚ꂽƒNƒ‰ƒX–¼B
+ class:Javaクラスã®å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸã‚¯ãƒ©ã‚¹å。
- renameiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚ÍCü‚³‚ê‚Ä‚¢‚È‚¢ƒNƒ‰ƒX–¼jF
- ƒNƒGƒŠŒ¾Œê‚ÅŽg‚í‚ê‚é–¼‘OB
+ rename(オプション - デフォルトã¯ä¿®é£¾ã•ã‚Œã¦ã„ãªã„クラスå):
+ クエリ言語ã§ä½¿ã‚れるåå‰ã€‚
@@ -2738,21 +2739,21 @@
any
- ƒvƒƒpƒeƒBƒ}ƒbƒsƒ“ƒO‚É‚Í‚³‚ç‚É‚à‚¤1‚‚̌^‚ª‚ ‚è‚Ü‚·B
- <any> ƒ}ƒbƒsƒ“ƒO—v‘f‚ÍA
- •¡”‚̃e[ƒuƒ‹‚©‚çƒNƒ‰ƒX‚ւ̃|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈŠÖ˜A‚ð’è‹`‚µ‚Ü‚·B
- ‚±‚ÌŒ^‚̃}ƒbƒsƒ“ƒO‚É‚Í•K‚¸•¡”‚̃Jƒ‰ƒ€‚ª•K—v‚Å‚·B1”Ԗڂ̃Jƒ‰ƒ€‚ÍŠÖ˜AƒGƒ“ƒeƒBƒeƒB‚ÌŒ^‚ð•ÛŽ‚µ‚Ü‚·B
- Žc‚è‚̃Jƒ‰ƒ€‚ÍŽ¯•ÊŽq‚ð•ÛŽ‚µ‚Ü‚·B‚±‚ÌŽí—Þ‚ÌŠÖ˜A‚É‚ÍŠO•”ƒL[§–ñ‚ðŽw’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
- ‚»‚Ì‚½‚ß‚±‚ê‚ÍÅ‚àŽg‚í‚ê‚邱‚Æ‚Ì‚È‚¢iƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ÈjŠÖ˜A‚̃}ƒbƒsƒ“ƒO•û–@‚Å‚·B
- ”ñí‚É“Á•Ê‚Èê‡i—Ⴆ‚ÎAŒŸ¸ƒƒO‚⃆[ƒUƒZƒbƒVƒ‡ƒ“ƒf[ƒ^‚È‚Ç)‚ÉŒÀ‚Á‚ÄA‚±‚ê‚ðŽg‚¤‚ׂ«‚Å‚·B
+ プãƒãƒ‘ティマッピングã«ã¯ã•ã‚‰ã«ã‚‚ã†1ã¤ã®åž‹ãŒã‚ã‚Šã¾ã™ã€‚
+ <any> マッピングè¦ç´ ã¯ã€
+ 複数ã®ãƒ†ãƒ¼ãƒ–ルã‹ã‚‰ã‚¯ãƒ©ã‚¹ã¸ã®ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªé–¢é€£ã‚’定義ã—ã¾ã™ã€‚
+ ã“ã®åž‹ã®ãƒžãƒƒãƒ”ングã«ã¯å¿…ãšè¤‡æ•°ã®ã‚«ãƒ©ãƒ ãŒå¿…è¦ã§ã™ã€‚1番目ã®ã‚«ãƒ©ãƒ ã¯é–¢é€£ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®åž‹ã‚’ä¿æŒã—ã¾ã™ã€‚
+ 残りã®ã‚«ãƒ©ãƒ ã¯è˜åˆ¥åã‚’ä¿æŒã—ã¾ã™ã€‚ã“ã®ç¨®é¡žã®é–¢é€£ã«ã¯å¤–部ã‚ー制約を指定ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+ ãã®ãŸã‚ã“ã‚Œã¯æœ€ã‚‚使ã‚れるã“ã¨ã®ãªã„(ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªï¼‰é–¢é€£ã®ãƒžãƒƒãƒ”ング方法ã§ã™ã€‚
+ éžå¸¸ã«ç‰¹åˆ¥ãªå ´åˆï¼ˆä¾‹ãˆã°ã€æ¤œæŸ»ãƒã‚°ã‚„ユーザセッションデータãªã©)ã«é™ã£ã¦ã€ã“れを使ã†ã¹ãã§ã™ã€‚
- meta-type ‚É‚æ‚èA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓JƒXƒ^ƒ€Œ^‚ðŽw’è‚Å‚«‚Ü‚·B‚±‚̃JƒXƒ^ƒ€Œ^‚Í
- ƒf[ƒ^ƒx[ƒXƒJƒ‰ƒ€‚Ì’l‚ðAid-type ‚ÅŽw’肵‚½Œ^‚Ì
- Ž¯•ÊŽqƒvƒƒpƒeƒB‚ðŽ‚Á‚½‰i‘±ƒNƒ‰ƒX‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- meta-type‚Ì’l‚©‚çƒNƒ‰ƒX–¼‚ւ̃}ƒbƒsƒ“ƒO‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ meta-type ã«ã‚ˆã‚Šã€
+ アプリケーションã¯ã‚«ã‚¹ã‚¿ãƒ 型を指定ã§ãã¾ã™ã€‚ã“ã®ã‚«ã‚¹ã‚¿ãƒ åž‹ã¯
+ データベースカラムã®å€¤ã‚’ã€id-type ã§æŒ‡å®šã—ãŸåž‹ã®
+ è˜åˆ¥åプãƒãƒ‘ティをæŒã£ãŸæ°¸ç¶šã‚¯ãƒ©ã‚¹ã¸ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
+ meta-typeã®å€¤ã‹ã‚‰ã‚¯ãƒ©ã‚¹åã¸ã®ãƒžãƒƒãƒ”ングを指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
@@ -2790,37 +2791,37 @@
- nameFƒvƒƒpƒeƒB–¼B
+ name:プãƒãƒ‘ティå。
- id-typeFŽ¯•ÊŽq‚ÌŒ^B
+ id-type:è˜åˆ¥åã®åž‹ã€‚
- meta-typeiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í string jF
- ƒfƒBƒXƒNƒŠƒ~ƒl[ƒ^ƒ}ƒbƒsƒ“ƒO‚Å‹–‚³‚ꂽŒ^
+ meta-type(オプション - デフォルト㯠string ):
+ ディスクリミãƒãƒ¼ã‚¿ãƒžãƒƒãƒ”ングã§è¨±ã•ã‚ŒãŸåž‹
- cascadeiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í none jF
- ƒJƒXƒP[ƒh‚̃Xƒ^ƒCƒ‹B
+ cascade(オプション - デフォルト㯠none ):
+ カスケードã®ã‚¹ã‚¿ã‚¤ãƒ«ã€‚
- accessiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í property jF
- ƒvƒƒpƒeƒB‚Ì’l‚ւ̃AƒNƒZƒX‚ÉHibernate‚ªŽg‚¤í—ªB
+ access(オプション - デフォルト㯠property ):
+ プãƒãƒ‘ティã®å€¤ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã«HibernateãŒä½¿ã†æˆ¦ç•¥ã€‚
- optimistic-lock (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í true ):
- ‚±‚̃vƒƒpƒeƒB‚ÌXV‚ÉŠyŠÏƒƒbƒN‚̎擾‚ð—v‹‚·‚é‚©‚Ç‚¤‚©‚ðŽw’肵‚Ü‚·B
- Œ¾‚¢Š·‚¦‚ê‚ÎA‚±‚̃vƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚é‚Æ‚«‚Ƀo[ƒWƒ‡ƒ“‚ð‘‚â‚·‚ׂ«‚©‚ð’è‹`‚µ‚Ü‚·B
+ optimistic-lock (オプション - デフォルト㯠true ):
+ ã“ã®ãƒ—ãƒãƒ‘ティã®æ›´æ–°ã«æ¥½è¦³ãƒãƒƒã‚¯ã®å–å¾—ã‚’è¦æ±‚ã™ã‚‹ã‹ã©ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ 言ã„æ›ãˆã‚Œã°ã€ã“ã®ãƒ—ãƒãƒ‘ティãŒãƒ€ãƒ¼ãƒ†ã‚£ã§ã‚ã‚‹ã¨ãã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’増やã™ã¹ãã‹ã‚’定義ã—ã¾ã™ã€‚
@@ -2831,87 +2832,87 @@
- Hibernate‚ÌŒ^
+ Hibernateã®åž‹
- ƒGƒ“ƒeƒBƒeƒB‚Æ’l
+ エンティティã¨å€¤
- ‰i‘±ƒT[ƒrƒX‚ÉŠÖ‚í‚é—lX‚ÈJavaŒ¾ŒêƒŒƒxƒ‹‚̃IƒuƒWƒFƒNƒg‚ÌU‚é•‘‚¢‚ð—‰ð‚·‚邽‚ß‚É‚ÍA
- ƒIƒuƒWƒFƒNƒg‚ð2‚‚̃Oƒ‹[ƒv‚É•ª‚¯‚é•K—v‚ª‚ ‚è‚Ü‚·F
+ 永続サービスã«é–¢ã‚る様々ãªJava言語レベルã®ã‚ªãƒ–ジェクトã®æŒ¯ã‚‹èˆžã„ã‚’ç†è§£ã™ã‚‹ãŸã‚ã«ã¯ã€
+ オブジェクトを2ã¤ã®ã‚°ãƒ«ãƒ¼ãƒ—ã«åˆ†ã‘ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ï¼š
- ƒGƒ“ƒeƒBƒeƒB ‚̓Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚ð•ÛŽ‚·‚éA
- ‘¼‚Ì‚·‚ׂẴIƒuƒWƒFƒNƒg‚©‚ç“Æ—§‚µ‚Ä‘¶Ý‚µ‚Ü‚·B
- ŽQÆ‚³‚ê‚È‚¢ƒIƒuƒWƒFƒNƒg‚ªƒKƒx[ƒWƒRƒŒƒNƒg‚³‚ê‚Ä‚µ‚Ü‚¤«Ž¿‚ðŽ‚Â’Êí‚ÌJavaƒ‚ƒfƒ‹‚ÆA
- ‚±‚ê‚ð”ä‚ׂĂ݂Ă‚¾‚³‚¢B
- ieƒGƒ“ƒeƒBƒeƒB‚©‚çŽq‚ÖAƒZ[ƒu‚Æ휂ª ƒJƒXƒP[ƒh ‚³‚ꂤ‚邱‚Ƃ𜂢‚Äj
- ƒGƒ“ƒeƒBƒeƒB‚Í–¾Ž¦“I‚ɃZ[ƒu‚Ü‚½‚Í휂³‚ê‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚±‚ê‚Í“ž’B‰Â”\«‚É‚æ‚éƒIƒuƒWƒFƒNƒg‰i‘±‰»‚ÌODMGƒ‚ƒfƒ‹‚Ƃ͈قȂÁ‚Ä‚¢‚Ü‚·B
- ‘å‹K–͂ȃVƒXƒeƒ€‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒIƒuƒWƒFƒNƒg‚ª•’ʂǂ̂悤‚ÉŽg‚í‚ê‚é‚©‚É‚æ‚薧ڂɑΉž‚µ‚Ü‚·B
- ƒGƒ“ƒeƒBƒeƒB‚ÍzŠÂ‚ÆŽQÆ‚Ì‹¤—L‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
- ‚Ü‚½‚»‚ê‚ç‚̓o[ƒWƒ‡ƒ“•t‚¯‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ エンティティ ã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®å‚照をä¿æŒã™ã‚‹ã€
+ ä»–ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã‹ã‚‰ç‹¬ç«‹ã—ã¦å˜åœ¨ã—ã¾ã™ã€‚
+ å‚ç…§ã•ã‚Œãªã„オブジェクトãŒã‚¬ãƒ™ãƒ¼ã‚¸ã‚³ãƒ¬ã‚¯ãƒˆã•ã‚Œã¦ã—ã¾ã†æ€§è³ªã‚’æŒã¤é€šå¸¸ã®Javaモデルã¨ã€
+ ã“れを比ã¹ã¦ã¿ã¦ãã ã•ã„。
+ (親エンティティã‹ã‚‰åã¸ã€ã‚»ãƒ¼ãƒ–ã¨å‰Šé™¤ãŒ カスケード ã•ã‚Œã†ã‚‹ã“ã¨ã‚’除ã„ã¦ï¼‰
+ エンティティã¯æ˜Žç¤ºçš„ã«ã‚»ãƒ¼ãƒ–ã¾ãŸã¯å‰Šé™¤ã•ã‚Œãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã“ã‚Œã¯åˆ°é”å¯èƒ½æ€§ã«ã‚ˆã‚‹ã‚ªãƒ–ジェクト永続化ã®ODMGモデルã¨ã¯ç•°ãªã£ã¦ã„ã¾ã™ã€‚
+ 大è¦æ¨¡ãªã‚·ã‚¹ãƒ†ãƒ ã§ã‚¢ãƒ—リケーションオブジェクトãŒæ™®é€šã©ã®ã‚ˆã†ã«ä½¿ã‚れるã‹ã«ã‚ˆã‚Šå¯†æŽ¥ã«å¯¾å¿œã—ã¾ã™ã€‚
+ エンティティã¯å¾ªç’°ã¨å‚ç…§ã®å…±æœ‰ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
+ ã¾ãŸãれらã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä»˜ã‘ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- ƒGƒ“ƒeƒBƒeƒB‚̉i‘±ó‘Ô‚Í‘¼‚̃Gƒ“ƒeƒBƒeƒB‚â ’l Œ^‚Ì
- ƒCƒ“ƒXƒ^ƒ“ƒX‚Ö‚ÌŽQÆ‚©‚ç\¬‚³‚ê‚Ü‚·B
- ’l‚̓vƒŠƒ~ƒeƒBƒuAƒRƒŒƒNƒVƒ‡ƒ“(ƒRƒŒƒNƒVƒ‡ƒ“‚Ì“à•”‚Å‚Í‚È‚)A
- ƒRƒ“ƒ|[ƒlƒ“ƒgA•s•ÏƒIƒuƒWƒFƒNƒg‚Å‚·B
- ƒGƒ“ƒeƒBƒeƒB‚Ƃ͈ႢA’l‚Íi“Á‚ɃRƒŒƒNƒVƒ‡ƒ“‚ƃRƒ“ƒ|[ƒlƒ“ƒg‚É‚¨‚¢‚ÄjA
- “ž’B‰Â”\«‚É‚æ‚é‰i‘±‰»‚â휂ª s‚í‚ê‚Ü‚· B
- ’lƒIƒuƒWƒFƒNƒgi‚ƃvƒŠƒ~ƒeƒBƒuj‚ÍA•ïŠÜ‚·‚éƒGƒ“ƒeƒBƒeƒB‚ƈê‚ɉi‘±‰»‚â휂ªs‚í‚ê‚é‚Ì‚ÅA
- ‚»‚ê‚ç‚ð“Æ—§‚Ƀo[ƒWƒ‡ƒ“•t‚¯‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
- ’l‚É‚Í“Æ—§‚µ‚½ƒAƒCƒfƒ“ƒeƒBƒeƒB‚ª‚È‚¢‚Ì‚ÅA
- •¡”‚̃Gƒ“ƒeƒBƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚ª‚±‚ê‚ð‹¤—L‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+ エンティティã®æ°¸ç¶šçŠ¶æ…‹ã¯ä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚„ 値 åž‹ã®
+ インスタンスã¸ã®å‚ç…§ã‹ã‚‰æ§‹æˆã•ã‚Œã¾ã™ã€‚
+ 値ã¯ãƒ—リミティブã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³(コレクションã®å†…部ã§ã¯ãªã)ã€
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã€ä¸å¤‰ã‚ªãƒ–ジェクトã§ã™ã€‚
+ エンティティã¨ã¯é•ã„ã€å€¤ã¯ï¼ˆç‰¹ã«ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¨ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã«ãŠã„ã¦ï¼‰ã€
+ 到é”å¯èƒ½æ€§ã«ã‚ˆã‚‹æ°¸ç¶šåŒ–や削除㌠行ã‚ã‚Œã¾ã™ 。
+ 値オブジェクト(ã¨ãƒ—リミティブ)ã¯ã€åŒ…å«ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¨ä¸€ç·’ã«æ°¸ç¶šåŒ–や削除ãŒè¡Œã‚れるã®ã§ã€
+ ãれらを独立ã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ä»˜ã‘ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+ 値ã«ã¯ç‹¬ç«‹ã—ãŸã‚¢ã‚¤ãƒ‡ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãŒãªã„ã®ã§ã€
+ 複数ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚„コレクションãŒã“れを共有ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
- ‚±‚ê‚Ü‚Åu‰i‘±ƒNƒ‰ƒXv‚Æ‚¢‚¤Œ¾—t‚ðƒGƒ“ƒeƒBƒeƒB‚̈Ӗ¡‚ÅŽg‚Á‚Ä‚«‚Ü‚µ‚½B
- ‚±‚ê‚©‚ç‚à‚»‚¤‚µ‚Ä‚¢‚«‚Ü‚·B
- Œµ–§‚ÉŒ¾‚¤‚ÆA‰i‘±ó‘Ô‚ðŽ‚ƒ†[ƒU’è‹`‚̃Nƒ‰ƒX‚Ì‚·‚ׂĂª
- ƒGƒ“ƒeƒBƒeƒB‚Æ‚¢‚¤‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ƒRƒ“ƒ|[ƒlƒ“ƒg ‚Í’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚ƒ†[ƒU’è‹`ƒNƒ‰ƒX‚Å‚·B
- java.lang.String Œ^‚̃vƒƒpƒeƒB‚à‚Ü‚½’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚¿‚Ü‚·B
- ’è‹`‚·‚é‚È‚çAJDK‚Å’ñ‹Ÿ‚³‚ê‚Ä‚¢‚é‚·‚ׂĂÌJava‚ÌŒ^(ƒNƒ‰ƒX)‚ª’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚‚Ƃ¢‚¦‚Ü‚·B
- ˆê•ûƒ†[ƒU’è‹`Œ^‚ÍAƒGƒ“ƒeƒBƒeƒB‚â’lŒ^‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Æ‚Æ‚à‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·B
- ‚±‚ÌŒˆ’è‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”ŽÒŽŸ‘æ‚Å‚·B
- ‚»‚̃Nƒ‰ƒX‚Ì‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Ö‚Ì‹¤—LŽQÆ‚ÍA
- ƒhƒƒCƒ“ƒ‚ƒfƒ‹“à‚̃Gƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ɑ΂·‚é—Ç‚¢ƒqƒ“ƒg‚É‚È‚è‚Ü‚·B
- ˆê•û‡¬W–ñ‚âW–ñ‚ÍA’Êí’lŒ^‚Ö•ÏŠ·‚³‚ê‚Ü‚·B
+ ã“ã‚Œã¾ã§ã€Œæ°¸ç¶šã‚¯ãƒ©ã‚¹ã€ã¨ã„ã†è¨€è‘‰ã‚’エンティティã®æ„味ã§ä½¿ã£ã¦ãã¾ã—ãŸã€‚
+ ã“ã‚Œã‹ã‚‰ã‚‚ãã†ã—ã¦ã„ãã¾ã™ã€‚
+ 厳密ã«è¨€ã†ã¨ã€æ°¸ç¶šçŠ¶æ…‹ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶å®šç¾©ã®ã‚¯ãƒ©ã‚¹ã®ã™ã¹ã¦ãŒ
+ エンティティã¨ã„ã†ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ コンãƒãƒ¼ãƒãƒ³ãƒˆ ã¯å€¤ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã‚’æŒã¤ãƒ¦ãƒ¼ã‚¶å®šç¾©ã‚¯ãƒ©ã‚¹ã§ã™ã€‚
+ java.lang.String åž‹ã®ãƒ—ãƒãƒ‘ティもã¾ãŸå€¤ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã‚’æŒã¡ã¾ã™ã€‚
+ 定義ã™ã‚‹ãªã‚‰ã€JDKã§æä¾›ã•ã‚Œã¦ã„ã‚‹ã™ã¹ã¦ã®Javaã®åž‹(クラス)ãŒå€¤ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã‚’æŒã¤ã¨ã„ãˆã¾ã™ã€‚
+ 一方ユーザ定義型ã¯ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚„値型ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã¨ã¨ã‚‚ã«ãƒžãƒƒãƒ”ングã§ãã¾ã™ã€‚
+ ã“ã®æ±ºå®šã¯ã‚¢ãƒ—リケーション開発者次第ã§ã™ã€‚
+ ãã®ã‚¯ãƒ©ã‚¹ã®ï¼‘ã¤ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¸ã®å…±æœ‰å‚ç…§ã¯ã€
+ ドメインモデル内ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¯ãƒ©ã‚¹ã«å¯¾ã™ã‚‹è‰¯ã„ヒントã«ãªã‚Šã¾ã™ã€‚
+ 一方åˆæˆé›†ç´„や集約ã¯ã€é€šå¸¸å€¤åž‹ã¸å¤‰æ›ã•ã‚Œã¾ã™ã€‚
- –{ƒhƒLƒ…ƒƒ“ƒg‚ð’Ê‚µ‚ÄA‰½“x‚à‚±‚ÌŠT”O‚ðŽæ‚èã‚°‚Ü‚·B
+ 本ドã‚ュメントを通ã—ã¦ã€ä½•åº¦ã‚‚ã“ã®æ¦‚念をå–り上ã’ã¾ã™ã€‚
- JavaŒ^‚̃VƒXƒeƒ€(‚à‚µ‚‚ÍŠJ”ŽÒ‚ª’è‹`‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚Æ’lŒ^)‚ð
- SQL/ƒf[ƒ^ƒx[ƒXŒ^‚̃VƒXƒeƒ€‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Ƃ͓‚¢‚Å‚·B
- Hibernate‚Í‚Q‚‚̃VƒXƒeƒ€‚̉˂¯‹´‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- ƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä‚Í
- <class> ‚â <subclass> ‚È‚Ç‚ðŽg—p‚µ‚Ü‚·B
- ’lŒ^‚ɑ΂µ‚Ä‚Í <property> ‚â
- <component> ‚È‚Ç‚ðA’Êí type ‚Æ‚Æ‚à‚ÉŽg‚¢‚Ü‚·B
- ‚±‚Ì‘®«‚Ì’l‚ÍHibernate‚Ì ƒ}ƒbƒsƒ“ƒOŒ^ ‚Ì–¼‘O‚Å‚·B
- Hibernate‚Í(•W€JDK‚Ì’lŒ^‚ɑ΂µ‚Ä)‘½‚‚ÌŽ©—R‚ȃ}ƒbƒsƒ“ƒO‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- Œã‚ÅŒ©‚é‚悤‚ÉAŽ©g‚̃}ƒbƒsƒ“ƒOŒ^‚ð‹Lq‚µA“¯—l‚ɃJƒXƒ^ƒ€‚Ì•ÏŠ·í—ª‚ðŽÀ‘•‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ Javaåž‹ã®ã‚·ã‚¹ãƒ†ãƒ (ã‚‚ã—ãã¯é–‹ç™ºè€…ãŒå®šç¾©ã—ãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¨å€¤åž‹)ã‚’
+ SQL/データベース型ã®ã‚·ã‚¹ãƒ†ãƒ ã«ãƒžãƒƒãƒ”ングã™ã‚‹ã“ã¨ã¯é›£ã—ã„ã§ã™ã€‚
+ Hibernateã¯ï¼’ã¤ã®ã‚·ã‚¹ãƒ†ãƒ ã®æž¶ã‘æ©‹ã‚’æä¾›ã—ã¾ã™ã€‚
+ エンティティã«å¯¾ã—ã¦ã¯
+ <class> ã‚„ <subclass> ãªã©ã‚’使用ã—ã¾ã™ã€‚
+ 値型ã«å¯¾ã—ã¦ã¯ <property> ã‚„
+ <component> ãªã©ã‚’ã€é€šå¸¸ type ã¨ã¨ã‚‚ã«ä½¿ã„ã¾ã™ã€‚
+ ã“ã®å±žæ€§ã®å€¤ã¯Hibernate㮠マッピング型 ã®åå‰ã§ã™ã€‚
+ Hibernateã¯(標準JDKã®å€¤åž‹ã«å¯¾ã—ã¦)多ãã®è‡ªç”±ãªãƒžãƒƒãƒ”ングをæä¾›ã—ã¾ã™ã€‚
+ 後ã§è¦‹ã‚‹ã‚ˆã†ã«ã€è‡ªèº«ã®ãƒžãƒƒãƒ”ング型を記述ã—ã€åŒæ§˜ã«ã‚«ã‚¹ã‚¿ãƒ ã®å¤‰æ›æˆ¦ç•¥ã‚’実装ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ƒRƒŒƒNƒVƒ‡ƒ“‚𜂑g‚Ýž‚Ý‚ÌHibernate‚ÌŒ^‚Í‚·‚ׂÄAnullƒZƒ}ƒ“ƒeƒBƒNƒX‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+ コレクションを除ã組ã¿è¾¼ã¿ã®Hibernateã®åž‹ã¯ã™ã¹ã¦ã€nullセマンティクスをサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
- Šî–{“I‚ÈŒ^
+ 基本的ãªåž‹
- ‘g‚Ýž‚Ý‚Ì Šî–{“I‚ȃ}ƒbƒsƒ“ƒOŒ^ ‚Í‘å‚Ü‚©‚Ɉȉº‚̂悤‚É•ª‚¯‚ç‚ê‚Ü‚·B
+ 組ã¿è¾¼ã¿ã® 基本的ãªãƒžãƒƒãƒ”ング型 ã¯å¤§ã¾ã‹ã«ä»¥ä¸‹ã®ã‚ˆã†ã«åˆ†ã‘られã¾ã™ã€‚
@@ -2919,11 +2920,11 @@
boolean, yes_no, true_false
- Java‚̃vƒŠƒ~ƒeƒBƒu‚⃉ƒbƒp[ƒNƒ‰ƒX‚©‚ç“KØ‚Èiƒxƒ“ƒ_[ŒÅ—L‚Ìj
- SQLƒJƒ‰ƒ€Œ^‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
- boolean, yes_no ‚Æ true_false ‚ÍA
- ‚·‚ׂÄJava‚Ì boolean
- ‚Ü‚½‚Í java.lang.Boolean ‚Ì‘ã‘ÖƒGƒ“ƒR[ƒh‚Å‚·B
+ Javaã®ãƒ—リミティブやラッパークラスã‹ã‚‰é©åˆ‡ãªï¼ˆãƒ™ãƒ³ãƒ€ãƒ¼å›ºæœ‰ã®ï¼‰
+ SQLカラム型ã¸ã®åž‹ãƒžãƒƒãƒ”ング。
+ boolean, yes_no 㨠true_false ã¯ã€
+ ã™ã¹ã¦Javaã® boolean
+ ã¾ãŸã¯ java.lang.Boolean ã®ä»£æ›¿ã‚¨ãƒ³ã‚³ãƒ¼ãƒ‰ã§ã™ã€‚
@@ -2932,8 +2933,8 @@
string
- java.lang.String ‚©‚ç VARCHAR
- i‚Ü‚½‚ÍOracle‚Ì VARCHAR2 j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+ java.lang.String ã‹ã‚‰ VARCHAR
+ (ã¾ãŸã¯Oracleã® VARCHAR2 )ã¸ã®åž‹ãƒžãƒƒãƒ”ング。
@@ -2941,9 +2942,9 @@
date, time, timestamp
- java.util.Date ‚Æ‚»‚̃TƒuƒNƒ‰ƒX‚©‚çSQLŒ^‚Ì DATE,
- TIME , TIMESTAMP i‚Ü‚½‚Í‚»‚ê‚ç‚Æ“™‰¿‚È‚à‚Ìj
- ‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+ java.util.Date ã¨ãã®ã‚µãƒ–クラスã‹ã‚‰SQLåž‹ã® DATE,
+ TIME , TIMESTAMP (ã¾ãŸã¯ãれらã¨ç‰ä¾¡ãªã‚‚ã®ï¼‰
+ ã¸ã®åž‹ãƒžãƒƒãƒ”ング。
@@ -2951,8 +2952,8 @@
calendar, calendar_date
- java.util.Calendar ‚©‚çSQLŒ^ ‚Ìu TIMESTAMP ,
- DATE (‚Ü‚½‚Í‚»‚ê‚ç‚Æ“™‰¿‚È‚à‚Ìj‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+ java.util.Calendar ã‹ã‚‰SQLåž‹ ã®ã€Œ TIMESTAMP ,
+ DATE (ã¾ãŸã¯ãれらã¨ç‰ä¾¡ãªã‚‚ã®ï¼‰ã¸ã®åž‹ãƒžãƒƒãƒ”ング。
@@ -2960,8 +2961,8 @@
big_decimal, big_integer
- java.math.BigDecimal ‚Æ java.math.BigInteger
- ‚©‚ç NUMERICi‚Ü‚½‚ÍOracle‚Ì NUMBER j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
+ java.math.BigDecimal 㨠java.math.BigInteger
+ ã‹ã‚‰ NUMERIC(ã¾ãŸã¯Oracleã® NUMBER )ã¸ã®åž‹ãƒžãƒƒãƒ”ング。
@@ -2970,12 +2971,12 @@
java.util.Locale , java.util.TimeZone ,
- java.util.Currency ‚©‚ç VARCHAR
- i‚Ü‚½‚ÍOracle‚Ì VARCHAR2 j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
- Locale ‚Æ Currency ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA
- ‚»‚ê‚ç‚ÌISOƒR[ƒh‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
- TimeZone ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA
- ‚»‚ê‚ç‚Ì ID ‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+ java.util.Currency ã‹ã‚‰ VARCHAR
+ (ã¾ãŸã¯Oracleã® VARCHAR2 )ã¸ã®åž‹ãƒžãƒƒãƒ”ング。
+ Locale 㨠Currency ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€
+ ãれらã®ISOコードã«ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
+ TimeZone ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€
+ ãれら㮠ID ã«ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
@@ -2983,9 +2984,9 @@
class
- java.lang.Class ‚©‚ç VARCHAR
- i‚Ü‚½‚ÍOracle‚Ì VARCHAR2 j‚Ö‚ÌŒ^ƒ}ƒbƒsƒ“ƒOB
- Class ‚Í‚»‚ÌŠ®‘SCü‚³‚ꂽ–¼‘O‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+ java.lang.Class ã‹ã‚‰ VARCHAR
+ (ã¾ãŸã¯Oracleã® VARCHAR2 )ã¸ã®åž‹ãƒžãƒƒãƒ”ング。
+ Class ã¯ãã®å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸåå‰ã«ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
@@ -2993,7 +2994,7 @@
binary
- ƒoƒCƒg”z—ñ‚ÍA“KØ‚ÈSQL‚̃oƒCƒiƒŠŒ^‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+ ãƒã‚¤ãƒˆé…列ã¯ã€é©åˆ‡ãªSQLã®ãƒã‚¤ãƒŠãƒªåž‹ã«ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
@@ -3001,8 +3002,8 @@
text
- ’·‚¢Java•¶Žš—ñ‚ÍASQL‚Ì CLOB ‚Ü‚½‚Í
- TEXT Œ^‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+ é•·ã„Javaæ–‡å—列ã¯ã€SQLã® CLOB ã¾ãŸã¯
+ TEXT åž‹ã«ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
@@ -3010,10 +3011,10 @@
serializable
- ƒVƒŠƒAƒ‰ƒCƒY‰Â”\‚ÈJavaŒ^‚ÍA“KØ‚ÈSQL‚̃oƒCƒiƒŠŒ^‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚ÅŠî–{Œ^‚Å‚Í‚È‚¢ƒVƒŠƒAƒ‰ƒCƒY‰Â”\‚ÈJavaƒNƒ‰ƒX‚â
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Ì–¼‘O‚ðŽw’è‚·‚邱‚Æ‚ÅA
- Hibernate‚ÌŒ^‚ð serializable ‚Æ‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ シリアライズå¯èƒ½ãªJavaåž‹ã¯ã€é©åˆ‡ãªSQLã®ãƒã‚¤ãƒŠãƒªåž‹ã«ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
+ デフォルトã§åŸºæœ¬åž‹ã§ã¯ãªã„シリアライズå¯èƒ½ãªJavaクラスや
+ インターフェイスã®åå‰ã‚’指定ã™ã‚‹ã“ã¨ã§ã€
+ Hibernateã®åž‹ã‚’ serializable ã¨ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
@@ -3021,11 +3022,11 @@
clob, blob
- JDBCƒNƒ‰ƒX java.sql.Clob ‚Æ java.sql.Blob
- ‚ɑ΂·‚éŒ^ƒ}ƒbƒsƒ“ƒOB
- blob‚âclobƒIƒuƒWƒFƒNƒg‚̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠO‚Å‚ÍÄ—˜—p‚Å‚«‚È‚¢‚½‚ßA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚Á‚Ä‚Í•s•Ö‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- i‚³‚ç‚ɂ̓hƒ‰ƒCƒoƒTƒ|[ƒg‚ªˆêŠÑ‚µ‚Ä‚¢‚Ü‚¹‚ñBj
+ JDBCクラス java.sql.Clob 㨠java.sql.Blob
+ ã«å¯¾ã™ã‚‹åž‹ãƒžãƒƒãƒ”ング。
+ blobã‚„clobオブジェクトã¯ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å¤–ã§ã¯å†åˆ©ç”¨ã§ããªã„ãŸã‚ã€
+ アプリケーションã«ã‚ˆã£ã¦ã¯ä¸ä¾¿ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ (ã•ã‚‰ã«ã¯ãƒ‰ãƒ©ã‚¤ãƒã‚µãƒãƒ¼ãƒˆãŒä¸€è²«ã—ã¦ã„ã¾ã›ã‚“。)
@@ -3037,13 +3038,13 @@
- ‚Ù‚Æ‚ñ‚Ç‚Ìꇂɉ•ςł ‚éJava‚ÌŒ^‚ɑ΂·‚éŒ^ƒ}ƒbƒsƒ“ƒOB
- Hibernate‚Í•s•Ï‚ÈJava‚ÌŒ^‚ɑ΂µ‚Ä‚ÍÅ“K‰»‚ðs‚¢A
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í‚»‚ê‚ð•s•ÏƒIƒuƒWƒFƒNƒg‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
- —Ⴆ‚Î imm_timestamp ‚Æ‚µ‚ă}ƒbƒv‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ɑ΂µ‚ÄA
- Date.setTime() ‚ðŒÄ‚Ño‚µ‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
- ƒvƒƒpƒeƒB‚Ì’l‚ð•ÏX‚µ‚»‚Ì•ÏX‚ð‰i‘±‰»‚·‚邽‚ß‚É‚ÍA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓vƒƒpƒeƒB‚ɑ΂µ‚ÄV‚µ‚¢(“¯ˆê‚Å‚È‚¢)ƒIƒuƒWƒFƒNƒg‚ðŠ„‚è“–‚Ä‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ ã»ã¨ã‚“ã©ã®å ´åˆã«å¯å¤‰ã§ã‚ã‚‹Javaã®åž‹ã«å¯¾ã™ã‚‹åž‹ãƒžãƒƒãƒ”ング。
+ Hibernateã¯ä¸å¤‰ãªJavaã®åž‹ã«å¯¾ã—ã¦ã¯æœ€é©åŒ–ã‚’è¡Œã„ã€
+ アプリケーションã¯ãれをä¸å¤‰ã‚ªãƒ–ジェクトã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚
+ 例ãˆã° imm_timestamp ã¨ã—ã¦ãƒžãƒƒãƒ—ã—ãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«å¯¾ã—ã¦ã€
+ Date.setTime() を呼ã³å‡ºã—ã¦ã¯ãªã‚Šã¾ã›ã‚“。
+ プãƒãƒ‘ティã®å€¤ã‚’変更ã—ãã®å¤‰æ›´ã‚’永続化ã™ã‚‹ãŸã‚ã«ã¯ã€
+ アプリケーションã¯ãƒ—ãƒãƒ‘ティã«å¯¾ã—ã¦æ–°ã—ã„(åŒä¸€ã§ãªã„)オブジェクトを割り当ã¦ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
@@ -3052,41 +3053,41 @@
- ƒGƒ“ƒeƒBƒeƒB‚ƃRƒŒƒNƒVƒ‡ƒ“‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚ÍAbinary , blob ,
- clob ‚ðœ‚A‚Ç‚ñ‚ÈŠî–{Œ^‚Å‚à\‚¢‚Ü‚¹‚ñB
- i•¡‡Ž¯•ÊŽq‚Å‚à\‚¢‚Ü‚¹‚ñBˆÈ‰º‚ðŒ©‚Ä‚‚¾‚³‚¢Bj
+ エンティティã¨ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªè˜åˆ¥åã¯ã€binary , blob ,
+ clob を除ãã€ã©ã‚“ãªåŸºæœ¬åž‹ã§ã‚‚構ã„ã¾ã›ã‚“。
+ (複åˆè˜åˆ¥åã§ã‚‚構ã„ã¾ã›ã‚“。以下を見ã¦ãã ã•ã„。)
- Šî–{“I‚È’lŒ^‚É‚ÍAorg.hibernate.Hibernate ‚Å’è‹`‚³‚ꂽ
- Type ’蔂ª‚»‚ꂼ‚ê‚ ‚è‚Ü‚·B
- —Ⴆ‚ÎAHibernate.STRING ‚Í string Œ^‚ð•\Œ»‚µ‚Ä‚¢‚Ü‚·B
+ 基本的ãªå€¤åž‹ã«ã¯ã€org.hibernate.Hibernate ã§å®šç¾©ã•ã‚ŒãŸ
+ Type 定数ãŒãã‚Œãžã‚Œã‚ã‚Šã¾ã™ã€‚
+ 例ãˆã°ã€Hibernate.STRING 㯠string 型を表ç¾ã—ã¦ã„ã¾ã™ã€‚
- ƒJƒXƒ^ƒ€Œ^
+ カスタム型
- ŠJ”ŽÒ‚ª“ÆŽ©‚Ì’lŒ^‚ð쬂·‚邱‚Æ‚ÍA”äŠr“IŠÈ’P‚Å‚·B
- —Ⴆ‚ÎAjava.lang.BigInteger Œ^‚̃vƒƒpƒeƒB‚ð
- VARCHAR ƒJƒ‰ƒ€‚ɉi‘±‰»‚µ‚½‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- Hibernate‚Í‚±‚Ì‚½‚ß‚Ì‘g‚Ýž‚ÝŒ^‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚¹‚ñB
- ‚µ‚©‚µƒJƒXƒ^ƒ€Œ^‚ÍAƒvƒƒpƒeƒBi‚Ü‚½‚̓RƒŒƒNƒVƒ‡ƒ“‚Ì—v‘fj‚ð1‚‚̃e[ƒuƒ‹ƒJƒ‰ƒ€‚É
- ƒ}ƒbƒsƒ“ƒO‚·‚é‚̂ɧŒÀ‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚»‚Ì‚½‚ߗႦ‚ÎAjava.lang.String Œ^‚Ì
+ 開発者ãŒç‹¬è‡ªã®å€¤åž‹ã‚’作æˆã™ã‚‹ã“ã¨ã¯ã€æ¯”較的簡å˜ã§ã™ã€‚
+ 例ãˆã°ã€java.lang.BigInteger åž‹ã®ãƒ—ãƒãƒ‘ティを
+ VARCHAR カラムã«æ°¸ç¶šåŒ–ã—ãŸã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ Hibernateã¯ã“ã®ãŸã‚ã®çµ„ã¿è¾¼ã¿åž‹ã‚’用æ„ã—ã¦ã„ã¾ã›ã‚“。
+ ã—ã‹ã—カスタム型ã¯ã€ãƒ—ãƒãƒ‘ティ(ã¾ãŸã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ )を1ã¤ã®ãƒ†ãƒ¼ãƒ–ルカラムã«
+ マッピングã™ã‚‹ã®ã«åˆ¶é™ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ãã®ãŸã‚例ãˆã°ã€java.lang.String åž‹ã®
getName() / setName()
- JavaƒvƒƒpƒeƒB‚ð FIRST_NAME , INITIAL, SURNAME
- ƒJƒ‰ƒ€‚ɉi‘±‰»‚Å‚«‚Ü‚·B
+ Javaプãƒãƒ‘ティを FIRST_NAME , INITIAL, SURNAME
+ カラムã«æ°¸ç¶šåŒ–ã§ãã¾ã™ã€‚
- ƒJƒXƒ^ƒ€Œ^‚ðŽÀ‘•‚·‚é‚É‚ÍAorg.hibernate.UserType ‚Ü‚½‚Í
- org.hibernate.CompositeUserType ‚ðŽÀ‘•‚µA
- Œ^‚ÌŠ®‘SCü‚³‚ꂽ–¼‘O‚ðŽg‚Á‚ăvƒƒpƒeƒB‚ð’è‹`‚µ‚Ü‚·B
- ‚ǂ̂悤‚ÈŽí—Þ‚Ì‚à‚Ì‚ª‰Â”\‚©‚𒲂ׂé‚É‚ÍA
- org.hibernate.test.DoubleStringType ‚ðŠm”F‚µ‚Ä‚‚¾‚³‚¢B
+ カスタム型を実装ã™ã‚‹ã«ã¯ã€org.hibernate.UserType ã¾ãŸã¯
+ org.hibernate.CompositeUserType を実装ã—ã€
+ åž‹ã®å®Œå…¨ä¿®é£¾ã•ã‚ŒãŸåå‰ã‚’使ã£ã¦ãƒ—ãƒãƒ‘ティを定義ã—ã¾ã™ã€‚
+ ã©ã®ã‚ˆã†ãªç¨®é¡žã®ã‚‚ã®ãŒå¯èƒ½ã‹ã‚’調ã¹ã‚‹ã«ã¯ã€
+ org.hibernate.test.DoubleStringType を確èªã—ã¦ãã ã•ã„。
@@ -3095,22 +3096,22 @@
]]>
- <column> ƒ^ƒO‚ÅA
- ƒvƒƒpƒeƒB‚ð•¡”‚̃Jƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚Å‚«‚邱‚Æ‚É’–Ú‚µ‚Ä‚‚¾‚³‚¢B
+ <column> ã‚¿ã‚°ã§ã€
+ プãƒãƒ‘ティを複数ã®ã‚«ãƒ©ãƒ ã¸ãƒžãƒƒãƒ”ングã§ãã‚‹ã“ã¨ã«æ³¨ç›®ã—ã¦ãã ã•ã„。
CompositeUserType , EnhancedUserType ,
UserCollectionType , UserVersionType
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÍA‚æ‚è“ÁŽê‚ÈŽg—p–@‚ɑ΂µ‚ẴTƒ|[ƒg‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+ インターフェイスã¯ã€ã‚ˆã‚Šç‰¹æ®Šãªä½¿ç”¨æ³•ã«å¯¾ã—ã¦ã®ã‚µãƒãƒ¼ãƒˆã‚’æä¾›ã—ã¾ã™ã€‚
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚Å UserType ‚Öƒpƒ‰ƒ[ƒ^‚ð’ñ‹Ÿ‚Å‚«‚Ü‚·B
- ‚±‚Ì‚½‚ß‚É‚ÍAUserType ‚Í
- org.hibernate.usertype.ParameterizedType ‚ðŽÀ‘•‚µ‚È‚‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
- ƒJƒXƒ^ƒ€Œ^ƒpƒ‰ƒ[ƒ^‚ð’ñ‹Ÿ‚·‚邽‚ß‚ÉA
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚Å <type> —v‘f‚ðŽg—p‚Å‚«‚Ü‚·B
+ マッピングファイル内㧠UserType ã¸ãƒ‘ラメータをæä¾›ã§ãã¾ã™ã€‚
+ ã“ã®ãŸã‚ã«ã¯ã€UserType ã¯
+ org.hibernate.usertype.ParameterizedType を実装ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。
+ カスタム型パラメータをæä¾›ã™ã‚‹ãŸã‚ã«ã€
+ マッピングファイル内㧠<type> è¦ç´ を使用ã§ãã¾ã™ã€‚
@@ -3120,17 +3121,17 @@
]]>
- UserType ‚ÍA
- ˆø”‚Æ‚µ‚Ä“n‚³‚ꂽ Properties ƒIƒuƒWƒFƒNƒg‚©‚çA
- default ‚ÅŽw’肵‚½ƒpƒ‰ƒ[ƒ^‚ɑ΂·‚é’l‚ðŒŸõ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ UserType ã¯ã€
+ 引数ã¨ã—ã¦æ¸¡ã•ã‚ŒãŸ Properties オブジェクトã‹ã‚‰ã€
+ default ã§æŒ‡å®šã—ãŸãƒ‘ラメータã«å¯¾ã™ã‚‹å€¤ã‚’検索ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- “Á’è‚Ì UserType ‚ð•p”É‚ÉŽg—p‚·‚é‚È‚ç‚ÎA’Z‚¢–¼‘O‚ð’è‹`‚·‚é‚Æ•Ö—˜‚É‚È‚é‚Å‚µ‚傤B
- <typedef> —v‘f‚ðŽg‚Á‚Ä‚±‚̂悤‚È‚±‚Æ‚ªs‚¦‚Ü‚·B
- Typedefs‚̓JƒXƒ^ƒ€Œ^‚É–¼‘O‚ðŠ„‚è“–‚Ä‚Ü‚·B
- ‚»‚ÌŒ^‚ªƒpƒ‰ƒ[ƒ^‚ðŽ‚‚Ȃç‚ÎA
- ƒpƒ‰ƒ[ƒ^‚̃fƒtƒHƒ‹ƒg’l‚̃ŠƒXƒg‚ðŠÜ‚Þ‚±‚Æ‚à‚Å‚«‚Ü‚·B
+ 特定㮠UserType ã‚’é »ç¹ã«ä½¿ç”¨ã™ã‚‹ãªã‚‰ã°ã€çŸã„åå‰ã‚’定義ã™ã‚‹ã¨ä¾¿åˆ©ã«ãªã‚‹ã§ã—ょã†ã€‚
+ <typedef> è¦ç´ を使ã£ã¦ã“ã®ã‚ˆã†ãªã“ã¨ãŒè¡Œãˆã¾ã™ã€‚
+ Typedefsã¯ã‚«ã‚¹ã‚¿ãƒ åž‹ã«åå‰ã‚’割り当ã¦ã¾ã™ã€‚
+ ãã®åž‹ãŒãƒ‘ラメータをæŒã¤ãªã‚‰ã°ã€
+ パラメータã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã®ãƒªã‚¹ãƒˆã‚’å«ã‚€ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
@@ -3140,21 +3141,21 @@
]]>
- ƒvƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚ÅŒ^ƒpƒ‰ƒ[ƒ^‚ðŽg‚¤‚±‚Æ‚ÅA
- typedef‚Å’ñ‹Ÿ‚³‚ꂽƒpƒ‰ƒ[ƒ^‚ð‚»‚Ì“s“xƒI[ƒo[ƒ‰ƒCƒh‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B
+ プãƒãƒ‘ティã®ãƒžãƒƒãƒ”ングã§åž‹ãƒ‘ラメータを使ã†ã“ã¨ã§ã€
+ typedefã§æä¾›ã•ã‚ŒãŸãƒ‘ラメータをãã®éƒ½åº¦ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚
- Hibernate‚Ì•L‚¢‘g‚Ýž‚ÝŒ^‚ƃRƒ“ƒ|[ƒlƒ“ƒg‚ɑ΂·‚éƒTƒ|[ƒg‚ÍA
- ƒJƒXƒ^ƒ€Œ^‚ð‚ß‚Á‚½‚É Žg‚í‚È‚¢ ‚Æ‚¢‚¤‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
- ‚»‚ê‚Å‚à‚È‚¨AƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å•po‚·‚é(ƒGƒ“ƒeƒBƒeƒB‚Å‚Í‚È‚¢)ƒNƒ‰ƒX‚ɑ΂·‚éƒJƒXƒ^ƒ€Œ^‚ÌŽg—p‚ÍA
- ‚æ‚¢‚â‚è•û‚Å‚ ‚é‚Æ‚Ý‚È‚³‚ê‚Ü‚·B
- —Ⴆ‚Î MonetaryAmount ƒNƒ‰ƒX‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚ÄŠÈ’P‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·‚ªA
- CompositeUserType ‚Ì—Ç‚¢Œó•â‚Å‚·B
- ƒJƒXƒ^ƒ€Œ^‚ðŽg—p‚·‚é“®‹@‚Ì1‚‚͒ŠÛ‰»‚Å‚·B
- ƒJƒXƒ^ƒ€Œ^‚ðŽg‚¤‚±‚Æ‚ÅA’ʉ݂ð‚ǂ̂悤‚É•\Œ»‚µ‚悤‚Æ‚à
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Í‹N‚±‚肤‚é•Ï‰»‚ɑΉž‚Å‚«‚Ü‚·B
+ Hibernateã®å¹…広ã„組ã¿è¾¼ã¿åž‹ã¨ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã«å¯¾ã™ã‚‹ã‚µãƒãƒ¼ãƒˆã¯ã€
+ カスタム型をã‚ã£ãŸã« 使ã‚ãªã„ ã¨ã„ã†ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
+ ãã‚Œã§ã‚‚ãªãŠã€ã‚¢ãƒ—リケーションã§é »å‡ºã™ã‚‹(エンティティã§ã¯ãªã„)クラスã«å¯¾ã™ã‚‹ã‚«ã‚¹ã‚¿ãƒ åž‹ã®ä½¿ç”¨ã¯ã€
+ よã„ã‚„ã‚Šæ–¹ã§ã‚ã‚‹ã¨ã¿ãªã•ã‚Œã¾ã™ã€‚
+ 例ãˆã° MonetaryAmount クラスã¯ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã¨ã—ã¦ç°¡å˜ã«ãƒžãƒƒãƒ”ングã§ãã¾ã™ãŒã€
+ CompositeUserType ã®è‰¯ã„候補ã§ã™ã€‚
+ カスタム型を使用ã™ã‚‹å‹•æ©Ÿã®1ã¤ã¯æŠ½è±¡åŒ–ã§ã™ã€‚
+ カスタム型を使ã†ã“ã¨ã§ã€é€šè²¨ã‚’ã©ã®ã‚ˆã†ã«è¡¨ç¾ã—よã†ã¨ã‚‚
+ マッピングドã‚ュメントã¯èµ·ã“ã‚Šã†ã‚‹å¤‰åŒ–ã«å¯¾å¿œã§ãã¾ã™ã€‚
@@ -3163,15 +3164,15 @@
- ‚P‚‚̃Nƒ‰ƒX‚É‚P‚ˆÈã‚̃}ƒbƒsƒ“ƒO
+ 1ã¤ã®ã‚¯ãƒ©ã‚¹ã«ï¼‘ã¤ä»¥ä¸Šã®ãƒžãƒƒãƒ”ング
- ‚ ‚é‰i‘±ƒNƒ‰ƒX‚ÉAˆê‚ˆÈã‚̃}ƒbƒsƒ“ƒO‚ð’ñ‹Ÿ‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
- ‚±‚Ìê‡Aƒ}ƒbƒsƒ“ƒO‚·‚é‚Q‚‚̃Gƒ“ƒeƒBƒeƒB‚̃Cƒ“ƒXƒ^ƒ“ƒX‚𖾊m‚É‚·‚邽‚ß‚ÉA
- ƒGƒ“ƒeƒBƒeƒB–¼ ‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ
- (ƒfƒtƒHƒ‹ƒg‚ł̓Gƒ“ƒeƒBƒeƒB–¼‚̓Nƒ‰ƒX–¼‚Æ“¯‚¶‚Å‚·B)B
- ‰i‘±ƒIƒuƒWƒFƒNƒg‚ðˆµ‚¤‚Æ‚«AƒNƒGƒŠ‚ð‘‚«ž‚Þ‚Æ‚«A
- Žw’肳‚ꂽƒGƒ“ƒeƒBƒeƒB‚Ö‚ÌŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‚Æ‚«‚É‚ÍA
- Hibernate‚ł̓Gƒ“ƒeƒBƒeƒB–¼‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ ã‚る永続クラスã«ã€ä¸€ã¤ä»¥ä¸Šã®ãƒžãƒƒãƒ”ングをæä¾›ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
+ ã“ã®å ´åˆã€ãƒžãƒƒãƒ”ングã™ã‚‹ï¼’ã¤ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’明確ã«ã™ã‚‹ãŸã‚ã«ã€
+ エンティティå を指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“
+ (デフォルトã§ã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£åã¯ã‚¯ãƒ©ã‚¹åã¨åŒã˜ã§ã™ã€‚)。
+ 永続オブジェクトを扱ã†ã¨ãã€ã‚¯ã‚¨ãƒªã‚’書ã込むã¨ãã€
+ 指定ã•ã‚ŒãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®é–¢é€£ã‚’マッピングã™ã‚‹ã¨ãã«ã¯ã€
+ Hibernateã§ã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£åを指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
]]>
- ŠÖ˜A‚ªclass ‚Ì‘ã‚í‚è‚É entity-name ‚ðŽg‚Á‚ÄA
- ‚ǂ̂悤‚ÉŽw’肳‚ê‚é‚Ì‚©‚É’–Ú‚µ‚Ä‚‚¾‚³‚¢B
+ 関連ãŒclass ã®ä»£ã‚ã‚Šã« entity-name を使ã£ã¦ã€
+ ã©ã®ã‚ˆã†ã«æŒ‡å®šã•ã‚Œã‚‹ã®ã‹ã«æ³¨ç›®ã—ã¦ãã ã•ã„。
- ƒoƒbƒNƒNƒH[ƒg‚ň͂ñ‚¾ SQL Ž¯•ÊŽq
+ ãƒãƒƒã‚¯ã‚¯ã‚©ãƒ¼ãƒˆã§å›²ã‚“ã SQL è˜åˆ¥å
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Ńe[ƒuƒ‹‚âƒJƒ‰ƒ€‚Ì–¼‘O‚ðƒoƒbƒNƒNƒH[ƒg‚ň͂ނ±‚Æ‚ÅA
- Hibernate‚Ŷ¬‚³‚ꂽSQL’†‚ÌŽ¯•ÊŽq‚ðˆø—p‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- Hibernate‚ÍSQL‚Ì Dialect ‚ɑΉž‚·‚éA³‚µ‚¢ˆø—pƒXƒ^ƒCƒ‹‚ðŽg‚¢‚Ü‚·
- i•’ʂ̓_ƒuƒ‹ƒNƒH[ƒg‚Å‚·‚ªASQL Server‚Å‚Í‚©‚¬Š‡ŒÊAMySQL‚ł̓oƒbƒNƒNƒH[ƒg‚Å‚·jB
+ マッピングドã‚ュメントã§ãƒ†ãƒ¼ãƒ–ルやカラムã®åå‰ã‚’ãƒãƒƒã‚¯ã‚¯ã‚©ãƒ¼ãƒˆã§å›²ã‚€ã“ã¨ã§ã€
+ Hibernateã§ç”Ÿæˆã•ã‚ŒãŸSQLä¸ã®è˜åˆ¥åを引用ã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ Hibernateã¯SQLã® Dialect ã«å¯¾å¿œã™ã‚‹ã€æ£ã—ã„引用スタイルを使ã„ã¾ã™
+ (普通ã¯ãƒ€ãƒ–ルクォートã§ã™ãŒã€SQL Serverã§ã¯ã‹ãŽæ‹¬å¼§ã€MySQLã§ã¯ãƒãƒƒã‚¯ã‚¯ã‚©ãƒ¼ãƒˆã§ã™ï¼‰ã€‚
@@ -3218,21 +3219,21 @@
- ƒƒ^ƒf[ƒ^‚Ì‘ã‘ÖŽè’i
+ メタデータã®ä»£æ›¿æ‰‹æ®µ
- XML‚Ì‹LqˆÈŠO‚ÉA
- Hibernate‚Å‚ÍO/Rƒ}ƒbƒsƒ“ƒO‚̃ƒ^ƒf[ƒ^‚ð’è‹`‚·‚é‘ã‘Ö•û–@‚ª‚ ‚è‚Ü‚·B
+ XMLã®è¨˜è¿°ä»¥å¤–ã«ã€
+ Hibernateã§ã¯O/Rマッピングã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚’定義ã™ã‚‹ä»£æ›¿æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚
- XDoclet ƒ}[ƒNƒAƒbƒv‚ÌŽg—p
+ XDoclet マークアップã®ä½¿ç”¨
- ‘½‚‚ÌHibernateƒ†[ƒU‚ÍXDoclet‚Ì @hibernate.tags ‚ðŽg‚Á‚ÄA
- ƒ\[ƒXƒR[ƒh“à‚É’¼Úƒ}ƒbƒsƒ“ƒOî•ñ‚ð–„‚ßž‚Þ‚±‚Æ‚ðD‚Ý‚Ü‚·B
- ‚±‚ê‚ÍŒµ–§‚ÉŒ¾‚¦‚ÎXDoclet‚Ì•ª–ì‚È‚Ì‚ÅA–{ƒhƒLƒ…ƒƒ“ƒg‚Å‚Í‚±‚Ì•û–@‚ð‘ÎÛ‚Æ‚Í‚µ‚Ü‚¹‚ñB
- ‚µ‚©‚µXDoclet‚ðŽg‚Á‚½ˆÈ‰º‚Ì Cat ƒ}ƒbƒsƒ“ƒO‚Ì—á‚ðŽ¦‚µ‚Ü‚·B
+ 多ãã®Hibernateユーザã¯XDocletã® @hibernate.tags を使ã£ã¦ã€
+ ソースコード内ã«ç›´æŽ¥ãƒžãƒƒãƒ”ãƒ³ã‚°æƒ…å ±ã‚’åŸ‹ã‚込むã“ã¨ã‚’好ã¿ã¾ã™ã€‚
+ ã“ã‚Œã¯åŽ³å¯†ã«è¨€ãˆã°XDocletã®åˆ†é‡Žãªã®ã§ã€æœ¬ãƒ‰ã‚ュメントã§ã¯ã“ã®æ–¹æ³•ã‚’対象ã¨ã¯ã—ã¾ã›ã‚“。
+ ã—ã‹ã—XDocletを使ã£ãŸä»¥ä¸‹ã® Cat マッピングã®ä¾‹ã‚’示ã—ã¾ã™ã€‚
- Hibernate‚̃EƒFƒuƒTƒCƒg‚É‚ÍAXDoclet‚ÆHibernate‚ÉŠÖ‚·‚éƒTƒ“ƒvƒ‹‚ª‘½”‚ ‚è‚Ü‚·B
+ Hibernateã®ã‚¦ã‚§ãƒ–サイトã«ã¯ã€XDocletã¨Hibernateã«é–¢ã™ã‚‹ã‚µãƒ³ãƒ—ルãŒå¤šæ•°ã‚ã‚Šã¾ã™ã€‚
- JDK 5.0 ƒAƒmƒe[ƒVƒ‡ƒ“‚ÌŽg—p
+ JDK 5.0 アノテーションã®ä½¿ç”¨
- JDK5.0‚ł̓^ƒCƒvƒZ[ƒt‚©‚ƒRƒ“ƒpƒCƒ‹Žž‚Ƀ`ƒFƒbƒN‚Å‚«‚éA
- Œ¾ŒêƒŒƒxƒ‹‚ÌXDocletƒXƒ^ƒCƒ‹‚̃Aƒmƒe[ƒVƒ‡ƒ“‚𓱓ü‚µ‚Ü‚µ‚½B
- ‚±‚̃ƒJƒjƒYƒ€‚ÍXDoclet‚̃Aƒmƒe[ƒVƒ‡ƒ“‚æ‚è‚à‹—Í‚ÅAƒc[ƒ‹‚âIDE‚à‘½‚‚ªƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- —Ⴆ‚ÎIntelliJ IDEA‚ÍAJDK5.0‚ɃAƒmƒe[ƒVƒ‡ƒ“‚ÌŽ©“®•âŠ®‚Æ\•¶‚Ì‹’²•\Ž¦‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- EJBŽd—l (JSR-220)‚ÌV‚µ‚¢ƒo[ƒWƒ‡ƒ“‚Å‚ÍAƒGƒ“ƒeƒBƒeƒBƒr[ƒ“‚ɑ΂·‚éŽå—v‚ȃƒ^ƒf[ƒ^ƒƒJƒjƒYƒ€‚Æ‚µ‚Ä
- JDK5.0‚̃Aƒmƒe[ƒVƒ‡ƒ“‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B
- Hibernate3‚Å‚ÍJSR-220 (‰i‘±‰»API)‚Ì EntityManager ‚ðŽÀ‘•‚µA
- ƒƒ^ƒf[ƒ^ƒ}ƒbƒsƒ“ƒO‚ɑ΂·‚éƒTƒ|[ƒg‚ÍA
- •Êƒ_ƒEƒ“ƒ[ƒh‚Ì Hibernate Annotations ƒpƒbƒP[ƒW‚É‚æ‚è—˜—p‰Â”\‚Å‚·B
- ‚±‚ê‚ÍEJB3(JSR-220)‚ÆHibernate3‚̃ƒ^ƒf[ƒ^‚ð‚Ç‚¿‚ç‚àƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+ JDK5.0ã§ã¯ã‚¿ã‚¤ãƒ—セーフã‹ã¤ã‚³ãƒ³ãƒ‘イル時ã«ãƒã‚§ãƒƒã‚¯ã§ãã‚‹ã€
+ 言語レベルã®XDocletスタイルã®ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã‚’å°Žå…¥ã—ã¾ã—ãŸã€‚
+ ã“ã®ãƒ¡ã‚«ãƒ‹ã‚ºãƒ ã¯XDocletã®ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã‚ˆã‚Šã‚‚強力ã§ã€ãƒ„ールやIDEも多ããŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ 例ãˆã°IntelliJ IDEAã¯ã€JDK5.0ã«ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã®è‡ªå‹•è£œå®Œã¨æ§‹æ–‡ã®å¼·èª¿è¡¨ç¤ºã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ EJB仕様 (JSR-220)ã®æ–°ã—ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒ“ーンã«å¯¾ã™ã‚‹ä¸»è¦ãªãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ãƒ¡ã‚«ãƒ‹ã‚ºãƒ ã¨ã—ã¦
+ JDK5.0ã®ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ã‚’使用ã—ã¦ã„ã¾ã™ã€‚
+ Hibernate3ã§ã¯JSR-220 (永続化API)ã® EntityManager を実装ã—ã€
+ メタデータマッピングã«å¯¾ã™ã‚‹ã‚µãƒãƒ¼ãƒˆã¯ã€
+ 別ダウンãƒãƒ¼ãƒ‰ã® Hibernate Annotations パッケージã«ã‚ˆã‚Šåˆ©ç”¨å¯èƒ½ã§ã™ã€‚
+ ã“ã‚Œã¯EJB3(JSR-220)ã¨Hibernate3ã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚’ã©ã¡ã‚‰ã‚‚サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
- ˆÈ‰º‚ÍEJB‚̃Gƒ“ƒeƒBƒeƒBƒr[ƒ“‚Æ‚µ‚Ä’Žß‚³‚ꂽPOJOƒNƒ‰ƒX‚Ì—á‚Å‚·B
+ 以下ã¯EJBã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒ“ーンã¨ã—ã¦æ³¨é‡ˆã•ã‚ŒãŸPOJOクラスã®ä¾‹ã§ã™ã€‚
- JDK5.0‚̃Aƒmƒe[ƒVƒ‡ƒ“(‚ÆJSR-220)‚̃Tƒ|[ƒg‚Íis’†‚Ìì‹Æ‚Å‚ ‚èAŠ®‘S‚Å‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚³‚ç‚ÉÚ‚µ‚¢î•ñ‚ÍHibernate‚̃Aƒmƒe[ƒVƒ‡ƒ“Eƒ‚ƒWƒ…[ƒ‹‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ JDK5.0ã®ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³(ã¨JSR-220)ã®ã‚µãƒãƒ¼ãƒˆã¯é€²è¡Œä¸ã®ä½œæ¥ã§ã‚ã‚Šã€å®Œå…¨ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã•ã‚‰ã«è©³ã—ã„æƒ…å ±ã¯Hibernateã®ã‚¢ãƒŽãƒ†ãƒ¼ã‚·ãƒ§ãƒ³ãƒ»ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
@@ -3401,54 +3402,54 @@ public class Customer implements Serializable {
- ¶¬ƒvƒƒpƒeƒB
+ 生æˆãƒ—ãƒãƒ‘ティ
- ¶¬ƒvƒƒpƒeƒB‚Æ‚ÍAƒf[ƒ^ƒx[ƒX‚É‚æ‚Á‚Ķ¬‚³‚ꂽ’l‚ðŽ‚ƒvƒƒpƒeƒB‚Å‚·B
- ’ÊíAHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍAƒf[ƒ^ƒx[ƒX‚ª’l‚𶬂µ‚½ƒvƒƒpƒeƒB‚ðŠÜ‚ÞƒIƒuƒWƒFƒNƒg‚ð
- ƒŠƒtƒŒƒbƒVƒ… ‚·‚é•K—v‚ª‚ ‚è‚Ü‚µ‚½B
- ‚µ‚©‚µAƒvƒƒpƒeƒB‚ª¶¬‚³‚ꂽ‚Æ‚¢‚¤‚±‚Æ‚ðƒ}[ƒN‚·‚邱‚Æ‚ÅA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓ŠƒtƒŒƒbƒVƒ…‚ÌÓ”C‚ðHibernate‚ɈÏ÷‚µ‚Ü‚·B
+ 生æˆãƒ—ãƒãƒ‘ティã¨ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ˆã£ã¦ç”Ÿæˆã•ã‚ŒãŸå€¤ã‚’æŒã¤ãƒ—ãƒãƒ‘ティã§ã™ã€‚
+ 通常ã€Hibernateアプリケーションã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒå€¤ã‚’生æˆã—ãŸãƒ—ãƒãƒ‘ティをå«ã‚€ã‚ªãƒ–ジェクトを
+ リフレッシュ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã—ãŸã€‚
+ ã—ã‹ã—ã€ãƒ—ãƒãƒ‘ティãŒç”Ÿæˆã•ã‚ŒãŸã¨ã„ã†ã“ã¨ã‚’マークã™ã‚‹ã“ã¨ã§ã€
+ アプリケーションã¯ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ã®è²¬ä»»ã‚’Hibernateã«å§”è²ã—ã¾ã™ã€‚
- Šî–{“I‚ÉA¶¬ƒvƒƒpƒeƒB‚ðŽ‚‚ƒè‹`‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä
- Hibernate‚ªINSERT‚âUPDATE‚ÌSQL‚ð”s‚µ‚½Œã‚·‚®‚ÉA
- ¶¬‚³‚ꂽ’l‚ð“Ç‚Ýž‚Þ‚½‚ß‚Ì SELECT SQL ‚ª”s‚³‚ê‚Ü‚·B
+ 基本的ã«ã€ç”Ÿæˆãƒ—ãƒãƒ‘ティをæŒã¤ã¨å®šç¾©ã—ãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«å¯¾ã—ã¦
+ HibernateãŒINSERTã‚„UPDATEã®SQLを発行ã—ãŸå¾Œã™ãã«ã€
+ 生æˆã•ã‚ŒãŸå€¤ã‚’èªã¿è¾¼ã‚€ãŸã‚ã® SELECT SQL ãŒç™ºè¡Œã•ã‚Œã¾ã™ã€‚
- ¶¬ƒvƒƒpƒeƒB‚ÍA‘}“ü•s‰Â”\‚©‚ÂXV•s‰Â”\‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- versions A
- timestamps A
- simple properties ‚¾‚¯‚ª¶¬‚³‚ꂽ‚ƃ}[ƒN‚Å‚«‚Ü‚·B
+ 生æˆãƒ—ãƒãƒ‘ティã¯ã€æŒ¿å…¥ä¸å¯èƒ½ã‹ã¤æ›´æ–°ä¸å¯èƒ½ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ versions ã€
+ timestamps ã€
+ simple properties ã ã‘ãŒç”Ÿæˆã•ã‚ŒãŸã¨ãƒžãƒ¼ã‚¯ã§ãã¾ã™ã€‚
- never (ƒfƒtƒHƒ‹ƒg) - —^‚¦‚ç‚ꂽƒvƒƒpƒeƒB‚Ì’l‚ÍA
- ƒf[ƒ^ƒx[ƒX‚©‚綬‚³‚ê‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+ never (デフォルト) - 与ãˆã‚‰ã‚ŒãŸãƒ—ãƒãƒ‘ティã®å€¤ã¯ã€
+ データベースã‹ã‚‰ç”Ÿæˆã•ã‚Œãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
- insert - —^‚¦‚ç‚ꂽƒvƒƒpƒeƒB‚Ì’l‚Í‘}“üŽž‚ɶ¬‚³‚ê‚邪A
- ‘±‚¢‚Ä‹N‚±‚éXVŽž‚ɂͶ¬‚³‚ê‚È‚¢‚±‚ÆŽ¦‚µ‚Ü‚·B
- 쬂³‚ꂽ“ú•t‚È‚Ç‚ÍA‚±‚̃JƒeƒSƒŠ‚É•ª—Þ‚³‚ê‚Ü‚·B
- version ‚â
- timestamp ‚Ì
- ƒvƒƒpƒeƒB‚Ͷ¬‚³‚ꂽ‚ƃ}[ƒN‚Å‚«‚Ü‚·‚ªA‚±‚̃IƒvƒVƒ‡ƒ“‚Í—˜—p‚Å‚«‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ insert - 与ãˆã‚‰ã‚ŒãŸãƒ—ãƒãƒ‘ティã®å€¤ã¯æŒ¿å…¥æ™‚ã«ç”Ÿæˆã•ã‚Œã‚‹ãŒã€
+ 続ã„ã¦èµ·ã“る更新時ã«ã¯ç”Ÿæˆã•ã‚Œãªã„ã“ã¨ç¤ºã—ã¾ã™ã€‚
+ 作æˆã•ã‚ŒãŸæ—¥ä»˜ãªã©ã¯ã€ã“ã®ã‚«ãƒ†ã‚´ãƒªã«åˆ†é¡žã•ã‚Œã¾ã™ã€‚
+ version ã‚„
+ timestamp ã®
+ プãƒãƒ‘ティã¯ç”Ÿæˆã•ã‚ŒãŸã¨ãƒžãƒ¼ã‚¯ã§ãã¾ã™ãŒã€ã“ã®ã‚ªãƒ—ションã¯åˆ©ç”¨ã§ããªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- always - ‘}“üŽž‚àXVŽž‚àƒvƒƒpƒeƒB‚Ì’l‚ª¶¬‚³‚ê‚邱‚Æ‚ðŽ¦‚µ‚Ü‚·B
+ always - 挿入時も更新時もプãƒãƒ‘ティã®å€¤ãŒç”Ÿæˆã•ã‚Œã‚‹ã“ã¨ã‚’示ã—ã¾ã™ã€‚
- •â•“I‚ȃf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg
+ 補助的ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ»ã‚ªãƒ–ジェクト
- Hibernate‚̃XƒL[ƒ}EƒGƒ{ƒŠƒ…[ƒVƒ‡ƒ“ƒc[ƒ‹‚ƘA“®‚·‚邱‚Æ‚ÅA
- ”CˆÓ‚̃f[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒgiƒgƒŠƒK[‚âƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚È‚Çj‚ÌCREATE‚ÆDROP‚É‚æ‚èA
- Hibernate‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚̃†[ƒUEƒXƒL[ƒ}‚ð‚·‚×‚Ä’è‹`‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
- Žå‚ɃgƒŠƒK‚âƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚̂悤‚ȃf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg‚𶬂â휂·‚邱‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚·‚ªA
- ŽÀÛ‚É‚Í java.sql.Statement.execute() ƒƒ\ƒbƒh‚É‚æ‚Á‚ÄŽÀs‚Å‚«‚é
- ”CˆÓ‚ÌSQLƒRƒ}ƒ“ƒhiALTERAINSERT‚È‚Çj‚ªŽÀs‚Å‚«‚Ü‚·B
- •â•“I‚ȃf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg‚ð’è‹`‚·‚邽‚ß‚ÌA2‚‚̊î–{“I‚È•û–@‚ª‚ ‚è‚Ü‚·B
+ Hibernateã®ã‚¹ã‚ーマ・エボリューションツールã¨é€£å‹•ã™ã‚‹ã“ã¨ã§ã€
+ ä»»æ„ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ»ã‚ªãƒ–ジェクト(トリガーやストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ãªã©ï¼‰ã®CREATEã¨DROPã«ã‚ˆã‚Šã€
+ Hibernateã®ãƒžãƒƒãƒ”ングファイル内ã®ãƒ¦ãƒ¼ã‚¶ãƒ»ã‚¹ã‚ーマをã™ã¹ã¦å®šç¾©ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
+ 主ã«ãƒˆãƒªã‚¬ã‚„ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã®ã‚ˆã†ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ»ã‚ªãƒ–ジェクトを生æˆã‚„削除ã™ã‚‹ã“ã¨ã‚’æ„図ã—ã¦ã„ã¾ã™ãŒã€
+ 実際ã«ã¯ java.sql.Statement.execute() メソッドã«ã‚ˆã£ã¦å®Ÿè¡Œã§ãã‚‹
+ ä»»æ„ã®SQLコマンド(ALTERã€INSERTãªã©ï¼‰ãŒå®Ÿè¡Œã§ãã¾ã™ã€‚
+ 補助的ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ»ã‚ªãƒ–ジェクトを定義ã™ã‚‹ãŸã‚ã®ã€2ã¤ã®åŸºæœ¬çš„ãªæ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚
- 1‚–ڂ̕û–@‚ÍACREATE‚ÆDROPƒRƒ}ƒ“ƒh‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÌŠO‚ÉA–¾Ž¦“I‚É‹LÚ‚·‚邱‚Æ‚Å‚·B
+ 1ã¤ç›®ã®æ–¹æ³•ã¯ã€CREATEã¨DROPコマンドをマッピングファイルã®å¤–ã«ã€æ˜Žç¤ºçš„ã«è¨˜è¼‰ã™ã‚‹ã“ã¨ã§ã™ã€‚
...
@@ -3458,9 +3459,9 @@ public class Customer implements Serializable {
]]>
- 2‚–ڂ̕û–@‚ÍACREATE‚ÆDROPƒRƒ}ƒ“ƒh‚Ì‘g‚Ý—§‚Ä•û‚ð’m‚Á‚Ä‚¢‚éƒJƒXƒ^ƒ€ƒNƒ‰ƒX‚ð’ñ‹Ÿ‚·‚邱‚Æ‚Å‚·B
- ‚±‚̃JƒXƒ^ƒ€ƒNƒ‰ƒX‚Í org.hibernate.mapping.AuxiliaryDatabaseObject ƒCƒ“ƒ^ƒtƒF[ƒX‚ð
- ŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ 2ã¤ç›®ã®æ–¹æ³•ã¯ã€CREATEã¨DROPコマンドã®çµ„ã¿ç«‹ã¦æ–¹ã‚’知ã£ã¦ã„るカスタムクラスをæä¾›ã™ã‚‹ã“ã¨ã§ã™ã€‚
+ ã“ã®ã‚«ã‚¹ã‚¿ãƒ クラス㯠org.hibernate.mapping.AuxiliaryDatabaseObject インタフェースを
+ 実装ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
...
@@ -3469,8 +3470,8 @@ public class Customer implements Serializable {
]]>
- ‚³‚ç‚ÉA‚ ‚éƒf[ƒ^ƒx[ƒX•ûŒ¾‚ªŽg—p‚³‚ê‚鎞‚É‚¾‚¯“K—p‚·‚é‚Æ‚¢‚Á‚½‚悤‚ÉA
- ƒf[ƒ^ƒx[ƒXEƒIƒuƒWƒFƒNƒg‚ªŽg‚í‚ê‚éƒP[ƒX‚ðŒÀ’è‚Å‚«‚Ü‚·B
+ ã•ã‚‰ã«ã€ã‚るデータベース方言ãŒä½¿ç”¨ã•ã‚Œã‚‹æ™‚ã«ã ã‘é©ç”¨ã™ã‚‹ã¨ã„ã£ãŸã‚ˆã†ã«ã€
+ データベース・オブジェクトãŒä½¿ã‚れるケースをé™å®šã§ãã¾ã™ã€‚
...
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/batch.xml b/documentation/manual/ja-JP/src/main/docbook/content/batch.xml
index 45dd07eb52..0e52c88ce6 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/batch.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/batch.xml
@@ -1,9 +1,11 @@
-
+
+
+
- ƒoƒbƒ`ˆ—
+ ãƒãƒƒãƒå‡¦ç†
- Hibernate‚ðŽg‚Á‚ăf[ƒ^ƒx[ƒX‚É100,000s‚ð‘}“ü‚·‚é‹ð’¼‚È•û–@‚ÍA‚±‚̂悤‚È‚à‚Ì‚Å‚·F
+ Hibernateを使ã£ã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«100,000行を挿入ã™ã‚‹æ„šç›´ãªæ–¹æ³•ã¯ã€ã“ã®ã‚ˆã†ãªã‚‚ã®ã§ã™ï¼š
- ‚±‚ê‚Í50,000”Ô–Ú‚Ìs‚Ì‚ ‚½‚è‚Å OutOfMemoryException ‚ÅŽ¸”s‚·‚é‚Å‚µ‚傤B
- Hibernate‚ªƒZƒbƒVƒ‡ƒ“ƒŒƒxƒ‹ƒLƒƒƒbƒVƒ…‚ÅA
- V‚µ‚‘}“ü‚³‚ꂽ‚·‚×‚Ä‚Ì Customer
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒLƒƒƒbƒVƒ…‚·‚é‚©‚ç‚Å‚·B
+ ã“ã‚Œã¯50,000番目ã®è¡Œã®ã‚ãŸã‚Šã§ OutOfMemoryException ã§å¤±æ•—ã™ã‚‹ã§ã—ょã†ã€‚
+ HibernateãŒã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ¬ãƒ™ãƒ«ã‚ャッシュã§ã€
+ æ–°ã—ã挿入ã•ã‚ŒãŸã™ã¹ã¦ã® Customer
+ インスタンスをã‚ャッシュã™ã‚‹ã‹ã‚‰ã§ã™ã€‚
- ‚±‚ÌÍ‚Å‚ÍA‚±‚Ì–â‘è‚ð‰ñ”ð‚·‚é•û–@‚ðЉ‚Ü‚·B
- ‚µ‚©‚µƒoƒbƒ`ˆ—‚ð‚·‚é‚È‚çAJDBCƒoƒbƒ`‚ªŽg—p‰Â”\‚Å‚ ‚邱‚Æ‚ª”ñí‚Éd—v‚Å‚·B
- ‚»‚¤‚Å‚È‚¯‚ê‚ÎŽè ‚ÈƒpƒtƒH[ƒ}ƒ“ƒX‚ª“¾‚ç‚ê‚Ü‚¹‚ñB
- JDBCƒoƒbƒ`ƒTƒCƒY‚ðŽè ‚È”’li—Ⴆ‚ÎA10‚©‚ç50j‚Éݒ肵‚Ä‚‚¾‚³‚¢F
+ ã“ã®ç« ã§ã¯ã€ã“ã®å•é¡Œã‚’回é¿ã™ã‚‹æ–¹æ³•ã‚’紹介ã—ã¾ã™ã€‚
+ ã—ã‹ã—ãƒãƒƒãƒå‡¦ç†ã‚’ã™ã‚‹ãªã‚‰ã€JDBCãƒãƒƒãƒãŒä½¿ç”¨å¯èƒ½ã§ã‚ã‚‹ã“ã¨ãŒéžå¸¸ã«é‡è¦ã§ã™ã€‚
+ ãã†ã§ãªã‘ã‚Œã°æ‰‹é ƒãªãƒ‘フォーマンスãŒå¾—られã¾ã›ã‚“。
+ JDBCãƒãƒƒãƒã‚µã‚¤ã‚ºã‚’æ‰‹é ƒãªæ•°å€¤ï¼ˆä¾‹ãˆã°ã€10ã‹ã‚‰50)ã«è¨å®šã—ã¦ãã ã•ã„:
- ‚Ü‚½“ñŽŸƒLƒƒƒbƒVƒ…‚ª‘S‚Œø‚©‚È‚¢ƒvƒƒZƒX‚ÅA
- ‚±‚̂悤‚Èì‹Æ‚ð‚µ‚½‚¢‚ÆŽv‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñF
+ ã¾ãŸäºŒæ¬¡ã‚ャッシュãŒå…¨ã効ã‹ãªã„プãƒã‚»ã‚¹ã§ã€
+ ã“ã®ã‚ˆã†ãªä½œæ¥ã‚’ã—ãŸã„ã¨æ€ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“:
- ‚µ‚©‚µA‚±‚ê‚Íâ‘΂ɕK—v‚Æ‚¢‚¤‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚È‚º‚È‚ç–¾Ž¦“I‚É CacheMode ‚ðݒ肵‚ÄA
- “ñŽŸƒLƒƒƒbƒVƒ…‚Æ‚Ì‘ŠŒÝì—p‚𖳌ø‚É‚·‚邱‚Æ‚ª‚Å‚«‚é‚©‚ç‚Å‚·B
+ ã—ã‹ã—ã€ã“ã‚Œã¯çµ¶å¯¾ã«å¿…è¦ã¨ã„ã†ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ãªãœãªã‚‰æ˜Žç¤ºçš„ã« CacheMode ã‚’è¨å®šã—ã¦ã€
+ 二次ã‚ャッシュã¨ã®ç›¸äº’作用を無効ã«ã™ã‚‹ã“ã¨ãŒã§ãã‚‹ã‹ã‚‰ã§ã™ã€‚
- ƒoƒbƒ`‘}“ü
+ ãƒãƒƒãƒæŒ¿å…¥
- V‚µ‚¢ƒIƒuƒWƒFƒNƒg‚ð‰i‘±‰»‚·‚é‚Æ‚«AˆêŽŸƒLƒƒƒbƒVƒ…‚̃TƒCƒY‚ð§ŒÀ‚·‚邽‚ßA
- ƒZƒbƒVƒ‡ƒ“‚ð flush() ‚µ‚Ä clear()
- ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ æ–°ã—ã„オブジェクトを永続化ã™ã‚‹ã¨ãã€ä¸€æ¬¡ã‚ャッシュã®ã‚µã‚¤ã‚ºã‚’制é™ã™ã‚‹ãŸã‚ã€
+ セッションを flush() ã—㦠clear()
+ ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ƒoƒbƒ`XV
+ ãƒãƒƒãƒæ›´æ–°
- ƒf[ƒ^‚𕜌³‚µ‚½‚èXV‚µ‚½‚è‚·‚é‚É‚Í“¯‚¶ƒAƒCƒfƒBƒA‚ð“K—p‚µ‚Ü‚·B
- ‚»‚ê‚ɉÁ‚¦‚ÄAƒf[ƒ^‚Ìs‚𑽂•Ô‚·ƒNƒGƒŠ‚ɑ΂µ‚Ä—LŒø‚È
- ƒT[ƒo[ƒTƒCƒh‚̃J[ƒ\ƒ‹‚Ì—˜“_‚𶂩‚µ‚½‚¯‚ê‚Î
- scroll() ‚ðŽg‚¤•K—v‚ª‚ ‚è‚Ü‚·B
+ データを復元ã—ãŸã‚Šæ›´æ–°ã—ãŸã‚Šã™ã‚‹ã«ã¯åŒã˜ã‚¢ã‚¤ãƒ‡ã‚£ã‚¢ã‚’é©ç”¨ã—ã¾ã™ã€‚
+ ãã‚Œã«åŠ ãˆã¦ã€ãƒ‡ãƒ¼ã‚¿ã®è¡Œã‚’多ãè¿”ã™ã‚¯ã‚¨ãƒªã«å¯¾ã—ã¦æœ‰åŠ¹ãª
+ サーãƒãƒ¼ã‚µã‚¤ãƒ‰ã®ã‚«ãƒ¼ã‚½ãƒ«ã®åˆ©ç‚¹ã‚’生ã‹ã—ãŸã‘ã‚Œã°
+ scroll() を使ã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
- StatelessSessionƒCƒ“ƒ^[ƒtƒFƒCƒX
+ StatelessSessionインターフェイス
- ‚Ü‚½•Ê‚Ì•û–@‚Æ‚µ‚ÄAHibernate‚̓Rƒ}ƒ“ƒhŽwŒü‚ÌAPI‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
- ‚±‚ê‚Í•ª—£ƒIƒuƒWƒFƒNƒg‚ÌŒ`‚ÅA
- ƒf[ƒ^ƒx[ƒX‚Ƃ̃f[ƒ^ƒXƒgƒŠ[ƒ€‚Ì‚â‚èŽæ‚è‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- StatelessSession ‚ÍŠÖ˜A‚·‚é‰i‘±ƒRƒ“ƒeƒLƒXƒg‚ðŽ‚½‚¸A
- ‚ƒŒƒxƒ‹‚̃‰ƒCƒtƒTƒCƒNƒ‹ƒZƒ}ƒ“ƒeƒBƒNƒX‚Ì‘½‚‚ð’ñ‹Ÿ‚µ‚Ü‚¹‚ñB
- “Á‚ɃXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚ÍAˆêŽžƒLƒƒƒbƒVƒ…‚ðŽÀ‘•‚¹‚¸A
- ‚Ü‚½‚ǂ̂悤‚È“ñŽŸƒLƒƒƒbƒVƒ…‚âƒNƒGƒŠƒLƒƒƒbƒVƒ…‚Æ‚à‘ŠŒÝì—p‚µ‚Ü‚¹‚ñB
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒiƒ‹‚Èwrite-behind‚⎩“®ƒ_[ƒeƒBƒ`ƒFƒbƒN‚àŽÀ‘•‚µ‚Ü‚¹‚ñB
- ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚ðŽg‚Á‚Äs‚í‚ê‚鑀삪A
- ŠÖ˜A‚·‚éƒCƒ“ƒXƒ^ƒ“ƒX‚ÖƒJƒXƒP[ƒh‚³‚ê‚邱‚Æ‚ÍŒˆ‚µ‚Ä‚ ‚è‚Ü‚¹‚ñB
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÍAƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚©‚ç‚Í–³Ž‹‚³‚ê‚Ü‚·B
- ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚ð’Ê‚µ‚Äs‚í‚ê‚é‘€ì‚ÍA
- Hibernate‚̃Cƒxƒ“ƒgƒ‚ƒfƒ‹‚âƒCƒ“ƒ^[ƒZƒvƒ^‚̉e‹¿‚ðŽó‚¯‚Ü‚¹‚ñB
- ˆêŽžƒLƒƒƒbƒVƒ…‚ðŽ‚½‚È‚¢‚½‚ßA
- ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚Í•Ê–¼‚ðŽ‚ƒf[ƒ^‚ÉãŽè‚‘Έ‚Å‚«‚Ü‚¹‚ñB
- ƒXƒe[ƒgƒŒƒXƒZƒbƒVƒ‡ƒ“‚͒჌ƒxƒ‹‚Ì’ŠÛ‰»‚Å‚ ‚èAJDBC‚É”ñí‚É‚æ‚Ž—‚Ä‚¢‚Ü‚·B
+ ã¾ãŸåˆ¥ã®æ–¹æ³•ã¨ã—ã¦ã€Hibernateã¯ã‚³ãƒžãƒ³ãƒ‰æŒ‡å‘ã®APIを用æ„ã—ã¦ã„ã¾ã™ã€‚
+ ã“ã‚Œã¯åˆ†é›¢ã‚ªãƒ–ジェクトã®å½¢ã§ã€
+ データベースã¨ã®ãƒ‡ãƒ¼ã‚¿ã‚¹ãƒˆãƒªãƒ¼ãƒ ã®ã‚„ã‚Šå–ã‚Šã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ StatelessSession ã¯é–¢é€£ã™ã‚‹æ°¸ç¶šã‚³ãƒ³ãƒ†ã‚ストをæŒãŸãšã€
+ 高レベルã®ãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã®å¤šãã‚’æä¾›ã—ã¾ã›ã‚“。
+ 特ã«ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¬ã‚¹ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¯ã€ä¸€æ™‚ã‚ャッシュを実装ã›ãšã€
+ ã¾ãŸã©ã®ã‚ˆã†ãªäºŒæ¬¡ã‚ャッシュやクエリã‚ャッシュã¨ã‚‚相互作用ã—ã¾ã›ã‚“。
+ トランザクショナルãªwrite-behindや自動ダーティãƒã‚§ãƒƒã‚¯ã‚‚実装ã—ã¾ã›ã‚“。
+ ステートレスセッションを使ã£ã¦è¡Œã‚れるæ“作ãŒã€
+ 関連ã™ã‚‹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¸ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã•ã‚Œã‚‹ã“ã¨ã¯æ±ºã—ã¦ã‚ã‚Šã¾ã›ã‚“。
+ コレクションã¯ã€ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¬ã‚¹ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‹ã‚‰ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚
+ ステートレスセッションを通ã—ã¦è¡Œã‚れるæ“作ã¯ã€
+ Hibernateã®ã‚¤ãƒ™ãƒ³ãƒˆãƒ¢ãƒ‡ãƒ«ã‚„インターセプタã®å½±éŸ¿ã‚’å—ã‘ã¾ã›ã‚“。
+ 一時ã‚ャッシュをæŒãŸãªã„ãŸã‚ã€
+ ステートレスセッションã¯åˆ¥åã‚’æŒã¤ãƒ‡ãƒ¼ã‚¿ã«ä¸Šæ‰‹ã対処ã§ãã¾ã›ã‚“。
+ ステートレスセッションã¯ä½Žãƒ¬ãƒ™ãƒ«ã®æŠ½è±¡åŒ–ã§ã‚ã‚Šã€JDBCã«éžå¸¸ã«ã‚ˆãä¼¼ã¦ã„ã¾ã™ã€‚
@@ -144,20 +146,20 @@ tx.commit();
session.close();]]>
- ‚±‚̃R[ƒh—á‚Å‚ÍAƒNƒGƒŠ‚ª•Ô‚· Customer
- ƒCƒ“ƒXƒ^ƒ“ƒX‚Í‘¦À‚ÉiƒZƒbƒVƒ‡ƒ“‚©‚çj•ª—£‚³‚ê‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ê‚ÍA‚ǂ̂悤‚ȉi‘±ƒRƒ“ƒeƒLƒXƒg‚Æ‚àŒˆ‚µ‚ÄŠÖ˜A‚µ‚Ü‚¹‚ñB
+ ã“ã®ã‚³ãƒ¼ãƒ‰ä¾‹ã§ã¯ã€ã‚¯ã‚¨ãƒªãŒè¿”ã™ Customer
+ インスタンスã¯å³åº§ã«ï¼ˆã‚»ãƒƒã‚·ãƒ§ãƒ³ã‹ã‚‰ï¼‰åˆ†é›¢ã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“ã‚Œã¯ã€ã©ã®ã‚ˆã†ãªæ°¸ç¶šã‚³ãƒ³ãƒ†ã‚ストã¨ã‚‚決ã—ã¦é–¢é€£ã—ã¾ã›ã‚“。
- StatelessSession ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å’è‹`‚³‚ê‚Ä‚¢‚é
- insert(), update(), delete() ‚ÍA
- ’჌ƒxƒ‹‚Ì’¼Ú“I‚ȃf[ƒ^ƒx[ƒX‘€ì‚Æl‚¦‚ç‚ê‚Ü‚·B
- Œ‹‰Ê‚Æ‚µ‚ÄASQL‚Ì INSERT, UPDATE, DELETE ‚ª‚»‚ꂼ‚ꑦÀ‚ÉŽÀs‚³‚ê‚Ü‚·B
- ‚±‚̂悤‚ÉA‚±‚ê‚ç‚Í Session ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å’è‹`‚³‚ê‚Ä‚¢‚é
+ StatelessSession インターフェイスã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹
+ insert(), update(), delete() ã¯ã€
+ 低レベルã®ç›´æŽ¥çš„ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹æ“作ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚
+ çµæžœã¨ã—ã¦ã€SQLã® INSERT, UPDATE, DELETE ãŒãã‚Œãžã‚Œå³åº§ã«å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
+ ã“ã®ã‚ˆã†ã«ã€ã“れら㯠Session インターフェイスã§å®šç¾©ã•ã‚Œã¦ã„ã‚‹
save(), saveOrUpdate(), delete()
- ‚Æ‚Í”ñí‚ɈقȂéˆÓ–¡‚ðŽ‚¿‚Ü‚·B
+ ã¨ã¯éžå¸¸ã«ç•°ãªã‚‹æ„味をæŒã¡ã¾ã™ã€‚
@@ -165,68 +167,68 @@ session.close();]]>
- DMLƒXƒ^ƒCƒ‹‚Ì‘€ì
+ DMLスタイルã®æ“作
- ‚·‚Å‚É‹c˜_‚µ‚½‚悤‚ÉAŽ©“®“I‚©‚“§‰ß“I‚ȃIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒO‚ÍA
- ƒIƒuƒWƒFƒNƒg‚Ìó‘Ô‚ÌŠÇ—‚Å‚ ‚é‚Æl‚¦‚ç‚ê‚Ü‚·B
- ‚±‚ê‚̓ƒ‚ƒŠ“à‚̃IƒuƒWƒFƒNƒg‚Ìó‘Ô‚ð—˜—p‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ‚»‚Ì‚½‚ßiSQL‚Ì ƒf[ƒ^‘€ìŒ¾Œê (DML) •¶F
+ ã™ã§ã«è°è«–ã—ãŸã‚ˆã†ã«ã€è‡ªå‹•çš„ã‹ã¤é€éŽçš„ãªã‚ªãƒ–ジェクト/リレーショナルマッピングã¯ã€
+ オブジェクトã®çŠ¶æ…‹ã®ç®¡ç†ã§ã‚ã‚‹ã¨è€ƒãˆã‚‰ã‚Œã¾ã™ã€‚
+ ã“ã‚Œã¯ãƒ¡ãƒ¢ãƒªå†…ã®ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’利用ã§ãã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ ãã®ãŸã‚(SQL㮠データæ“作言語 (DML) 文:
INSERT, UPDATE, DELETE
- ‚ðŽg‚Á‚Äjƒf[ƒ^ƒx[ƒX“à‚̃f[ƒ^‚ð’¼Ú‘€ì‚µ‚Ä‚àA
- ƒƒ‚ƒŠ“à‚Ìó‘Ԃɂ͉e‹¿‚ð—^‚¦‚Ü‚¹‚ñB
- ‚µ‚©‚µHibernate‚ÍAƒoƒ‹ƒNSQLƒXƒ^ƒCƒ‹‚ÌDML•¶ŽÀs‚ɑΉž‚·‚郃\ƒbƒh‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
- ‚±‚ê‚ÍHibernateƒNƒGƒŠŒ¾ŒêiHQLj
- ‚ð’Ê‚µ‚ÄŽÀs‚³‚ê‚Ü‚·B
+ を使ã£ã¦ï¼‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å†…ã®ãƒ‡ãƒ¼ã‚¿ã‚’直接æ“作ã—ã¦ã‚‚ã€
+ メモリ内ã®çŠ¶æ…‹ã«ã¯å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。
+ ã—ã‹ã—Hibernateã¯ã€ãƒãƒ«ã‚¯SQLスタイルã®DML文実行ã«å¯¾å¿œã™ã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’用æ„ã—ã¦ã„ã¾ã™ã€‚
+ ã“ã‚Œã¯Hibernateクエリ言語(HQL)
+ を通ã—ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
- UPDATE ‚Æ DELETE •¶‚Ì‹^Ž—\•¶‚ÍF
- ( UPDATE | DELETE ) FROM? ƒGƒ“ƒeƒBƒeƒB–¼ (WHERE ðŒß)? ‚Å‚·B
- ’ˆÓ‚·‚ׂ«“_‚ª‚¢‚‚‚©‚ ‚è‚Ü‚·F
+ UPDATE 㨠DELETE æ–‡ã®ç–‘似構文ã¯ï¼š
+ ( UPDATE | DELETE ) FROM? エンティティå (WHERE æ¡ä»¶ç¯€)? ã§ã™ã€‚
+ 注æ„ã™ã¹ã点ãŒã„ãã¤ã‹ã‚ã‚Šã¾ã™ï¼š
- fromß‚É‚¨‚¢‚ÄAFROMƒL[ƒ[ƒh‚̓IƒvƒVƒ‡ƒ“‚Å‚·B
+ from節ã«ãŠã„ã¦ã€FROMã‚ーワードã¯ã‚ªãƒ—ションã§ã™ã€‚
- fromß‚Å‚Í’Pˆê‚̃Gƒ“ƒeƒBƒeƒB–¼‚¾‚¯‚ª‰Â”\‚ÅA
- ”CˆÓ‚Å•Ê–¼‚ð•t‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ƒGƒ“ƒeƒBƒeƒB–¼‚É•Ê–¼‚ª—^‚¦‚ç‚ê‚é‚ÆA‚ǂ̂悤‚ȃvƒƒpƒeƒBŽQÆ‚àA
- ‚»‚Ì•Ê–¼‚ðŽg‚Á‚ÄCü‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚à‚µƒGƒ“ƒeƒBƒeƒB–¼‚É•Ê–¼‚ª—^‚¦‚ç‚ê‚È‚¯‚ê‚ÎA
- ‚ǂ̂悤‚ȃvƒƒpƒeƒBŽQÆ‚àCü‚µ‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+ from節ã§ã¯å˜ä¸€ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£åã ã‘ãŒå¯èƒ½ã§ã€
+ ä»»æ„ã§åˆ¥åを付ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ エンティティåã«åˆ¥åãŒä¸Žãˆã‚‰ã‚Œã‚‹ã¨ã€ã©ã®ã‚ˆã†ãªãƒ—ãƒãƒ‘ティå‚照もã€
+ ãã®åˆ¥åを使ã£ã¦ä¿®é£¾ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã‚‚ã—エンティティåã«åˆ¥åãŒä¸Žãˆã‚‰ã‚Œãªã‘ã‚Œã°ã€
+ ã©ã®ã‚ˆã†ãªãƒ—ãƒãƒ‘ティå‚照も修飾ã—ã¦ã¯ãªã‚Šã¾ã›ã‚“。
- iˆÃ–Ù“I‚Å‚ ‚ê–¾Ž¦“I‚Å‚ ‚êjŒ‹‡
- ‚ðƒoƒ‹ƒNHQLƒNƒGƒŠ“à‚ÅŽw’è‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
- ƒTƒuƒNƒGƒŠ‚Íwhereß‚ÅŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·
- ƒTƒuƒNƒGƒŠ‚»‚Ì‚à‚Ì‚ÍAŒ‹‡‚ðŠÜ‚ß‚ç‚ê‚Ü‚·B
+ (暗黙的ã§ã‚れ明示的ã§ã‚れ)çµåˆ
+ ã‚’ãƒãƒ«ã‚¯HQLクエリ内ã§æŒ‡å®šã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+ サブクエリã¯where節ã§ä½¿ã†ã“ã¨ãŒã§ãã¾ã™
+ サブクエリãã®ã‚‚ã®ã¯ã€çµåˆã‚’å«ã‚られã¾ã™ã€‚
- where߂̓IƒvƒVƒ‡ƒ“‚Å‚·B
+ where節ã¯ã‚ªãƒ—ションã§ã™ã€‚
- —á‚Æ‚µ‚ÄAHQL‚Ì UPDATE ‚ðŽÀs‚·‚é‚É‚ÍA
- Query.executeUpdate() ƒƒ\ƒbƒh‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
- i‚±‚̃ƒ\ƒbƒh‚Í‚¨‚È‚¶‚Ý‚ÌJDBC PreparedStatement.executeUpdate()
- ‚©‚ç–¼•t‚¯‚ç‚ê‚Ü‚µ‚½jF
+ 例ã¨ã—ã¦ã€HQLã® UPDATE を実行ã™ã‚‹ã«ã¯ã€
+ Query.executeUpdate() メソッドを使ã£ã¦ãã ã•ã„。
+ (ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ãŠãªã˜ã¿ã®JDBC PreparedStatement.executeUpdate()
+ ã‹ã‚‰å付ã‘られã¾ã—ãŸï¼‰ï¼š
d
@@ -243,16 +245,16 @@ tx.commit();
session.close();]]>
- HQL‚Ì UPDATE •¶‚ÍAƒfƒtƒHƒ‹ƒg‚Å‚ÍAì—p‚·‚éƒGƒ“ƒeƒBƒeƒB‚Ì
- version ‚â
+ HQLã® UPDATE æ–‡ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ã€ä½œç”¨ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®
+ version ã‚„
timestamp
- ƒvƒƒpƒeƒB‚Ì’l‚ɂ͉e‹¿‚µ‚Ü‚¹‚ñB
- ‚±‚ê‚ÍEJB3‚ÌŽd—l‚É‚àŽó‚¯Œp‚ª‚ê‚Ä‚¢‚Ü‚·B
- ‚µ‚©‚µ versioned update ‚ðŽg‚Á‚ÄA
- version ‚â timestamp
- ƒvƒƒpƒeƒB‚Ì’l‚ð‹§“I‚ɃŠƒZƒbƒg‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚±‚ê‚Í UPDATE ƒL[ƒ[ƒh‚ÌŒã‚É VERSIONED
- ƒL[ƒ[ƒh‚ð’ljÁ‚·‚邱‚Æ‚Ås‚¦‚Ü‚·B
+ プãƒãƒ‘ティã®å€¤ã«ã¯å½±éŸ¿ã—ã¾ã›ã‚“。
+ ã“ã‚Œã¯EJB3ã®ä»•æ§˜ã«ã‚‚å—ã‘継ãŒã‚Œã¦ã„ã¾ã™ã€‚
+ ã—ã‹ã— versioned update を使ã£ã¦ã€
+ version ã‚„ timestamp
+ プãƒãƒ‘ティã®å€¤ã‚’強制的ã«ãƒªã‚»ãƒƒãƒˆã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã“れ㯠UPDATE ã‚ーワードã®å¾Œã« VERSIONED
+ ã‚ãƒ¼ãƒ¯ãƒ¼ãƒ‰ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ã§è¡Œãˆã¾ã™ã€‚
- ƒJƒXƒ^ƒ€ƒo[ƒWƒ‡ƒ“Œ^iorg.hibernate.usertype.UserVersionTypej
- ‚Í update versioned •¶‚ƈê‚ÉŽg‚¦‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ カスタムãƒãƒ¼ã‚¸ãƒ§ãƒ³åž‹ï¼ˆorg.hibernate.usertype.UserVersionType)
+ 㯠update versioned æ–‡ã¨ä¸€ç·’ã«ä½¿ãˆãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- HQL‚Ì DELETE ‚ðŽÀs‚·‚é‚É‚ÍA
- “¯‚¶ Query.executeUpdate() ƒƒ\ƒbƒh‚ðŽg‚Á‚Ä‚‚¾‚³‚¢F
+ HQLã® DELETE を実行ã™ã‚‹ã«ã¯ã€
+ åŒã˜ Query.executeUpdate() メソッドを使ã£ã¦ãã ã•ã„:
@@ -288,87 +290,87 @@ tx.commit();
session.close();]]>
- Query.executeUpdate() ƒƒ\ƒbƒh‚ª•Ô‚· int
- ‚Ì’l‚ÍA‚±‚Ì‘€ì‚ª‰e‹¿‚ð‹y‚Ú‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚Ì”‚Å‚·B
- ‚±‚ꂪ‰e‹¿‚·‚éƒf[ƒ^ƒx[ƒX“à‚Ìs”‚ÆA‘ŠŒÝ‚ÉŠÖŒW‚·‚é‚©‚Ç‚¤‚©‚ðl‚¦‚Ä‚Ý‚Ä‚‚¾‚³‚¢B
- HQLƒoƒ‹ƒN‘€ì‚ÍAŒ‹‰Ê‚Æ‚µ‚ÄAŽÀÛ‚ÌSQL•¶‚ª•¡”ŽÀs‚³‚ê‚邱‚Æ‚É‚È‚è‚Ü‚·B
- —Ⴆ‚Îjoined-subclass‚Å‚·B
- •Ô‚³‚ê‚锂ÍA‚»‚Ì•¶‚É‚æ‚Á‚ĉe‹¿‚³‚ꂽŽÀۂ̃Gƒ“ƒeƒBƒeƒB‚Ì”‚ðŽ¦‚µ‚Ü‚·B
- joined-subclass‚Ì—á‚É–ß‚é‚ÆAƒTƒuƒNƒ‰ƒX‚̈ê‚‚ɑ΂·‚é휂ÍA
- ‚»‚̃TƒuƒNƒ‰ƒX‚ªƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒe[ƒuƒ‹‚¾‚¯‚Å‚Í‚È‚A
- uƒ‹[ƒgvƒe[ƒuƒ‹‚ÆŒp³ŠK‘w‚ð‚³‚ç‚ɉº‚Á‚½joined-subclass‚̃e[ƒuƒ‹‚Ì휂ɂȂè‚Ü‚·B
+ Query.executeUpdate() メソッドãŒè¿”ã™ int
+ ã®å€¤ã¯ã€ã“ã®æ“作ãŒå½±éŸ¿ã‚’åŠã¼ã—ãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®æ•°ã§ã™ã€‚
+ ã“ã‚ŒãŒå½±éŸ¿ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å†…ã®è¡Œæ•°ã¨ã€ç›¸äº’ã«é–¢ä¿‚ã™ã‚‹ã‹ã©ã†ã‹ã‚’考ãˆã¦ã¿ã¦ãã ã•ã„。
+ HQLãƒãƒ«ã‚¯æ“作ã¯ã€çµæžœã¨ã—ã¦ã€å®Ÿéš›ã®SQLæ–‡ãŒè¤‡æ•°å®Ÿè¡Œã•ã‚Œã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ 例ãˆã°joined-subclassã§ã™ã€‚
+ è¿”ã•ã‚Œã‚‹æ•°ã¯ã€ãã®æ–‡ã«ã‚ˆã£ã¦å½±éŸ¿ã•ã‚ŒãŸå®Ÿéš›ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®æ•°ã‚’示ã—ã¾ã™ã€‚
+ joined-subclassã®ä¾‹ã«æˆ»ã‚‹ã¨ã€ã‚µãƒ–クラスã®ä¸€ã¤ã«å¯¾ã™ã‚‹å‰Šé™¤ã¯ã€
+ ãã®ã‚µãƒ–クラスãŒãƒžãƒƒãƒ”ングã•ã‚ŒãŸãƒ†ãƒ¼ãƒ–ルã ã‘ã§ã¯ãªãã€
+ 「ルートã€ãƒ†ãƒ¼ãƒ–ルã¨ç¶™æ‰¿éšŽå±¤ã‚’ã•ã‚‰ã«ä¸‹ã£ãŸjoined-subclassã®ãƒ†ãƒ¼ãƒ–ルã®å‰Šé™¤ã«ãªã‚Šã¾ã™ã€‚
- INSERT •¶‚Ì‹^Ž—\•¶‚ÍF
- INSERT INTO ƒGƒ“ƒeƒBƒeƒB–¼ ƒvƒƒpƒeƒBƒŠƒXƒg select•¶ ‚Å‚·B
- ’ˆÓ‚·‚ׂ«“_‚ª‚¢‚‚‚©‚ ‚è‚Ü‚·F
+ INSERT æ–‡ã®ç–‘似構文ã¯ï¼š
+ INSERT INTO エンティティå プãƒãƒ‘ティリスト selectæ–‡ ã§ã™ã€‚
+ 注æ„ã™ã¹ã点ãŒã„ãã¤ã‹ã‚ã‚Šã¾ã™ï¼š
- INSERT INTO ... SELECT ... ‚ÌŒ`Ž®‚¾‚¯‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚·B
- INSERT INTO ... VALUES ... ‚ÌŒ`Ž®‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
+ INSERT INTO ... SELECT ... ã®å½¢å¼ã ã‘ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚
+ INSERT INTO ... VALUES ... ã®å½¢å¼ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。
- ƒvƒƒpƒeƒBƒŠƒXƒg‚ÍASQL‚Ì INSERT •¶‚É‚¨‚¯‚é ƒJƒ‰ƒ€‚ÌŽd—l
- ‚É—ÞŽ—‚µ‚Ä‚¢‚Ü‚·B
- Œp³‚̃}ƒbƒsƒ“ƒO‚ÉŠÜ‚Ü‚ê‚éƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚ÄA
- ƒNƒ‰ƒXƒŒƒxƒ‹‚Å’¼Ú’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚¾‚¯‚ªAƒvƒƒpƒeƒBƒŠƒXƒg‚ÉŽg‚¦‚Ü‚·B
- ƒX[ƒp[ƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚Í”F‚ß‚ç‚ꂸAƒTƒuƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚ÍŒø‰Ê‚ª‚ ‚è‚Ü‚¹‚ñB
- Œ¾‚¢Š·‚¦‚é‚Æ INSERT •¶‚ÍA–{Ž¿“I‚Ƀ|ƒŠƒ‚[ƒtƒBƒbƒN‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+ プãƒãƒ‘ティリストã¯ã€SQLã® INSERT æ–‡ã«ãŠã‘ã‚‹ カラムã®ä»•æ§˜
+ ã«é¡žä¼¼ã—ã¦ã„ã¾ã™ã€‚
+ 継承ã®ãƒžãƒƒãƒ”ングã«å«ã¾ã‚Œã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«å¯¾ã—ã¦ã€
+ クラスレベルã§ç›´æŽ¥å®šç¾©ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティã ã‘ãŒã€ãƒ—ãƒãƒ‘ティリストã«ä½¿ãˆã¾ã™ã€‚
+ スーパークラスã®ãƒ—ãƒãƒ‘ティã¯èªã‚られãšã€ã‚µãƒ–クラスã®ãƒ—ãƒãƒ‘ティã¯åŠ¹æžœãŒã‚ã‚Šã¾ã›ã‚“。
+ 言ã„æ›ãˆã‚‹ã¨ INSERT æ–‡ã¯ã€æœ¬è³ªçš„ã«ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
- select•¶‚Ì•Ô‚è’l‚ÌŒ^‚ªinsert•¶‚ªŠú‘Ò‚·‚éŒ^‚ƃ}ƒbƒ`‚µ‚Ä‚¢‚ê‚ÎA
- ‚»‚Ìselect•¶‚͑Ó–‚ÈHQL selectƒNƒGƒŠ‚ƂȂ肦‚Ü‚·B
- Œ»Ý‚±‚̃`ƒFƒbƒN‚ðƒf[ƒ^ƒx[ƒX‚Ö”C‚¹‚é‚Ì‚Å‚Í‚È‚AƒNƒGƒŠ‚̃Rƒ“ƒpƒCƒ‹Žž‚Ƀ`ƒFƒbƒN‚µ‚Ü‚·B
- ‚±‚Ì‚±‚Æ‚ÍAequal‚Ƃ͈ႢA
- Hibernate‚Ì Type ŠÔ‚Ì equivalent ‚ÉŠÖ‚·‚é
- –â‘è‚ðˆø‚«‹N‚±‚·‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ê‚Í org.hibernate.type.DataType ‚Æ‚µ‚Ä’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚ÆA
+ selectæ–‡ã®è¿”り値ã®åž‹ãŒinsertæ–‡ãŒæœŸå¾…ã™ã‚‹åž‹ã¨ãƒžãƒƒãƒã—ã¦ã„ã‚Œã°ã€
+ ãã®selectæ–‡ã¯å¦¥å½“ãªHQL selectクエリã¨ãªã‚Šãˆã¾ã™ã€‚
+ ç¾åœ¨ã“ã®ãƒã‚§ãƒƒã‚¯ã‚’データベースã¸ä»»ã›ã‚‹ã®ã§ã¯ãªãã€ã‚¯ã‚¨ãƒªã®ã‚³ãƒ³ãƒ‘イル時ã«ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚
+ ã“ã®ã“ã¨ã¯ã€equalã¨ã¯é•ã„ã€
+ Hibernateã® Type é–“ã® equivalent ã«é–¢ã™ã‚‹
+ å•é¡Œã‚’引ãèµ·ã“ã™ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“れ㯠org.hibernate.type.DataType ã¨ã—ã¦å®šç¾©ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティã¨ã€
org.hibernate.type.TimestampType
- ‚Æ‚µ‚Ä’è‹`‚³‚ꂽƒvƒƒpƒeƒB‚̊Ԃ̃~ƒXƒ}ƒbƒ`‚Ì–â‘è‚ðˆø‚«‹N‚±‚µ‚Ü‚·B
- ƒf[ƒ^ƒx[ƒX‚ª‚»‚ê‚ç‚ð‹æ•Ê‚Å‚«‚È‚‚Ä‚àA•ÏŠ·‚·‚邱‚Æ‚ª‚Å‚«‚Ä‚àA‚±‚Ì–â‘è‚Í”¶‚µ‚Ü‚·B
+ ã¨ã—ã¦å®šç¾©ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティã®é–“ã®ãƒŸã‚¹ãƒžãƒƒãƒã®å•é¡Œã‚’引ãèµ·ã“ã—ã¾ã™ã€‚
+ データベースãŒãれらを区別ã§ããªãã¦ã‚‚ã€å¤‰æ›ã™ã‚‹ã“ã¨ãŒã§ãã¦ã‚‚ã€ã“ã®å•é¡Œã¯ç™ºç”Ÿã—ã¾ã™ã€‚
- idƒvƒƒpƒeƒB‚ɑ΂µ‚ÄAinsert•¶‚É‚Í“ñ‚‚̑I‘ðŽˆ‚ª‚ ‚è‚Ü‚·B
- ƒvƒƒpƒeƒBƒŠƒXƒg‚Å–¾Ž¦“I‚ÉidƒvƒƒpƒeƒB‚ðŽw’è‚·‚é‚©
- i‚±‚Ìê‡A‘Ήž‚·‚éselectŽ®‚©‚ç’l‚ªŽæ‚ç‚ê‚Ü‚·jA
- ƒvƒƒpƒeƒBƒŠƒXƒg‚©‚眊O‚·‚é‚©
- i‚±‚Ìê‡A¶¬‚³‚ê‚é’l‚ªŽg‚í‚ê‚Ü‚·j‚Ì‚¢‚¸‚ê‚©‚Å‚·B
- ŒãŽÒ‚Ì‘I‘ðŽˆ‚ÍAƒf[ƒ^ƒx[ƒX“à‚ð‘€ì‚·‚éidƒWƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚Æ‚«‚Ì‚ÝA—˜—p‰Â”\‚Å‚·B
- ‚±‚Ì‘I‘ðŽˆ‚ðÌ‚éê‡AuƒCƒ“ƒƒ‚ƒŠvŒ^‚̃WƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚ÆA\•¶‰ðÍŽž‚É—áŠO‚ª”¶‚µ‚Ü‚·B
- ‚±‚Ì‹c˜_‚Å‚ÍAƒCƒ“ƒf[ƒ^ƒx[ƒXŒ^ƒWƒFƒlƒŒ[ƒ^‚Í org.hibernate.id.SequenceGenerator
- i‚Æ‚»‚̃TƒuƒNƒ‰ƒXj‚ÆAorg.hibernate.id.PostInsertIdentifierGenerator
- ‚ÌŽÀ‘•‚Å‚ ‚é‚Æl‚¦‚Ä‚¢‚Ü‚·B
- ‚±‚±‚ÅÅ‚à’ˆÓ‚·‚ׂ«—áŠO‚ÍAorg.hibernate.id.TableHiLoGenerator ‚Å‚·B
- ’l‚ðŽæ“¾‚·‚é‘I‘ð‰Â”\‚È•û–@‚ª‚È‚¢‚½‚ßA‚±‚̃WƒFƒlƒŒ[ƒ^‚ðŽg‚¤‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+ idプãƒãƒ‘ティã«å¯¾ã—ã¦ã€insertæ–‡ã«ã¯äºŒã¤ã®é¸æŠžè‚¢ãŒã‚ã‚Šã¾ã™ã€‚
+ プãƒãƒ‘ティリストã§æ˜Žç¤ºçš„ã«idプãƒãƒ‘ティを指定ã™ã‚‹ã‹
+ (ã“ã®å ´åˆã€å¯¾å¿œã™ã‚‹selectå¼ã‹ã‚‰å€¤ãŒå–られã¾ã™ï¼‰ã€
+ プãƒãƒ‘ティリストã‹ã‚‰é™¤å¤–ã™ã‚‹ã‹
+ (ã“ã®å ´åˆã€ç”Ÿæˆã•ã‚Œã‚‹å€¤ãŒä½¿ã‚ã‚Œã¾ã™ï¼‰ã®ã„ãšã‚Œã‹ã§ã™ã€‚
+ 後者ã®é¸æŠžè‚¢ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å†…ã‚’æ“作ã™ã‚‹idジェãƒãƒ¬ãƒ¼ã‚¿ã‚’使ã†ã¨ãã®ã¿ã€åˆ©ç”¨å¯èƒ½ã§ã™ã€‚
+ ã“ã®é¸æŠžè‚¢ã‚’æŽ¡ã‚‹å ´åˆã€ã€Œã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªã€åž‹ã®ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã‚’使ã†ã¨ã€æ§‹æ–‡è§£æžæ™‚ã«ä¾‹å¤–ãŒç™ºç”Ÿã—ã¾ã™ã€‚
+ ã“ã®è°è«–ã§ã¯ã€ã‚¤ãƒ³ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹åž‹ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã¯ org.hibernate.id.SequenceGenerator
+ (ã¨ãã®ã‚µãƒ–クラス)ã¨ã€org.hibernate.id.PostInsertIdentifierGenerator
+ ã®å®Ÿè£…ã§ã‚ã‚‹ã¨è€ƒãˆã¦ã„ã¾ã™ã€‚
+ ã“ã“ã§æœ€ã‚‚注æ„ã™ã¹ã例外ã¯ã€org.hibernate.id.TableHiLoGenerator ã§ã™ã€‚
+ 値をå–å¾—ã™ã‚‹é¸æŠžå¯èƒ½ãªæ–¹æ³•ãŒãªã„ãŸã‚ã€ã“ã®ã‚¸ã‚§ãƒãƒ¬ãƒ¼ã‚¿ã‚’使ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“。
- version ‚â timestamp ‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ê‚éƒvƒƒpƒeƒB‚ɑ΂µ‚ÄA
- insert•¶‚É‚Í“ñ‚‚̑I‘ðŽˆ‚ª‚ ‚è‚Ü‚·B
- ƒvƒƒpƒeƒBƒŠƒXƒg‚Å–¾Ž¦“I‚ɃvƒƒpƒeƒB‚ðŽw’è‚·‚é‚©
- i‚±‚Ìê‡A‘Ήž‚·‚éselectŽ®‚©‚ç’l‚ªŽæ‚ç‚ê‚Ü‚·jA
- ƒvƒƒpƒeƒBƒŠƒXƒg‚©‚眊O‚·‚é‚©
- i‚±‚Ìê‡Aorg.hibernate.type.VersionType ‚Å’è‹`‚³‚ꂽ
- ƒV[ƒh’l ‚ªŽg‚í‚ê‚Ü‚·j‚Ì‚¢‚¸‚ê‚©‚Å‚·B
+ version ã‚„ timestamp ã¨ã—ã¦ãƒžãƒƒãƒ”ングã•ã‚Œã‚‹ãƒ—ãƒãƒ‘ティã«å¯¾ã—ã¦ã€
+ insertæ–‡ã«ã¯äºŒã¤ã®é¸æŠžè‚¢ãŒã‚ã‚Šã¾ã™ã€‚
+ プãƒãƒ‘ティリストã§æ˜Žç¤ºçš„ã«ãƒ—ãƒãƒ‘ティを指定ã™ã‚‹ã‹
+ (ã“ã®å ´åˆã€å¯¾å¿œã™ã‚‹selectå¼ã‹ã‚‰å€¤ãŒå–られã¾ã™ï¼‰ã€
+ プãƒãƒ‘ティリストã‹ã‚‰é™¤å¤–ã™ã‚‹ã‹
+ (ã“ã®å ´åˆã€org.hibernate.type.VersionType ã§å®šç¾©ã•ã‚ŒãŸ
+ シード値 ãŒä½¿ã‚ã‚Œã¾ã™ï¼‰ã®ã„ãšã‚Œã‹ã§ã™ã€‚
- HQL‚Ì INSERT •¶‚ÌŽÀs—á‚Å‚·F
+ HQLã® INSERT æ–‡ã®å®Ÿè¡Œä¾‹ã§ã™ï¼š
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml b/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml
index f957a8bf38..efc55e8769 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/best_practices.xml
@@ -1,246 +1,248 @@
-
+
+
+
- ƒxƒXƒgƒvƒ‰ƒNƒeƒBƒX
+ ベストプラクティス
- ƒNƒ‰ƒX‚Íׂ©‚¢—±“x‚Å‘‚« <component> ‚Ń}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤B
+ クラスã¯ç´°ã‹ã„粒度ã§æ›¸ã <component> ã§ãƒžãƒƒãƒ”ングã—ã¾ã—ょã†ã€‚
- streeti’Ê‚èj, suburb
- i“sŽsj, stateiBj, postcode
- i—X•Ö”Ô†j‚ðƒJƒvƒZƒ‹‰»‚·‚é AddressiZŠjƒNƒ‰ƒX‚ðŽg‚¢‚Ü‚µ‚傤B
- ‚»‚¤‚·‚ê‚΃R[ƒh‚ªÄ—˜—p‚µ‚â‚·‚‚È‚èAƒŠƒtƒ@ƒNƒ^ƒŠƒ“ƒO‚àŠÈ’P‚É‚È‚è‚Ü‚·B
+ street(通り), suburb
+ (都市), state(州), postcode
+ (郵便番å·ï¼‰ã‚’カプセル化ã™ã‚‹ Address(ä½æ‰€ï¼‰ã‚¯ãƒ©ã‚¹ã‚’使ã„ã¾ã—ょã†ã€‚
+ ãã†ã™ã‚Œã°ã‚³ãƒ¼ãƒ‰ãŒå†åˆ©ç”¨ã—ã‚„ã™ããªã‚Šã€ãƒªãƒ•ã‚¡ã‚¯ã‚¿ãƒªãƒ³ã‚°ã‚‚ç°¡å˜ã«ãªã‚Šã¾ã™ã€‚
- ‰i‘±ƒNƒ‰ƒX‚É‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚ð’è‹`‚µ‚Ü‚µ‚傤B
+ 永続クラスã«ã¯è˜åˆ¥åプãƒãƒ‘ティを定義ã—ã¾ã—ょã†ã€‚
- Hibernate‚Å‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚̓IƒvƒVƒ‡ƒ“‚Å‚·‚ªA
- Žg—p‚·‚ׂ«——R‚ª‚½‚‚³‚ñ‚ ‚è‚Ü‚·B
- Ž¯•ÊŽq‚ÍulH“Ivi¶¬‚³‚ꂽA‹Æ–±“I‚ȈӖ¡‚ðŽ‚½‚È‚¢j
- ‚È‚à‚Ì‚É‚·‚邱‚Æ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
+ Hibernateã§ã¯è˜åˆ¥åプãƒãƒ‘ティã¯ã‚ªãƒ—ションã§ã™ãŒã€
+ 使用ã™ã¹ãç†ç”±ãŒãŸãã•ã‚“ã‚ã‚Šã¾ã™ã€‚
+ è˜åˆ¥åã¯ã€Œäººå·¥çš„ã€ï¼ˆç”Ÿæˆã•ã‚ŒãŸã€æ¥å‹™çš„ãªæ„味をæŒãŸãªã„)
+ ãªã‚‚ã®ã«ã™ã‚‹ã“ã¨ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚
- Ž©‘RƒL[‚ðŒ©‚Â‚¯‚Ü‚µ‚傤B
+ 自然ã‚ーを見ã¤ã‘ã¾ã—ょã†ã€‚
- ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚ÄŽ©‘RƒL[‚ðŒ©‚Â‚¯‚ÄA
- <natural-id> ‚Ń}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤B
- Ž©‘RƒL[‚ð\¬‚·‚éƒvƒƒpƒeƒB‚ð”äŠr‚·‚邽‚ß‚ÉA
- equals() ‚Æ hashCode() ‚ðŽÀ‘•‚µ‚Ü‚µ‚傤B
+ ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«å¯¾ã—ã¦è‡ªç„¶ã‚ーを見ã¤ã‘ã¦ã€
+ <natural-id> ã§ãƒžãƒƒãƒ”ングã—ã¾ã—ょã†ã€‚
+ 自然ã‚ーを構æˆã™ã‚‹ãƒ—ãƒãƒ‘ティを比較ã™ã‚‹ãŸã‚ã«ã€
+ equals() 㨠hashCode() を実装ã—ã¾ã—ょã†ã€‚
- ƒNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚Í‚»‚ꂼ‚ê‚̃Nƒ‰ƒXê—p‚̃tƒ@ƒCƒ‹‚É‘‚«‚Ü‚µ‚傤B
+ クラスã®ãƒžãƒƒãƒ”ングã¯ãã‚Œãžã‚Œã®ã‚¯ãƒ©ã‚¹å°‚用ã®ãƒ•ã‚¡ã‚¤ãƒ«ã«æ›¸ãã¾ã—ょã†ã€‚
- ’Pˆê‚Ì‹‘å‚ȃ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ðŽg—p‚µ‚È‚¢‚Å‚‚¾‚³‚¢B
- com.eg.Foo ƒNƒ‰ƒX‚È‚ç
- com/eg/Foo.hbm.xml ƒtƒ@ƒCƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤B
- ‚±‚Ì‚±‚Æ‚ÍA“Á‚Ƀ`[ƒ€‚Å‚ÌŠJ”‚ɈӖ¡‚ª‚ ‚è‚Ü‚·B
+ å˜ä¸€ã®å·¨å¤§ãªãƒžãƒƒãƒ”ングドã‚ュメントを使用ã—ãªã„ã§ãã ã•ã„。
+ com.eg.Foo クラスãªã‚‰
+ com/eg/Foo.hbm.xml ファイルã«ãƒžãƒƒãƒ”ングã—ã¾ã—ょã†ã€‚
+ ã“ã®ã“ã¨ã¯ã€ç‰¹ã«ãƒãƒ¼ãƒ ã§ã®é–‹ç™ºã«æ„味ãŒã‚ã‚Šã¾ã™ã€‚
- ƒŠƒ\[ƒX‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚ðƒ[ƒh‚µ‚Ü‚µ‚傤B
+ リソースã¨ã—ã¦ãƒžãƒƒãƒ”ングをãƒãƒ¼ãƒ‰ã—ã¾ã—ょã†ã€‚
- ƒ}ƒbƒsƒ“ƒO‚ðA‚»‚ê‚炪ƒ}ƒbƒsƒ“ƒO‚·‚é‚·‚éƒNƒ‰ƒX‚ƈê‚É”z’u‚µ‚Ü‚µ‚傤B
+ マッピングをã€ãれらãŒãƒžãƒƒãƒ”ングã™ã‚‹ã™ã‚‹ã‚¯ãƒ©ã‚¹ã¨ä¸€ç·’ã«é…ç½®ã—ã¾ã—ょã†ã€‚
- ƒNƒGƒŠ•¶Žš—ñ‚ðŠO•”‚É’u‚‚±‚Æ‚ðl‚¦‚Ü‚µ‚傤
+ クエリ文å—列を外部ã«ç½®ãã“ã¨ã‚’考ãˆã¾ã—ょã†
- ƒNƒGƒŠ‚ªANSI•W€‚Å‚È‚¢SQLŠÖ”‚ðŒÄ‚ñ‚Å‚¢‚é‚È‚çA‚±‚ê‚Í‚æ‚¢ƒvƒ‰ƒNƒeƒBƒX‚Å‚·B
- ƒNƒGƒŠ•¶Žš—ñ‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÖŠOo‚µ‚·‚ê‚΃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒ|[ƒ^ƒuƒ‹‚É‚È‚è‚Ü‚·B
+ クエリãŒANSI標準ã§ãªã„SQL関数を呼んã§ã„ã‚‹ãªã‚‰ã€ã“ã‚Œã¯ã‚ˆã„プラクティスã§ã™ã€‚
+ クエリ文å—列をマッピングファイルã¸å¤–出ã—ã™ã‚Œã°ã‚¢ãƒ—リケーションãŒãƒãƒ¼ã‚¿ãƒ–ルã«ãªã‚Šã¾ã™ã€‚
- ƒoƒCƒ“ƒh•Ï”‚ðŽg‚¢‚Ü‚µ‚傤B
+ ãƒã‚¤ãƒ³ãƒ‰å¤‰æ•°ã‚’使ã„ã¾ã—ょã†ã€‚
- JDBC‚ÌꇂƓ¯‚¶‚悤‚ÉA’蔂łȂ¢’l‚Í•K‚¸"?"‚Å’u‚«Š·‚¦‚Ü‚µ‚傤B
- ’蔂łȂ¢’l‚ðƒoƒCƒ“ƒh‚·‚邽‚ß‚ÉAƒNƒGƒŠ‚Å•¶Žš—ñ‘€ì‚ðŽg‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
- –¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚ðŽg‚¤‚悤‚É‚·‚é‚Æ‚³‚ç‚É—Ç‚¢‚Å‚·B
+ JDBCã®å ´åˆã¨åŒã˜ã‚ˆã†ã«ã€å®šæ•°ã§ãªã„値ã¯å¿…ãš"?"ã§ç½®ãæ›ãˆã¾ã—ょã†ã€‚
+ 定数ã§ãªã„値をãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ãŸã‚ã«ã€ã‚¯ã‚¨ãƒªã§æ–‡å—列æ“作を使ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“。
+ åå‰ä»˜ãã®ãƒ‘ラメータを使ã†ã‚ˆã†ã«ã™ã‚‹ã¨ã•ã‚‰ã«è‰¯ã„ã§ã™ã€‚
- JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŠÇ—‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+ JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’管ç†ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。
- Hibernate‚ł̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŠÇ—‚·‚邱‚Æ‚ª‹–‚³‚ê‚Ä‚¢‚Ü‚·B
- ‚µ‚©‚µ‚±‚ê‚ÍÅIŽè’i‚¾‚ÆŽv‚Á‚Ä‚‚¾‚³‚¢B
- ‘g‚Ýž‚݂̃RƒlƒNƒVƒ‡ƒ“ƒvƒƒoƒCƒ_‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚È‚¯‚ê‚ÎA
- org.hibernate.connection.ConnectionProvider ‚ðŽÀ‘•‚·‚邱‚Æ‚ðl‚¦‚Ä‚‚¾‚³‚¢B
+ Hibernateã§ã¯ã‚¢ãƒ—リケーションãŒJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’管ç†ã™ã‚‹ã“ã¨ãŒè¨±ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ ã—ã‹ã—ã“ã‚Œã¯æœ€çµ‚手段ã ã¨æ€ã£ã¦ãã ã•ã„。
+ 組ã¿è¾¼ã¿ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ãƒãƒã‚¤ãƒ€ã‚’使ã†ã“ã¨ãŒã§ããªã‘ã‚Œã°ã€
+ org.hibernate.connection.ConnectionProvider を実装ã™ã‚‹ã“ã¨ã‚’考ãˆã¦ãã ã•ã„。
- ƒJƒXƒ^ƒ€Œ^‚ÌŽg—p‚ðl‚¦‚Ü‚µ‚傤B
+ カスタム型ã®ä½¿ç”¨ã‚’考ãˆã¾ã—ょã†ã€‚
- ‚ ‚郉ƒCƒuƒ‰ƒŠ‚©‚玂Á‚Ä‚«‚½JavaŒ^‚ð‰i‘±‰»‚·‚é•K—v‚ª‚ ‚é‚Æ‚µ‚Ü‚µ‚傤B
- ‚µ‚©‚µ‚»‚ÌŒ^‚É‚ÍAƒRƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚·‚邽‚ß‚É•K—v‚ȃAƒNƒZƒT‚ª‚È‚¢‚Æ‚µ‚Ü‚·B
- ‚±‚̂悤‚Èê‡‚Í org.hibernate.UserType ‚ÌŽÀ‘•‚ðl‚¦‚é‚ׂ«‚Å‚·B
- ‚»‚¤‚·‚ê‚ÎHibernateŒ^‚Æ‚ÌŽÀ‘••ÏŠ·‚ðS”z‚¹‚¸‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃R[ƒh‚ðˆµ‚¦‚Ü‚·B
+ ã‚るライブラリã‹ã‚‰æŒã£ã¦ããŸJava型を永続化ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ã—ã¾ã—ょã†ã€‚
+ ã—ã‹ã—ãã®åž‹ã«ã¯ã€ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã¨ã—ã¦ãƒžãƒƒãƒ”ングã™ã‚‹ãŸã‚ã«å¿…è¦ãªã‚¢ã‚¯ã‚»ã‚µãŒãªã„ã¨ã—ã¾ã™ã€‚
+ ã“ã®ã‚ˆã†ãªå ´åˆã¯ org.hibernate.UserType ã®å®Ÿè£…を考ãˆã‚‹ã¹ãã§ã™ã€‚
+ ãã†ã™ã‚Œã°Hibernateåž‹ã¨ã®å®Ÿè£…変æ›ã‚’心é…ã›ãšã«ã‚¢ãƒ—リケーションã®ã‚³ãƒ¼ãƒ‰ã‚’扱ãˆã¾ã™ã€‚
- ƒ{ƒgƒ‹ƒlƒbƒN‚ð‰ðÁ‚·‚é‚É‚ÍJDBC‚ðƒnƒ“ƒhƒR[ƒh‚µ‚Ü‚µ‚傤B
+ ボトルãƒãƒƒã‚¯ã‚’解消ã™ã‚‹ã«ã¯JDBCã‚’ãƒãƒ³ãƒ‰ã‚³ãƒ¼ãƒ‰ã—ã¾ã—ょã†ã€‚
- ƒVƒXƒeƒ€‚̃pƒtƒH[ƒ}ƒ“ƒXƒNƒŠƒeƒBƒJƒ‹‚ȗ̈æ‚Å‚ÍA
- ‚ ‚éŽí‚Ì‘€ì‚ÉJDBC‚ð’¼ÚŽg‚¤‚Æ—Ç‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚µ‚©‚µ‰½‚ªƒ{ƒgƒ‹ƒlƒbƒN‚É‚È‚Á‚Ä‚¢‚é‚© ‚Í‚Á‚«‚è‚·‚é ‚Ü‚Å‚Í‘Ò‚Á‚Ä‚‚¾‚³‚¢B
- ‚Ü‚½JDBC‚ð’¼ÚŽg‚¤‚©‚ç‚Æ‚¢‚Á‚ÄA•K‚¸‚µ‚à‘¬‚‚È‚é‚Æ‚ÍŒÀ‚ç‚È‚¢‚±‚Æ‚à—‰ð‚µ‚Ä‚‚¾‚³‚¢B
- JDBC‚ð’¼ÚŽg‚¤•K—v‚ª‚ ‚ê‚ÎAHibernate‚Ì Session ‚ðƒI[ƒvƒ“‚µ‚ÄA
- JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽg‚¤‚Æ—Ç‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ˆË‘R‚Æ‚µ‚Ä“¯‚¶ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“í—ª‚ƃRƒlƒNƒVƒ‡ƒ“ƒvƒƒoƒCƒ_‚ªŽg‚¦‚é‚©‚ç‚Å‚·B
+ システムã®ãƒ‘フォーマンスクリティカルãªé ˜åŸŸã§ã¯ã€
+ ã‚る種ã®æ“作ã«JDBCを直接使ã†ã¨è‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã—ã‹ã—何ãŒãƒœãƒˆãƒ«ãƒãƒƒã‚¯ã«ãªã£ã¦ã„ã‚‹ã‹ ã¯ã£ãã‚Šã™ã‚‹ ã¾ã§ã¯å¾…ã£ã¦ãã ã•ã„。
+ ã¾ãŸJDBCを直接使ã†ã‹ã‚‰ã¨ã„ã£ã¦ã€å¿…ãšã—も速ããªã‚‹ã¨ã¯é™ã‚‰ãªã„ã“ã¨ã‚‚ç†è§£ã—ã¦ãã ã•ã„。
+ JDBCを直接使ã†å¿…è¦ãŒã‚ã‚Œã°ã€Hibernateã® Session をオープンã—ã¦ã€
+ JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã†ã¨è‰¯ã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ä¾ç„¶ã¨ã—ã¦åŒã˜ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³æˆ¦ç•¥ã¨ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ãƒãƒã‚¤ãƒ€ãŒä½¿ãˆã‚‹ã‹ã‚‰ã§ã™ã€‚
- Session ‚̃tƒ‰ƒbƒVƒ…‚ð—‰ð‚µ‚Ü‚µ‚傤B
+ Session ã®ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã‚’ç†è§£ã—ã¾ã—ょã†ã€‚
- Session‚ª‰i‘±ó‘Ô‚ðƒf[ƒ^ƒx[ƒX‚Æ“¯Šú‚³‚¹‚邱‚Æ‚ª‚Æ‚«‚Ç‚«‚ ‚è‚Ü‚·B
- ‚µ‚©‚µ‚±‚ꂪ‚ ‚Ü‚è‚É•p”É‚É‹N‚±‚é‚悤‚¾‚ÆAƒpƒtƒH[ƒ}ƒ“ƒX‚ɉe‹¿‚ªo‚Ä‚«‚Ü‚·B
- Ž©“®ƒtƒ‰ƒbƒVƒ…‚𖳌ø‚É‚µ‚½‚èA“Á’è‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃NƒGƒŠ‚â‘€ì‚̇”Ô‚ð•ÏX‚·‚邱‚Æ‚ÅA
- •s•K—v‚ȃtƒ‰ƒbƒVƒ…‚ðŬŒÀ‚É‚Å‚«‚Ü‚·B
+ SessionãŒæ°¸ç¶šçŠ¶æ…‹ã‚’データベースã¨åŒæœŸã•ã›ã‚‹ã“ã¨ãŒã¨ãã©ãã‚ã‚Šã¾ã™ã€‚
+ ã—ã‹ã—ã“ã‚ŒãŒã‚ã¾ã‚Šã«é »ç¹ã«èµ·ã“るよã†ã ã¨ã€ãƒ‘フォーマンスã«å½±éŸ¿ãŒå‡ºã¦ãã¾ã™ã€‚
+ 自動フラッシュを無効ã«ã—ãŸã‚Šã€ç‰¹å®šã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¯ã‚¨ãƒªã‚„æ“作ã®é †ç•ªã‚’変更ã™ã‚‹ã“ã¨ã§ã€
+ ä¸å¿…è¦ãªãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã‚’最å°é™ã«ã§ãã¾ã™ã€‚
- 3‘wƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚Í•ª—£ƒIƒuƒWƒFƒNƒg‚ÌŽg—p‚ðl‚¦‚Ü‚µ‚傤B
+ 3層アーã‚テクãƒãƒ£ã§ã¯åˆ†é›¢ã‚ªãƒ–ジェクトã®ä½¿ç”¨ã‚’考ãˆã¾ã—ょã†ã€‚
- ƒT[ƒuƒŒƒbƒg / ƒZƒbƒVƒ‡ƒ“ƒr[ƒ“ƒA[ƒLƒeƒNƒ`ƒƒ‚ðŽg‚¤‚Æ‚«A
- ƒT[ƒuƒŒƒbƒg‘w / JSP‘wŠÔ‚ŃZƒbƒVƒ‡ƒ“ƒr[ƒ“‚Ń[ƒh‚µ‚½‰i‘±ƒIƒuƒWƒFƒNƒg‚ð‚â‚èŽæ‚è‚Å‚«‚Ü‚·B
- ‚»‚ÌÛƒŠƒNƒGƒXƒg‚²‚Æ‚ÉV‚µ‚¢Session‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
- ‚Ü‚½ Session.merge() ‚â Session.saveOrUpdate()
- ‚ðŽg‚Á‚ÄAƒIƒuƒWƒFƒNƒg‚ƃf[ƒ^ƒx[ƒX‚𓯊ú‚³‚¹‚Ä‚‚¾‚³‚¢B
+ サーブレット / セッションビーンアーã‚テクãƒãƒ£ã‚’使ã†ã¨ãã€
+ サーブレット層 / JSP層間ã§ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ“ーンã§ãƒãƒ¼ãƒ‰ã—ãŸæ°¸ç¶šã‚ªãƒ–ジェクトをやりå–ã‚Šã§ãã¾ã™ã€‚
+ ãã®éš›ãƒªã‚¯ã‚¨ã‚¹ãƒˆã”ã¨ã«æ–°ã—ã„Sessionを使ã£ã¦ãã ã•ã„。
+ ã¾ãŸ Session.merge() ã‚„ Session.saveOrUpdate()
+ を使ã£ã¦ã€ã‚ªãƒ–ジェクトã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’åŒæœŸã•ã›ã¦ãã ã•ã„。
- 2‘wƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚Í’·‚¢‰i‘±ƒRƒ“ƒeƒLƒXƒg‚ÌŽg—p‚ðl‚¦‚Ü‚µ‚傤B
+ 2層アーã‚テクãƒãƒ£ã§ã¯é•·ã„永続コンテã‚ストã®ä½¿ç”¨ã‚’考ãˆã¾ã—ょã†ã€‚
- Å‚‚̃XƒP[ƒ‰ƒrƒŠƒeƒB‚𓾂é‚É‚ÍA
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð‚Å‚«‚邾‚¯’Z‚‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚µ‚©‚µ’·‚¢ŠÔŽÀs‚·‚é ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“
- ‚ÌŽÀ‘•‚ª•K—v‚È‚±‚Æ‚Í‚µ‚΂µ‚΂ł·B
- ‚±‚ê‚̓†[ƒU‚ÌŽ‹“_‚©‚ç‚Í1ŒÂ‚Ìì‹Æ’PˆÊiunit of workj‚É‚È‚è‚Ü‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Í‚¢‚‚‚©‚̃Nƒ‰ƒCƒAƒ“ƒg‚̃ŠƒNƒGƒXƒg/ƒŒƒXƒ|ƒ“ƒXƒTƒCƒNƒ‹‚É‚Ü‚½‚ª‚è‚Ü‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŽÀ‘•‚É•ª—£ƒIƒuƒWƒFƒNƒg‚ðŽg‚¤‚͈̂ê”Ê“I‚Å‚·B
+ 最高ã®ã‚¹ã‚±ãƒ¼ãƒ©ãƒ“リティを得るã«ã¯ã€
+ データベーストランザクションをã§ãã‚‹ã ã‘çŸãã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã—ã‹ã—é•·ã„間実行ã™ã‚‹ アプリケーショントランザクション
+ ã®å®Ÿè£…ãŒå¿…è¦ãªã“ã¨ã¯ã—ã°ã—ã°ã§ã™ã€‚
+ ã“ã‚Œã¯ãƒ¦ãƒ¼ã‚¶ã®è¦–点ã‹ã‚‰ã¯1個ã®ä½œæ¥å˜ä½ï¼ˆunit of work)ã«ãªã‚Šã¾ã™ã€‚
+ アプリケーショントランザクションã¯ã„ãã¤ã‹ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆ/レスãƒãƒ³ã‚¹ã‚µã‚¤ã‚¯ãƒ«ã«ã¾ãŸãŒã‚Šã¾ã™ã€‚
+ アプリケーショントランザクションã®å®Ÿè£…ã«åˆ†é›¢ã‚ªãƒ–ジェクトを使ã†ã®ã¯ä¸€èˆ¬çš„ã§ã™ã€‚
- ‚»‚¤‚Å‚È‚¯‚ê‚ÎA2‘wƒA[ƒLƒeƒNƒ`ƒƒ‚Ìꇂ͓Á‚É“KØ‚È‚±‚Æ‚Å‚·‚ªA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃‰ƒCƒtƒTƒCƒNƒ‹‘S‘̂ɑ΂µ‚Ä
- ’Pˆê‚̃I[ƒvƒ“‚ȉi‘±‰»ƒRƒ“ƒeƒLƒXƒgiƒZƒbƒVƒ‡ƒ“j‚ðˆÛŽ‚µ‚Ä‚‚¾‚³‚¢B
- ‚»‚µ‚Ä’Pƒ‚ɃŠƒNƒGƒXƒg‚ÌÅŒã‚ÉJDBCƒRƒlƒNƒVƒ‡ƒ“‚©‚çØ’f‚µA
- ŽŸ‚̃ŠƒNƒGƒXƒg‚Ìʼn‚ÉÄÚ‘±‚µ‚Ü‚·B
+ ãã†ã§ãªã‘ã‚Œã°ã€2層アーã‚テクãƒãƒ£ã®å ´åˆã¯ç‰¹ã«é©åˆ‡ãªã“ã¨ã§ã™ãŒã€
+ アプリケーショントランザクションã®ãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«å…¨ä½“ã«å¯¾ã—ã¦
+ å˜ä¸€ã®ã‚ªãƒ¼ãƒ—ンãªæ°¸ç¶šåŒ–コンテã‚スト(セッション)をç¶æŒã—ã¦ãã ã•ã„。
+ ãã—ã¦å˜ç´”ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æœ€å¾Œã«JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‹ã‚‰åˆ‡æ–ã—ã€
+ 次ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®æœ€åˆã«å†æŽ¥ç¶šã—ã¾ã™ã€‚
- Œˆ‚µ‚Ä•¡”‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ†[ƒXƒP[ƒX‚É“n‚Á‚Ä
- 1ŒÂ‚ÌSession‚ðŽg‚¢‰ñ‚³‚È‚¢‚Å‚‚¾‚³‚¢B
- ‚»‚¤‚Å‚È‚¯‚ê‚ÎAŒÃ‚¢ƒf[ƒ^‚Åì‹Æ‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
+ 決ã—ã¦è¤‡æ•°ã®ã‚¢ãƒ—リケーショントランザクションユースケースã«æ¸¡ã£ã¦
+ 1個ã®Sessionを使ã„回ã•ãªã„ã§ãã ã•ã„。
+ ãã†ã§ãªã‘ã‚Œã°ã€å¤ã„データã§ä½œæ¥ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
- —áŠO‚𕜋A‰Â”\‚È‚à‚Ì‚Æ‚µ‚Ĉµ‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+ 例外を復帰å¯èƒ½ãªã‚‚ã®ã¨ã—ã¦æ‰±ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“。
- ‚±‚ê‚ÍuƒxƒXƒgvƒvƒ‰ƒNƒeƒBƒXˆÈã‚ÌA•K{‚̃vƒ‰ƒNƒeƒBƒX‚Å‚·B
- —áŠO‚ª”¶‚µ‚½‚Æ‚«‚Í Transaction ‚ðƒ[ƒ‹ƒoƒbƒN‚µ‚ÄA
- Session ‚ðƒNƒ[ƒY‚µ‚Ä‚‚¾‚³‚¢B
- ‚»‚¤‚µ‚È‚¢‚ÆHibernate‚̓ƒ‚ƒŠ‚Ìó‘Ô‚ª‰i‘±ó‘Ô‚ð³Šm‚É•\Œ»‚µ‚Ä‚¢‚邱‚Æ‚ð•ÛØ‚Å‚«‚Ü‚¹‚ñB
- ‚±‚Ì“Á•Ê‚ÈꇂƂµ‚ÄA—^‚¦‚ç‚ꂽŽ¯•ÊŽq‚ðŽ‚ƒCƒ“ƒXƒ^ƒ“ƒX‚ªƒf[ƒ^ƒx[ƒX‚É‘¶Ý‚·‚é‚©‚Ç‚¤‚©‚ð”»’è‚·‚邽‚ß‚ÉA
- Session.load() ‚ðŽg‚¤‚±‚Æ‚Í‚â‚ß‚Ä‚‚¾‚³‚¢B
- ‚»‚Ì‘ã‚í‚è‚É Session.get() ‚©ƒNƒGƒŠ‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
+ ã“ã‚Œã¯ã€Œãƒ™ã‚¹ãƒˆã€ãƒ—ラクティス以上ã®ã€å¿…é ˆã®ãƒ—ラクティスã§ã™ã€‚
+ 例外ãŒç™ºç”Ÿã—ãŸã¨ã㯠Transaction ã‚’ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã—ã¦ã€
+ Session をクãƒãƒ¼ã‚ºã—ã¦ãã ã•ã„。
+ ãã†ã—ãªã„ã¨Hibernateã¯ãƒ¡ãƒ¢ãƒªã®çŠ¶æ…‹ãŒæ°¸ç¶šçŠ¶æ…‹ã‚’æ£ç¢ºã«è¡¨ç¾ã—ã¦ã„ã‚‹ã“ã¨ã‚’ä¿è¨¼ã§ãã¾ã›ã‚“。
+ ã“ã®ç‰¹åˆ¥ãªå ´åˆã¨ã—ã¦ã€ä¸Žãˆã‚‰ã‚ŒãŸè˜åˆ¥åã‚’æŒã¤ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ã‚’判定ã™ã‚‹ãŸã‚ã«ã€
+ Session.load() を使ã†ã“ã¨ã¯ã‚„ã‚ã¦ãã ã•ã„。
+ ãã®ä»£ã‚ã‚Šã« Session.get() ã‹ã‚¯ã‚¨ãƒªã‚’使ã£ã¦ãã ã•ã„。
- ŠÖ˜A‚É‚Í‚È‚é‚ׂ’x‰„ƒtƒFƒbƒ`‚ðŽg‚¢‚Ü‚µ‚傤B
+ 関連ã«ã¯ãªã‚‹ã¹ãé…延フェッãƒã‚’使ã„ã¾ã—ょã†ã€‚
- ‘¦ŽžƒtƒFƒbƒ`‚ÍT‚¦‚ß‚É‚µ‚Ü‚µ‚傤B
- “ñŽŸƒLƒƒƒbƒVƒ…‚É‚ÍŠ®‘S‚É•ÛŽ‚³‚ê‚È‚¢‚悤‚ȃNƒ‰ƒX‚ÌŠÖ˜A‚É‚ÍA
- ƒvƒƒLƒV‚Æ’x‰„ƒRƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
- ƒLƒƒƒbƒVƒ…‚³‚ê‚éƒNƒ‰ƒX‚ÌŠÖ˜AA‚‚܂èƒLƒƒƒbƒVƒ…‚ªƒqƒbƒg‚·‚é‰Â”\«‚ª”ñí‚É‚‚¢ŠÖ˜A‚ÍA
- lazy="false" ‚ÅÏ‹É“I‚ȃtƒFƒbƒ`‚𖾎¦“I‚É–³Œø‚É‚µ‚Ä‚‚¾‚³‚¢B
- Œ‹‡ƒtƒFƒbƒ`‚ª“KØ‚È“Á’è‚̃†[ƒXƒP[ƒX‚É‚ÍA
- ƒNƒGƒŠ‚Å left join fetch ‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
+ å³æ™‚フェッãƒã¯æŽ§ãˆã‚ã«ã—ã¾ã—ょã†ã€‚
+ 二次ã‚ャッシュã«ã¯å®Œå…¨ã«ä¿æŒã•ã‚Œãªã„よã†ãªã‚¯ãƒ©ã‚¹ã®é–¢é€£ã«ã¯ã€
+ プãƒã‚ã‚·ã¨é…延コレクションを使ã£ã¦ãã ã•ã„。
+ ã‚ャッシュã•ã‚Œã‚‹ã‚¯ãƒ©ã‚¹ã®é–¢é€£ã€ã¤ã¾ã‚Šã‚ャッシュãŒãƒ’ットã™ã‚‹å¯èƒ½æ€§ãŒéžå¸¸ã«é«˜ã„関連ã¯ã€
+ lazy="false" ã§ç©æ¥µçš„ãªãƒ•ã‚§ãƒƒãƒã‚’明示的ã«ç„¡åŠ¹ã«ã—ã¦ãã ã•ã„。
+ çµåˆãƒ•ã‚§ãƒƒãƒãŒé©åˆ‡ãªç‰¹å®šã®ãƒ¦ãƒ¼ã‚¹ã‚±ãƒ¼ã‚¹ã«ã¯ã€
+ クエリ㧠left join fetch を使ã£ã¦ãã ã•ã„。
- ƒtƒFƒbƒ`‚³‚ê‚Ä‚¢‚È‚¢ƒf[ƒ^‚ÉŠÖ‚í‚é–â‘è‚ð”ð‚¯‚é‚½‚ß‚ÉA
- ƒrƒ…[‚Ì’†‚ŃI[ƒvƒ“ƒZƒbƒVƒ‡ƒ“‚ðŽg‚¤(open session in view)
- ƒpƒ^[ƒ“‚©A“§‚³‚ꂽ ‘g‚Ý—§‚ătƒF[ƒY(assembly phase) ‚ðŽg‚¢‚Ü‚µ‚傤B
+ フェッãƒã•ã‚Œã¦ã„ãªã„データã«é–¢ã‚ã‚‹å•é¡Œã‚’é¿ã‘ã‚‹ãŸã‚ã«ã€
+ ビューã®ä¸ã§ã‚ªãƒ¼ãƒ—ンセッションを使ã†(open session in view)
+ パターンã‹ã€çµ±åˆ¶ã•ã‚ŒãŸ 組ã¿ç«‹ã¦ãƒ•ã‚§ãƒ¼ã‚º(assembly phase) を使ã„ã¾ã—ょã†ã€‚
- Hibernate‚Í Data Transfer Objects (DTO)‚ð‘‚‘Þ‹ü‚Èì‹Æ‚©‚çŠJ”ŽÒ‚ð‰ð•ú‚µ‚Ü‚·B
- “`““I‚ÈEJBƒA[ƒLƒeƒNƒ`ƒƒ‚Å‚ÍDTO‚Í“ñ‚–ړI‚ª‚ ‚è‚Ü‚·F
- 1‚–ڂÍAƒGƒ“ƒeƒBƒeƒBƒr[ƒ“‚ªƒVƒŠƒAƒ‰ƒCƒY‚³‚ê‚È‚¢–â‘è‚Ö‚Ì‘Îô‚Å‚·B
- 2‚–ڂÍAƒvƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚ɧŒä‚ª–ß‚é‘O‚ÉA
- ƒrƒ…[‚ÉŽg‚í‚ê‚é‚·‚ׂẴf[ƒ^‚ªƒtƒFƒbƒ`‚³‚ê‚ÄADTO‚É•œŒ³‚³‚ê‚é‚悤‚È‘g‚Ý—§‚ătƒF[ƒY‚ðˆÃ–Ù“I‚É’è‹`‚µ‚Ü‚·B
- Hibernate‚Å‚Í1‚–ڂ̖ړI‚ª•s—v‚É‚È‚è‚Ü‚·B
- ‚µ‚©‚µƒrƒ…[‚̃Œƒ“ƒ_ƒŠƒ“ƒOˆ—‚ÌŠÔA‰i‘±ƒRƒ“ƒeƒLƒXƒgiƒZƒbƒVƒ‡ƒ“j‚ðƒI[ƒvƒ“‚É‚µ‚½‚Ü‚Ü‚É‚µ‚È‚¯‚ê‚ÎA
- ‘g‚Ý—§‚ătƒF[ƒY‚Í‚Ü‚¾•K—v‚Å‚·i•ª—£ƒIƒuƒWƒFƒNƒg‚Ì’†‚̂ǂ̃f[ƒ^‚ª—˜—p‰Â”\‚©‚ɂ‚¢‚ÄA
- ƒvƒŒƒ[ƒ“ƒe[ƒVƒ‡ƒ“‘w‚ÆŒµ–§‚ÈŽæ‚茈‚ß‚ð‚µ‚Ä‚¢‚éƒrƒWƒlƒXƒƒ\ƒbƒh‚ðl‚¦‚Ä‚Ý‚Ä‚‚¾‚³‚¢jB
- ‚±‚ê‚ÍHibernate‘¤‚Ì–â‘è‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ““à‚ňÀ‘S‚Ƀf[ƒ^ƒAƒNƒZƒX‚·‚邽‚ß‚ÌŠî–{“I‚È—vŒ‚Å‚·B
+ Hibernate㯠Data Transfer Objects (DTO)を書ã退屈ãªä½œæ¥ã‹ã‚‰é–‹ç™ºè€…を解放ã—ã¾ã™ã€‚
+ ä¼çµ±çš„ãªEJBアーã‚テクãƒãƒ£ã§ã¯DTOã¯äºŒã¤ç›®çš„ãŒã‚ã‚Šã¾ã™ï¼š
+ 1ã¤ç›®ã¯ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒ“ーンãŒã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã•ã‚Œãªã„å•é¡Œã¸ã®å¯¾ç–ã§ã™ã€‚
+ 2ã¤ç›®ã¯ã€ãƒ—レゼンテーション層ã«åˆ¶å¾¡ãŒæˆ»ã‚‹å‰ã«ã€
+ ビューã«ä½¿ã‚れるã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ãŒãƒ•ã‚§ãƒƒãƒã•ã‚Œã¦ã€DTOã«å¾©å…ƒã•ã‚Œã‚‹ã‚ˆã†ãªçµ„ã¿ç«‹ã¦ãƒ•ã‚§ãƒ¼ã‚ºã‚’暗黙的ã«å®šç¾©ã—ã¾ã™ã€‚
+ Hibernateã§ã¯1ã¤ç›®ã®ç›®çš„ãŒä¸è¦ã«ãªã‚Šã¾ã™ã€‚
+ ã—ã‹ã—ビューã®ãƒ¬ãƒ³ãƒ€ãƒªãƒ³ã‚°å‡¦ç†ã®é–“ã€æ°¸ç¶šã‚³ãƒ³ãƒ†ã‚スト(セッション)をオープンã«ã—ãŸã¾ã¾ã«ã—ãªã‘ã‚Œã°ã€
+ 組ã¿ç«‹ã¦ãƒ•ã‚§ãƒ¼ã‚ºã¯ã¾ã å¿…è¦ã§ã™ï¼ˆåˆ†é›¢ã‚ªãƒ–ジェクトã®ä¸ã®ã©ã®ãƒ‡ãƒ¼ã‚¿ãŒåˆ©ç”¨å¯èƒ½ã‹ã«ã¤ã„ã¦ã€
+ プレゼンテーション層ã¨åŽ³å¯†ãªå–り決ã‚ã‚’ã—ã¦ã„るビジãƒã‚¹ãƒ¡ã‚½ãƒƒãƒ‰ã‚’考ãˆã¦ã¿ã¦ãã ã•ã„)。
+ ã“ã‚Œã¯Hibernateå´ã®å•é¡Œã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ トランザクション内ã§å®‰å…¨ã«ãƒ‡ãƒ¼ã‚¿ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã®åŸºæœ¬çš„ãªè¦ä»¶ã§ã™ã€‚
- Hibernate‚©‚çƒrƒWƒlƒXƒƒWƒbƒN‚ð’ŠÛ‰»‚·‚邱‚Æ‚ðl‚¦‚Ü‚µ‚傤B
+ Hibernateã‹ã‚‰ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã‚’抽象化ã™ã‚‹ã“ã¨ã‚’考ãˆã¾ã—ょã†ã€‚
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÅiHibernate‚Ìjƒf[ƒ^ƒAƒNƒZƒXƒR[ƒh‚ð‰B•Á‚µ‚Ü‚µ‚傤B
- DAO ‚Æ Thread Local Session ƒpƒ^[ƒ“‚ð‘g‚݇‚킹‚Ü‚µ‚傤B
- UserType ‚ÅHibernate‚ÉŠÖ˜A•t‚¯‚é‚ÆA
- ƒnƒ“ƒhƒR[ƒh‚µ‚½JDBC‚ʼni‘±‰»‚·‚éƒNƒ‰ƒX‚ðŽ‚‚±‚Æ‚à‚Å‚«‚Ü‚·B
- i‚±‚̃AƒhƒoƒCƒX‚Íu\•ª‘å‚«‚ÈvƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚Ä‚Ì‚à‚Ì‚Å‚·B
- ƒe[ƒuƒ‹‚ª5ŒÂ‚µ‚©‚È‚¢‚悤‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Í“–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñBj
+ インターフェイスã§ï¼ˆHibernateã®ï¼‰ãƒ‡ãƒ¼ã‚¿ã‚¢ã‚¯ã‚»ã‚¹ã‚³ãƒ¼ãƒ‰ã‚’éš è”½ã—ã¾ã—ょã†ã€‚
+ DAO 㨠Thread Local Session パターンを組ã¿åˆã‚ã›ã¾ã—ょã†ã€‚
+ UserType ã§Hibernateã«é–¢é€£ä»˜ã‘ã‚‹ã¨ã€
+ ãƒãƒ³ãƒ‰ã‚³ãƒ¼ãƒ‰ã—ãŸJDBCã§æ°¸ç¶šåŒ–ã™ã‚‹ã‚¯ãƒ©ã‚¹ã‚’æŒã¤ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ (ã“ã®ã‚¢ãƒ‰ãƒã‚¤ã‚¹ã¯ã€Œå分大ããªã€ã‚¢ãƒ—リケーションã«å¯¾ã—ã¦ã®ã‚‚ã®ã§ã™ã€‚
+ テーブルãŒ5個ã—ã‹ãªã„よã†ãªã‚¢ãƒ—リケーションã«ã¯å½“ã¦ã¯ã¾ã‚Šã¾ã›ã‚“。)
- ’¿‚µ‚¢ŠÖ˜Aƒ}ƒbƒsƒ“ƒO‚ÍŽg‚í‚È‚¢‚悤‚É‚µ‚Ü‚µ‚傤B
+ çã—ã„関連マッピングã¯ä½¿ã‚ãªã„よã†ã«ã—ã¾ã—ょã†ã€‚
- ‚æ‚¢ƒ†[ƒXƒP[ƒX‚É–{“–‚Ì‘½‘Α½ŠÖ˜A‚ª‚ ‚邱‚Æ‚Í‹Hi‚Ü‚êj‚Å‚·B
- ‚Ù‚Æ‚ñ‚Ç‚Ìê‡uƒŠƒ“ƒNƒe[ƒuƒ‹v‚Ì•t‰Á“I‚Èî•ñ‚ª•K—v‚É‚È‚è‚Ü‚·B
- ‚±‚Ìê‡AƒŠƒ“ƒNƒNƒ‰ƒX‚É2‚‚Ì1‘Α½ŠÖ˜A‚ðŽg‚¤•û‚ª‚¸‚Á‚Æ—Ç‚¢‚Å‚·B
- ŽÀÛ‚Ù‚Æ‚ñ‚Ç‚Ìꇊ֘A‚Í1‘Α½‚Æ‘½‘Î1‚È‚Ì‚ÅA
- ‘¼‚̃Xƒ^ƒCƒ‹‚ÌŠÖ˜A‚ðŽg‚¤‚Æ‚«‚Í–{“–‚É•K—v‚©‚Ç‚¤‚©‚ðl‚¦‚Ä‚Ý‚Ä‚‚¾‚³‚¢B
+ よã„ユースケースã«æœ¬å½“ã®å¤šå¯¾å¤šé–¢é€£ãŒã‚ã‚‹ã“ã¨ã¯ç¨€ï¼ˆã¾ã‚Œï¼‰ã§ã™ã€‚
+ ã»ã¨ã‚“ã©ã®å ´åˆã€Œãƒªãƒ³ã‚¯ãƒ†ãƒ¼ãƒ–ルã€ã®ä»˜åŠ çš„ãªæƒ…å ±ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚
+ ã“ã®å ´åˆã€ãƒªãƒ³ã‚¯ã‚¯ãƒ©ã‚¹ã«2ã¤ã®1対多関連を使ã†æ–¹ãŒãšã£ã¨è‰¯ã„ã§ã™ã€‚
+ 実際ã»ã¨ã‚“ã©ã®å ´åˆé–¢é€£ã¯1対多ã¨å¤šå¯¾1ãªã®ã§ã€
+ ä»–ã®ã‚¹ã‚¿ã‚¤ãƒ«ã®é–¢é€£ã‚’使ã†ã¨ãã¯æœ¬å½“ã«å¿…è¦ã‹ã©ã†ã‹ã‚’考ãˆã¦ã¿ã¦ãã ã•ã„。
- ‚È‚é‚ׂ‘o•ûŒüŠÖ˜A‚É‚µ‚Ü‚µ‚傤B
+ ãªã‚‹ã¹ãåŒæ–¹å‘関連ã«ã—ã¾ã—ょã†ã€‚
- ’P•ûŒüŠÖ˜A‚Í‘o•ûŒü‚É”ä‚ׂČŸõ‚ª“‚‚È‚è‚Ü‚·B
- ‘å‚«‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍA
- ‚Ù‚Æ‚ñ‚Ç‚·‚ׂĂ̊֘A‚ª‘o•ûŒü‚ɃiƒrƒQ[ƒVƒ‡ƒ“‚Å‚«‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ å˜æ–¹å‘関連ã¯åŒæ–¹å‘ã«æ¯”ã¹ã¦æ¤œç´¢ãŒé›£ã—ããªã‚Šã¾ã™ã€‚
+ 大ããªã‚¢ãƒ—リケーションã§ã¯ã€
+ ã»ã¨ã‚“ã©ã™ã¹ã¦ã®é–¢é€£ãŒåŒæ–¹å‘ã«ãƒŠãƒ“ゲーションã§ããªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml b/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml
index b770781fe0..8acce2b00a 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/collection_mapping.xml
@@ -1,14 +1,16 @@
-
+
+
+
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO
+ コレクションã®ãƒžãƒƒãƒ”ング
- ƒRƒŒƒNƒVƒ‡ƒ“‚̉i‘±‰»
+ コレクションã®æ°¸ç¶šåŒ–
- ƒRƒŒƒNƒVƒ‡ƒ“Œ^‚̃tƒB[ƒ‹ƒh‚ð‰i‘±‰»‚·‚é‚É‚ÍA
- ‚»‚̃RƒŒƒNƒVƒ‡ƒ“Œ^‚ªƒCƒ“ƒ^[ƒtƒFƒCƒXŒ^‚Å‚ ‚é•K—v‚ª‚ ‚è‚Ü‚·B
- —Ⴆ‚ÎA
+ コレクション型ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’永続化ã™ã‚‹ã«ã¯ã€
+ ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³åž‹ãŒã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹åž‹ã§ã‚ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ 例ãˆã°ã€
- ŽÀÝ‚·‚éƒCƒ“ƒ^[ƒtƒFƒCƒX‚É‚Í java.util.SetA
- java.util.CollectionAjava.util.ListA
- java.util.MapAjava.util.SortedSetA
- java.util.SortedMap ‚È‚Ç‚ª‚ ‚è‚Ü‚·B
- ‚Ü‚½‚ÍA”CˆÓ‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ªŽg‚¦‚Ü‚·I
- i‚½‚¾‚µA”CˆÓ‚̃Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg—p‚·‚éꇂÍA
+ 実在ã™ã‚‹ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã«ã¯ java.util.Setã€
+ java.util.Collectionã€java.util.Listã€
+ java.util.Mapã€java.util.SortedSetã€
+ java.util.SortedMap ãªã©ãŒã‚ã‚Šã¾ã™ã€‚
+ ã¾ãŸã¯ã€ä»»æ„ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ãŒä½¿ãˆã¾ã™ï¼
+ (ãŸã ã—ã€ä»»æ„ã®ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’使用ã™ã‚‹å ´åˆã¯ã€
org.hibernate.usertype.UserCollectionType
- ‚ÌŽÀ‘•ƒNƒ‰ƒX‚ð쬂·‚é•K—v‚ª‚ ‚è‚Ü‚·Bj
+ ã®å®Ÿè£…クラスを作æˆã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚)
- HashSet ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðŽ‚ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ª
- ‚ǂ̂悤‚ɉŠú‰»‚³‚ê‚é‚©‚É’–Ú‚µ‚Ä‚Ý‚Ü‚µ‚傤B
- ‚±‚ê‚ÍV‚½‚ɶ¬‚³‚ꂽi‰i‘±‰»‚³‚ê‚Ä‚¢‚È‚¢jƒRƒŒƒNƒVƒ‡ƒ“Œ^‚̃vƒƒpƒeƒB‚ð
- ‰Šú‰»‚·‚éÅ“K‚È•û–@‚Å‚·B
- i—Ⴆ‚Î persist() ‚É‚æ‚èjƒCƒ“ƒXƒ^ƒ“ƒX‚ð‰i‘±‰»‚µ‚悤‚Æ‚µ‚½‚Æ‚«A
- Hibernate‚Í HashSet ‚ðHibernate“ÆŽ©‚Ì Set
- ‚ÌŽÀ‘•ƒNƒ‰ƒX‚É’u‚«Š·‚¦‚Ü‚·B
- ‚±‚Ì‚½‚ßAŽŸ‚̂悤‚ȃGƒ‰[‚É‚Í’ˆÓ‚ª•K—v‚Å‚·B
+ HashSet ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’æŒã¤ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ãŒ
+ ã©ã®ã‚ˆã†ã«åˆæœŸåŒ–ã•ã‚Œã‚‹ã‹ã«æ³¨ç›®ã—ã¦ã¿ã¾ã—ょã†ã€‚
+ ã“ã‚Œã¯æ–°ãŸã«ç”Ÿæˆã•ã‚ŒãŸï¼ˆæ°¸ç¶šåŒ–ã•ã‚Œã¦ã„ãªã„)コレクション型ã®ãƒ—ãƒãƒ‘ティを
+ åˆæœŸåŒ–ã™ã‚‹æœ€é©ãªæ–¹æ³•ã§ã™ã€‚
+ (例ãˆã° persist() ã«ã‚ˆã‚Šï¼‰ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’永続化ã—よã†ã¨ã—ãŸã¨ãã€
+ Hibernate㯠HashSet をHibernate独自㮠Set
+ ã®å®Ÿè£…クラスã«ç½®ãæ›ãˆã¾ã™ã€‚
+ ã“ã®ãŸã‚ã€æ¬¡ã®ã‚ˆã†ãªã‚¨ãƒ©ãƒ¼ã«ã¯æ³¨æ„ãŒå¿…è¦ã§ã™ã€‚
- Hibernate‚É‚æ‚è’“ü‚³‚ꂽ‰i‘±«ƒRƒŒƒNƒVƒ‡ƒ“‚ÍAƒCƒ“ƒ^[ƒtƒFƒCƒXŒ^‚ɉž‚¶‚ÄA
- HashMap ‚â HashSetA
- TreeMapA TreeSetA
- ArrayList ‚̂悤‚ÉU•‘‚¢‚Ü‚·B
+ Hibernateã«ã‚ˆã‚Šæ³¨å…¥ã•ã‚ŒãŸæ°¸ç¶šæ€§ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹åž‹ã«å¿œã˜ã¦ã€
+ HashMap ã‚„ HashSetã€
+ TreeMap〠TreeSetã€
+ ArrayList ã®ã‚ˆã†ã«æŒ¯èˆžã„ã¾ã™ã€‚
- ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒXƒ^ƒ“ƒX‚ÍA’lŒ^‚Æ‚µ‚Ä•’Ê‚ÉU•‘‚¢‚Ü‚·B
- ‰i‘±‰»ƒIƒuƒWƒFƒNƒg‚ÉŽQÆ‚³‚ꂽ‚Æ‚«‚ÉŽ©“®“I‚ɉi‘±‰»‚³‚êA
- ŽQÆ‚ª‚È‚‚È‚Á‚½‚Æ‚«‚ÉŽ©“®“I‚É휂³‚ê‚Ü‚·B
- ‚à‚µ‚ ‚é‰i‘±‰»ƒIƒuƒWƒFƒNƒg‚©‚ç•Ê‚̉i‘±‰»ƒIƒuƒWƒFƒNƒg‚É“n‚³‚ꂽ‚çA
- ‚»‚Ì—v‘f‚ÍŒ»Ý‚̃e[ƒuƒ‹‚©‚ç•Ê‚̃e[ƒuƒ‹‚Ɉړ®‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚Q‚‚̃Gƒ“ƒeƒBƒeƒB‚ª“¯‚¶ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
- ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚ðƒx[ƒX‚É‚µ‚Ä‚¢‚邽‚ßAƒRƒŒƒNƒVƒ‡ƒ“Œ^‚̃vƒƒpƒeƒB‚É
- null’l‚ð‘ã“ü‚µ‚Ä‚àˆÓ–¡‚ª‚ ‚è‚Ü‚¹‚ñB
- ‚‚܂èHibernate‚ÍŽQÆæ‚Ì‚È‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚Æ‹ó‚̃RƒŒƒNƒVƒ‡ƒ“‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB
+ コレクションインスタンスã¯ã€å€¤åž‹ã¨ã—ã¦æ™®é€šã«æŒ¯èˆžã„ã¾ã™ã€‚
+ 永続化オブジェクトã«å‚ç…§ã•ã‚ŒãŸã¨ãã«è‡ªå‹•çš„ã«æ°¸ç¶šåŒ–ã•ã‚Œã€
+ å‚ç…§ãŒãªããªã£ãŸã¨ãã«è‡ªå‹•çš„ã«å‰Šé™¤ã•ã‚Œã¾ã™ã€‚
+ ã‚‚ã—ã‚る永続化オブジェクトã‹ã‚‰åˆ¥ã®æ°¸ç¶šåŒ–オブジェクトã«æ¸¡ã•ã‚ŒãŸã‚‰ã€
+ ãã®è¦ç´ ã¯ç¾åœ¨ã®ãƒ†ãƒ¼ãƒ–ルã‹ã‚‰åˆ¥ã®ãƒ†ãƒ¼ãƒ–ルã«ç§»å‹•ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ï¼’ã¤ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãŒåŒã˜ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’共有ã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。
+ リレーショナルモデルをベースã«ã—ã¦ã„ã‚‹ãŸã‚ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³åž‹ã®ãƒ—ãƒãƒ‘ティã«
+ null値を代入ã—ã¦ã‚‚æ„味ãŒã‚ã‚Šã¾ã›ã‚“。
+ ã¤ã¾ã‚ŠHibernateã¯å‚照先ã®ãªã„コレクションã¨ç©ºã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’区別ã—ã¾ã›ã‚“。
- ‚µ‚©‚µ‚»‚ê‚Ù‚ÇS”z‚µ‚È‚‚Ä‚à\‚¢‚Ü‚¹‚ñB
- •’iŽg‚Á‚Ä‚¢‚éJava‚̃RƒŒƒNƒVƒ‡ƒ“‚Æ“¯‚¶‚悤‚ÉA‰i‘±‰»ƒRƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
- ‘o•ûŒüŠÖ˜A‚̈Ӗ¡‚ð—‰ð‚·‚ê‚΂悢‚Ì‚Å‚·i‚±‚ê‚ÍŒã‚Ù‚Çà–¾‚µ‚Ü‚·jB
+ ã—ã‹ã—ãã‚Œã»ã©å¿ƒé…ã—ãªãã¦ã‚‚構ã„ã¾ã›ã‚“。
+ 普段使ã£ã¦ã„ã‚‹Javaã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¨åŒã˜ã‚ˆã†ã«ã€æ°¸ç¶šåŒ–コレクションを使ã£ã¦ãã ã•ã„。
+ åŒæ–¹å‘関連ã®æ„味をç†è§£ã™ã‚Œã°ã‚ˆã„ã®ã§ã™ï¼ˆã“ã‚Œã¯å¾Œã»ã©èª¬æ˜Žã—ã¾ã™ï¼‰ã€‚
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO
+ コレクションã®ãƒžãƒƒãƒ”ング
- ƒRƒŒƒNƒVƒ‡ƒ“‚ðƒ}ƒbƒsƒ“ƒO‚·‚邽‚߂̃}ƒbƒsƒ“ƒO—v‘f‚ÍAƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌŒ^‚Ɉˑ¶‚µ‚Ü‚·B
- —Ⴆ‚ÎA<set> —v‘f‚Í Set Œ^‚ð
- ƒ}ƒbƒsƒ“ƒO‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B
+ コレクションをマッピングã™ã‚‹ãŸã‚ã®ãƒžãƒƒãƒ”ングè¦ç´ ã¯ã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã®åž‹ã«ä¾å˜ã—ã¾ã™ã€‚
+ 例ãˆã°ã€<set> è¦ç´ 㯠Set åž‹ã‚’
+ マッピングã™ã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚
@@ -98,10 +100,10 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
]]>
- ƒ}ƒbƒsƒ“ƒO—v‘f‚É‚Í <set> ‚Ì‘¼‚É <list>A
- <map>A<bag>A
- <array>A<primitive-array> ‚ª‚ ‚è‚Ü‚·B
- ‘ã•\‚Æ‚µ‚ÄA<map> —v‘f‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+ マッピングè¦ç´ ã«ã¯ <set> ã®ä»–ã« <list>ã€
+ <map>ã€<bag>ã€
+ <array>ã€<primitive-array> ãŒã‚ã‚Šã¾ã™ã€‚
+ 代表ã¨ã—ã¦ã€<map> è¦ç´ を下記ã«ç¤ºã—ã¾ã™ã€‚
@@ -147,171 +149,171 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- name ƒRƒŒƒNƒVƒ‡ƒ“Œ^‚Å‚ ‚éƒvƒƒpƒeƒB‚Ì–¼‘O
+ name コレクション型ã§ã‚るプãƒãƒ‘ティã®åå‰
- table iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚̓vƒƒpƒeƒB–¼jƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚Ì–¼‘O
- iˆê‘Α½ŠÖ˜A‚Å‚ÍŽg—p‚µ‚Ü‚¹‚ñjB
+ table (オプション - デフォルトã¯ãƒ—ãƒãƒ‘ティå)コレクションテーブルã®åå‰
+ (一対多関連ã§ã¯ä½¿ç”¨ã—ã¾ã›ã‚“)。
- schema iƒIƒvƒVƒ‡ƒ“jƒe[ƒuƒ‹ƒXƒL[ƒ}‚Ì–¼‘OB
- ƒ‹[ƒg—v‘f‚Å錾‚³‚ê‚Ä‚¢‚éƒXƒL[ƒ}‚æ‚è—D悳‚ê‚Ü‚·B
+ schema (オプション)テーブルスã‚ーマã®åå‰ã€‚
+ ルートè¦ç´ ã§å®£è¨€ã•ã‚Œã¦ã„るスã‚ーマより優先ã•ã‚Œã¾ã™ã€‚
- lazy iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í truej
- ’x‰„ƒtƒFƒbƒ`‚𖳌ø‚É‚µAŠÖ˜A‚ðí‚É‘¦Žž‚ɃtƒFƒbƒ`‚É‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
- ‚Ü‚½‚ÍAuextra-lazyvƒtƒFƒbƒ`‚ð—LŒø‚É‚·‚邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
- uextra-lazyvƒtƒFƒbƒ`‚ÍA‚Ù‚Æ‚ñ‚Ç‚Ì‘€ì‚ł̓RƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚µ‚Ü‚¹‚ñ
- i”ñí‚É‘å‚«‚ȃRƒŒƒNƒVƒ‡ƒ“‚É“K‚µ‚Ä‚¢‚Ü‚·jB
+ lazy (オプション - デフォルト㯠true)
+ é…延フェッãƒã‚’無効ã«ã—ã€é–¢é€£ã‚’常ã«å³æ™‚ã«ãƒ•ã‚§ãƒƒãƒã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚
+ ã¾ãŸã¯ã€ã€Œextra-lazyã€ãƒ•ã‚§ãƒƒãƒã‚’有効ã«ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚
+ 「extra-lazyã€ãƒ•ã‚§ãƒƒãƒã¯ã€ã»ã¨ã‚“ã©ã®æ“作ã§ã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’åˆæœŸåŒ–ã—ã¾ã›ã‚“
+ (éžå¸¸ã«å¤§ããªã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«é©ã—ã¦ã„ã¾ã™ï¼‰ã€‚
- inverse iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í falsej
- ‚±‚̃RƒŒƒNƒVƒ‡ƒ“‚ª‘o•ûŒüŠÖ˜A‚Ìu‹tv‘¤‚Å‚ ‚é‚ƃ}[ƒN‚µ‚Ü‚·B
+ inverse (オプション - デフォルト㯠false)
+ ã“ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãŒåŒæ–¹å‘関連ã®ã€Œé€†ã€å´ã§ã‚ã‚‹ã¨ãƒžãƒ¼ã‚¯ã—ã¾ã™ã€‚
- cascade iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í nonej
- ŽqƒGƒ“ƒeƒBƒeƒB‚ւ̃JƒXƒP[ƒh‘€ì‚ð—LŒø‚É‚µ‚Ü‚·B
+ cascade (オプション - デフォルト㯠none)
+ åエンティティã¸ã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰æ“作を有効ã«ã—ã¾ã™ã€‚
- sort iƒIƒvƒVƒ‡ƒ“jƒRƒŒƒNƒVƒ‡ƒ“‚ðŽ©‘R‚ȇ˜‚Ń\[ƒg‚·‚éꇂÍ
- natural ‚ðŽw’肵‚Ü‚·B
- ‚ ‚é‚¢‚ÍComparatorƒNƒ‰ƒX‚ðŽw’肵‚Ü‚·B
+ sort (オプション)コレクションを自然ãªé †åºã§ã‚½ãƒ¼ãƒˆã™ã‚‹å ´åˆã¯
+ natural を指定ã—ã¾ã™ã€‚
+ ã‚ã‚‹ã„ã¯Comparatorクラスを指定ã—ã¾ã™ã€‚
- order-by iƒIƒvƒVƒ‡ƒ“AJDK1.4‚Ì‚Ýj
- MapASetAbag‚̃CƒeƒŒ[ƒVƒ‡ƒ“‡˜‚ð’è‹`‚·‚é
- ƒe[ƒuƒ‹ƒJƒ‰ƒ€‚ðŽw’è‚·‚é‚Æ‹¤‚ÉA
- ƒIƒvƒVƒ‡ƒ“‚Æ‚µ‚Ä ascAdesc ‚ðŽw’肵‚Ü‚·B
+ order-by (オプションã€JDK1.4ã®ã¿ï¼‰
+ Mapã€Setã€bagã®ã‚¤ãƒ†ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³é †åºã‚’定義ã™ã‚‹
+ テーブルカラムを指定ã™ã‚‹ã¨å…±ã«ã€
+ オプションã¨ã—㦠ascã€desc を指定ã—ã¾ã™ã€‚
- where iƒIƒvƒVƒ‡ƒ“jƒRƒŒƒNƒVƒ‡ƒ“‚ÌŒŸõ‚â휂ÌÛ‚ÉŽg‚¤
- ”CˆÓ‚ÌSQL‚ÌWHERE ðŒ‚ðŽw’肵‚Ü‚·
- i—˜—p‰Â”\‚ȃf[ƒ^‚̈ꕔ•ª‚¾‚¯‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ªŠÜ‚ނׂ«‚Æ‚«‚ÉA‚±‚ê‚Í—L—p‚Å‚·jB
+ where (オプション)コレクションã®æ¤œç´¢ã‚„削除ã®éš›ã«ä½¿ã†
+ ä»»æ„ã®SQLã®WHERE æ¡ä»¶ã‚’指定ã—ã¾ã™
+ (利用å¯èƒ½ãªãƒ‡ãƒ¼ã‚¿ã®ä¸€éƒ¨åˆ†ã ã‘をコレクションãŒå«ã‚€ã¹ãã¨ãã«ã€ã“ã‚Œã¯æœ‰ç”¨ã§ã™ï¼‰ã€‚
- fetchiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í selectj
- ŠO•”Œ‹‡‚É‚æ‚éƒtƒFƒbƒ`A‡ŽŸ‘I‘ðƒtƒFƒbƒ`isequential select fetchjA
- ‡ŽŸƒTƒuƒZƒŒƒNƒgƒtƒFƒbƒ`isequential subselect fetchj‚Ì‚Ç‚ê‚©‚ð‘I‘ð‚µ‚Ä‚‚¾‚³‚¢B
+ fetch(オプション - デフォルト㯠select)
+ 外部çµåˆã«ã‚ˆã‚‹ãƒ•ã‚§ãƒƒãƒã€é †æ¬¡é¸æŠžãƒ•ã‚§ãƒƒãƒï¼ˆsequential select fetch)ã€
+ é †æ¬¡ã‚µãƒ–ã‚»ãƒ¬ã‚¯ãƒˆãƒ•ã‚§ãƒƒãƒï¼ˆsequential subselect fetch)ã®ã©ã‚Œã‹ã‚’é¸æŠžã—ã¦ãã ã•ã„。
- batch-size iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í 1j
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Ì’x‰„ƒtƒFƒbƒ`‚Ì‚½‚ß‚Ìuƒoƒbƒ`ƒTƒCƒYv‚ðŽw’肵‚Ü‚·B
+ batch-size (オプション - デフォルト㯠1)
+ コレクションã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®é…延フェッãƒã®ãŸã‚ã®ã€Œãƒãƒƒãƒã‚µã‚¤ã‚ºã€ã‚’指定ã—ã¾ã™ã€‚
- access iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í propertyj
- ƒRƒŒƒNƒVƒ‡ƒ“Œ^ƒvƒƒpƒeƒB‚Ì’l‚ɃAƒNƒZƒX‚·‚邽‚ß‚ÉŽg—p‚·‚éí—ª‚Å‚·B
+ access (オプション - デフォルト㯠property)
+ コレクション型プãƒãƒ‘ティã®å€¤ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã™ã‚‹æˆ¦ç•¥ã§ã™ã€‚
- optimistic-lockiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í truej
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ìó‘Ô‚ð•Ï‚¦‚邱‚Æ‚É‚æ‚Á‚ÄA
- ‚»‚̃I[ƒi[‚Å‚ ‚éƒGƒ“ƒeƒBƒeƒB‚̃o[ƒWƒ‡ƒ“‚ªƒCƒ“ƒNƒŠƒƒ“ƒg‚³‚ê‚é‚©‚ðŽw’肵‚Ü‚·B
- iˆê‘Α½ŠÖ˜A‚Å‚ÍA‚Ù‚Æ‚ñ‚Ç‚Ìꇂɂ¨‚¢‚Ä–³Œø‚ÉÝ’è‚·‚é‚Ì‚ª‘Ó–‚Å‚·Bj
+ optimistic-lock(オプション - デフォルト㯠true)
+ コレクションã®çŠ¶æ…‹ã‚’変ãˆã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€
+ ãã®ã‚ªãƒ¼ãƒŠãƒ¼ã§ã‚るエンティティã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãŒã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã•ã‚Œã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚
+ (一対多関連ã§ã¯ã€ã»ã¨ã‚“ã©ã®å ´åˆã«ãŠã„ã¦ç„¡åŠ¹ã«è¨å®šã™ã‚‹ã®ãŒå¦¥å½“ã§ã™ã€‚)
- mutableiƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í truej
- false ’l‚ÍAƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ª•ÏX‚³‚ê‚È‚¢‚±‚Æ‚ð•\‚µ‚Ü‚·
- i‚ ‚éꇂɂÍA‚µƒpƒtƒH[ƒ}ƒ“ƒX‚ð‚‚ß‚Ü‚·jB
+ mutable(オプション - デフォルト㯠true)
+ false 値ã¯ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ ãŒå¤‰æ›´ã•ã‚Œãªã„ã“ã¨ã‚’表ã—ã¾ã™
+ (ã‚ã‚‹å ´åˆã«ã¯ã€å°‘ã—パフォーマンスを高ã‚ã¾ã™ï¼‰ã€‚
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÌŠO•”ƒL[
+ コレクションã®å¤–部ã‚ー
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍAƒf[ƒ^ƒx[ƒX“à‚Å‚ÍA
- ‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŠ—L‚·‚éƒGƒ“ƒeƒBƒeƒB‚ÌŠO•”ƒL[‚É‚æ‚Á‚ÄŽ¯•Ê‚³‚ê‚Ü‚·B
- ‚±‚ÌŠO•”ƒL[‚̓RƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚Ì ƒRƒŒƒNƒVƒ‡ƒ“ƒL[ƒJƒ‰ƒ€ ‚ƌĂ΂ê‚Ü‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“ƒL[ƒJƒ‰ƒ€‚Í <key> —v‘f‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+ コレクションã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å†…ã§ã¯ã€
+ ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’所有ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®å¤–部ã‚ーã«ã‚ˆã£ã¦è˜åˆ¥ã•ã‚Œã¾ã™ã€‚
+ ã“ã®å¤–部ã‚ーã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ル㮠コレクションã‚ーカラムã¨å‘¼ã°ã‚Œã¾ã™ã€‚
+ コレクションã‚ーカラム㯠<key> è¦ç´ ã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
- ŠO•”ƒL[ƒJƒ‰ƒ€‚É‚Ínullݒ觖ñ‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚Ù‚Æ‚ñ‚ǂ̃RƒŒƒNƒVƒ‡ƒ“‚É“–‚Ä‚Í‚Ü‚é‚Å‚µ‚傤B
- ’P•ûŒü‚̈ê‘Α½ŠÖ˜A‚É‚¨‚¢‚ÄAŠO•”ƒL[ƒJƒ‰ƒ€‚̓fƒtƒHƒ‹ƒg‚Ånull‚ð‹–‚·Ý’è‚É‚È‚Á‚Ä‚¢‚Ü‚·B
- ‚æ‚Á‚ÄAnot-null="true" ‚ðŽw’è‚·‚é•K—v‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ 外部ã‚ーカラムã«ã¯nullè¨å®šåˆ¶ç´„ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã»ã¨ã‚“ã©ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«å½“ã¦ã¯ã¾ã‚‹ã§ã—ょã†ã€‚
+ å˜æ–¹å‘ã®ä¸€å¯¾å¤šé–¢é€£ã«ãŠã„ã¦ã€å¤–部ã‚ーカラムã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§nullを許ã™è¨å®šã«ãªã£ã¦ã„ã¾ã™ã€‚
+ よã£ã¦ã€not-null="true" を指定ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
]]>
- ŠO•”ƒL[‚̧–ñ‚ª ON DELETE CASCADE ‚ðŽg‚¤‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ 外部ã‚ーã®åˆ¶ç´„㌠ON DELETE CASCADE を使ã†ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
]]>
- <key> —v‘f‚Ì‚·‚ׂĂ̒è‹`‚ɂ‚¢‚Ä‚Í‘O‚ÌÍ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ <key> è¦ç´ ã®ã™ã¹ã¦ã®å®šç¾©ã«ã¤ã„ã¦ã¯å‰ã®ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f
+ コレクションã®è¦ç´
- ƒRƒŒƒNƒVƒ‡ƒ“‚Í‘¼‚ÌHibernate‚ÌŒ^‚Ì‚Ù‚Æ‚ñ‚Çi‚·‚ׂĂ̊î–{Œ^AƒJƒXƒ^ƒ€Œ^AƒRƒ“ƒ|[ƒlƒ“ƒgA
- ‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆj‚ðŠi”[‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ŽŸ‚Ì“_‚Íd—v‚ȈႢ‚É‚È‚è‚Ü‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÉŠi”[‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ªu’lvƒZƒ}ƒ“ƒeƒBƒNƒX‚Æ‚µ‚Ĉµ‚í‚ê‚é‚Ì‚©
- iƒ‰ƒCƒtƒTƒCƒNƒ‹‚̓RƒŒƒNƒVƒ‡ƒ“‚̃I[ƒi[‚ÉŠ®‘S‚Ɉˑ¶‚µ‚Ü‚·jA
- ‚à‚µ‚‚Í‚»‚ꎩg‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ðŽ‚Á‚½•Ê‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚Å‚ ‚é‚©‚Ì‚©‚Æ‚¢‚¤ˆá‚¢‚Å‚·B
- ŒãŽÒ‚ÍA2‚‚̃IƒuƒWƒFƒNƒgŠÔ‚ÌuƒŠƒ“ƒNv‚ðƒRƒŒƒNƒVƒ‡ƒ“‚É•ÛŽ‚µ‚Ä‚¢‚é‚ÆŒ©‚È‚µ‚Ä‚¢‚邾‚¯‚Å‚·B
+ コレクションã¯ä»–ã®Hibernateã®åž‹ã®ã»ã¨ã‚“ã©ï¼ˆã™ã¹ã¦ã®åŸºæœ¬åž‹ã€ã‚«ã‚¹ã‚¿ãƒ åž‹ã€ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã€
+ ä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®å‚ç…§ï¼‰ã‚’æ ¼ç´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 次ã®ç‚¹ã¯é‡è¦ãªé•ã„ã«ãªã‚Šã¾ã™ã€‚
+ コレクションã«æ ¼ç´ã•ã‚ŒãŸã‚ªãƒ–ジェクトãŒã€Œå€¤ã€ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã¨ã—ã¦æ‰±ã‚れるã®ã‹
+ (ライフサイクルã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚ªãƒ¼ãƒŠãƒ¼ã«å®Œå…¨ã«ä¾å˜ã—ã¾ã™ï¼‰ã€
+ ã‚‚ã—ãã¯ãれ自身ã®ãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«ã‚’æŒã£ãŸåˆ¥ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®å‚ç…§ã§ã‚ã‚‹ã‹ã®ã‹ã¨ã„ã†é•ã„ã§ã™ã€‚
+ 後者ã¯ã€2ã¤ã®ã‚ªãƒ–ジェクト間ã®ã€Œãƒªãƒ³ã‚¯ã€ã‚’コレクションã«ä¿æŒã—ã¦ã„ã‚‹ã¨è¦‹ãªã—ã¦ã„ã‚‹ã ã‘ã§ã™ã€‚
- Ši”[‚³‚ê‚éŒ^‚Í ƒRƒŒƒNƒVƒ‡ƒ“—v‘fŒ^ ‚ƌĂ΂ê‚Ü‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“—v‘f‚ÍA<element> ‚Ü‚½‚Í <composite-element>
- ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚êAƒGƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚ÌꇂɂÍ
- <one-to-many> ‚Ü‚½‚Í <many-to-many>
- ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
- ʼn‚Ì“ñ‚‚͒l‚Æ‚µ‚Ä—v‘f‚ðƒ}ƒbƒsƒ“ƒO‚µAŽŸ‚Ì“ñ‚‚̓Gƒ“ƒeƒBƒeƒB‚ÌŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‚Ì‚ÉŽg‚í‚ê‚Ü‚·B
+ æ ¼ç´ã•ã‚Œã‚‹åž‹ã¯ コレクションè¦ç´ åž‹ ã¨å‘¼ã°ã‚Œã¾ã™ã€‚
+ コレクションè¦ç´ ã¯ã€<element> ã¾ãŸã¯ <composite-element>
+ ã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングã•ã‚Œã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®å‚ç…§ã®å ´åˆã«ã¯
+ <one-to-many> ã¾ãŸã¯ <many-to-many>
+ ã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
+ 最åˆã®äºŒã¤ã¯å€¤ã¨ã—ã¦è¦ç´ をマッピングã—ã€æ¬¡ã®äºŒã¤ã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®é–¢é€£ã‚’マッピングã™ã‚‹ã®ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
- ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“
+ インデックス付ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³
- set‚Æbag‚𜂑S‚ẴRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚É‚ÍA
- ƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚Ì’†‚É ƒCƒ“ƒfƒbƒNƒX—p‚̃Jƒ‰ƒ€ ‚ª•K—v‚Å‚·B
- ‚»‚̃Jƒ‰ƒ€‚ÉA”z—ñ‚â List ‚̃Cƒ“ƒfƒbƒNƒXA
- ‚à‚µ‚‚Í Map ‚̃L[‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- Map ‚̃Cƒ“ƒfƒbƒNƒX‚ÍA
- <map-key> ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ꂽŠî–{Œ^‚©A
- <map-key-many-to-many> ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒGƒ“ƒeƒBƒeƒB‚ÌŠÖ˜A‚©A
- ‚ ‚é‚¢‚Í <composite-map-key> ‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒRƒ“ƒ|ƒWƒbƒgŒ^‚É‚È‚è‚Ü‚·B
- ”z—ñ‚©ƒŠƒXƒg‚̃Cƒ“ƒfƒbƒNƒX‚ÍAí‚É integer Œ^‚ÅA
- <list-index> —v‘f‚É‚æ‚èƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- ƒ}ƒbƒsƒ“ƒO‚³‚ꂽƒJƒ‰ƒ€‚ɂ̓V[ƒPƒ“ƒVƒƒƒ‹‚È®”‚ðŠi”[‚µ‚Ü‚·iƒfƒtƒHƒ‹ƒg‚Å‚Í0‚©‚ç”Ô†‚ª•t‚¯‚ç‚ê‚Ü‚·jB
+ setã¨bagを除ãå…¨ã¦ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒžãƒƒãƒ”ングã«ã¯ã€
+ コレクションテーブルã®ä¸ã« インデックス用ã®ã‚«ãƒ©ãƒ ãŒå¿…è¦ã§ã™ã€‚
+ ãã®ã‚«ãƒ©ãƒ ã«ã€é…列や List ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã€
+ ã‚‚ã—ã㯠Map ã®ã‚ーをマッピングã—ã¾ã™ã€‚
+ Map ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯ã€
+ <map-key> ã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングã•ã‚ŒãŸåŸºæœ¬åž‹ã‹ã€
+ <map-key-many-to-many> ã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングã•ã‚ŒãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®é–¢é€£ã‹ã€
+ ã‚ã‚‹ã„㯠<composite-map-key> ã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングã•ã‚ŒãŸã‚³ãƒ³ãƒã‚¸ãƒƒãƒˆåž‹ã«ãªã‚Šã¾ã™ã€‚
+ é…列ã‹ãƒªã‚¹ãƒˆã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¯ã€å¸¸ã« integer åž‹ã§ã€
+ <list-index> è¦ç´ ã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
+ マッピングã•ã‚ŒãŸã‚«ãƒ©ãƒ ã«ã¯ã‚·ãƒ¼ã‚±ãƒ³ã‚·ãƒ£ãƒ«ãªæ•´æ•°ã‚’æ ¼ç´ã—ã¾ã™ï¼ˆãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯0ã‹ã‚‰ç•ªå·ãŒä»˜ã‘られã¾ã™ï¼‰ã€‚
@@ -325,13 +327,13 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- column_namei•K{j:ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+ column_nameï¼ˆå¿…é ˆï¼‰:コレクションインデックスã®å€¤ã‚’ä¿æŒã™ã‚‹ã‚«ãƒ©ãƒ ã®åå‰ã€‚
- baseiƒIƒvƒVƒ‡ƒ“AƒfƒtƒHƒ‹ƒg‚Í 0j:
- ƒŠƒXƒg‚à‚µ‚‚Í”z—ñ‚Ìʼn‚Ì—v‘f‚ÉŠY“–‚·‚éƒCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚Ì’lB
+ base(オプションã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã¯ 0):
+ リストもã—ãã¯é…列ã®æœ€åˆã®è¦ç´ ã«è©²å½“ã™ã‚‹ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚«ãƒ©ãƒ ã®å€¤ã€‚
@@ -352,17 +354,17 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- columniƒIƒvƒVƒ‡ƒ“j: ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+ column(オプション): コレクションインデックスã®å€¤ã‚’ä¿æŒã™ã‚‹ã‚«ãƒ©ãƒ ã®åå‰ã€‚
- formulaiƒIƒvƒVƒ‡ƒ“j: Map‚̃L[‚ð•]‰¿‚·‚é‚Ì‚ÉŽg‚í‚ê‚éSQLŽ®B
+ formula(オプション): Mapã®ã‚ーを評価ã™ã‚‹ã®ã«ä½¿ã‚れるSQLå¼ã€‚
- typei•K{j: Map‚̃L[‚ÌŒ^B
+ typeï¼ˆå¿…é ˆï¼‰: Mapã®ã‚ーã®åž‹ã€‚
@@ -382,20 +384,20 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- column iƒIƒvƒVƒ‡ƒ“j:
- ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚Ì‚½‚ß‚ÌŠO•”ƒL[ƒJƒ‰ƒ€‚Ì–¼‘OB
+ column (オプション):
+ コレクションインデックスã®å€¤ã®ãŸã‚ã®å¤–部ã‚ーカラムã®åå‰ã€‚
- formula iƒIƒvƒVƒ‡ƒ“j:
- Map‚̃L[‚Ì‚½‚ß‚ÌŠO•”ƒL[‚ð•]‰¿‚·‚邽‚ß‚ÉŽg‚¤SQLŽ®B
+ formula (オプション):
+ Mapã®ã‚ーã®ãŸã‚ã®å¤–部ã‚ーを評価ã™ã‚‹ãŸã‚ã«ä½¿ã†SQLå¼ã€‚
- class i•K{j:
- Map‚̃L[‚Æ‚µ‚ÄŽg‚í‚ê‚éƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒXB
+ class ï¼ˆå¿…é ˆï¼‰:
+ Mapã®ã‚ーã¨ã—ã¦ä½¿ã‚れるエンティティクラス。
@@ -403,33 +405,33 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- ‚à‚µƒe[ƒuƒ‹‚ɃCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ª‚È‚‚Ä‚àAƒvƒƒpƒeƒBŒ^‚Æ‚µ‚Ä List ‚ðŽg‚¢‚½‚¯‚ê‚ÎA
- Hibernate‚Ì <bag> ‚Æ‚µ‚ăvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- bag‚̓f[ƒ^ƒx[ƒX‚©‚ç•œŒ³‚³‚ê‚鎞A‡˜‚ð•ÛŽ‚µ‚Ü‚¹‚ñB
- ‚µ‚©‚µAiƒƒ‚ƒŠã‚Åjƒ\[ƒg‚µ‚½‚èAiSQL‚Åj‡˜•t‚¯‚µ‚½‚èiorder byj‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ ã‚‚ã—テーブルã«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚«ãƒ©ãƒ ãŒãªãã¦ã‚‚ã€ãƒ—ãƒãƒ‘ティ型ã¨ã—㦠List を使ã„ãŸã‘ã‚Œã°ã€
+ Hibernateã® <bag> ã¨ã—ã¦ãƒ—ãƒãƒ‘ティをマッピングã—ã¾ã™ã€‚
+ bagã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰å¾©å…ƒã•ã‚Œã‚‹æ™‚ã€é †åºã‚’ä¿æŒã—ã¾ã›ã‚“。
+ ã—ã‹ã—ã€ï¼ˆãƒ¡ãƒ¢ãƒªä¸Šã§ï¼‰ã‚½ãƒ¼ãƒˆã—ãŸã‚Šã€ï¼ˆSQLã§ï¼‰é †åºä»˜ã‘ã—ãŸã‚Šï¼ˆorder by)ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- ‘½‚‚̈ê”Ê“I‚ȃŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚ðƒJƒo[‚µ‚½‚½‚ß‚ÉA
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚ß‚É—˜—p‚Å‚«‚éƒ}ƒbƒsƒ“ƒO‚É‚Í‚©‚È‚è‚Ì•‚ª‚ ‚è‚Ü‚·B
- —lX‚ȃ}ƒbƒsƒ“ƒO錾‚ª‚ǂ̂悤‚Ƀf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚É•ÏŠ·‚³‚ê‚é‚©‚ð’m‚邽‚ß‚ÉA
- ƒXƒL[ƒ}¶¬ƒc[ƒ‹‚ðŽg‚Á‚Ä‚Ý‚é‚Æ—Ç‚¢‚Å‚µ‚傤B
+ 多ãã®ä¸€èˆ¬çš„ãªãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ãƒ¢ãƒ‡ãƒ«ã‚’ã‚«ãƒãƒ¼ã—ãŸãŸã‚ã«ã€
+ コレクションã®ãŸã‚ã«åˆ©ç”¨ã§ãるマッピングã«ã¯ã‹ãªã‚Šã®å¹…ãŒã‚ã‚Šã¾ã™ã€‚
+ 様々ãªãƒžãƒƒãƒ”ング宣言ãŒã©ã®ã‚ˆã†ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ†ãƒ¼ãƒ–ルã«å¤‰æ›ã•ã‚Œã‚‹ã‹ã‚’知るãŸã‚ã«ã€
+ スã‚ーマ生æˆãƒ„ールを使ã£ã¦ã¿ã‚‹ã¨è‰¯ã„ã§ã—ょã†ã€‚
- ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Æ‘½‘Α½ŠÖ˜A
+ 値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¨å¤šå¯¾å¤šé–¢é€£
- ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚⑽‘Α½ŠÖ˜A‚ÍAê—p‚Ì ƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹ ‚ª•K—v‚Å‚·B
- ‚±‚̃e[ƒuƒ‹‚ÍAŠO•”ƒL[ƒJƒ‰ƒ€‚ÆA
- ƒRƒŒƒNƒVƒ‡ƒ“—v‘f‚̃Jƒ‰ƒ€ ‚ÆA
- ꇂɂæ‚Á‚Ă̓Cƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ðŽ‚¿‚Ü‚·B
+ 値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚„多対多関連ã¯ã€å°‚用㮠コレクションテーブル ãŒå¿…è¦ã§ã™ã€‚
+ ã“ã®ãƒ†ãƒ¼ãƒ–ルã¯ã€å¤–部ã‚ーカラムã¨ã€
+ コレクションè¦ç´ ã®ã‚«ãƒ©ãƒ ã¨ã€
+ å ´åˆã«ã‚ˆã£ã¦ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚«ãƒ©ãƒ ã‚’æŒã¡ã¾ã™ã€‚
- ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚ß‚ÉA<element>ƒ^ƒO‚ðŽg—p‚µ‚Ü‚·B
+ 値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ãŸã‚ã«ã€<element>タグを使用ã—ã¾ã™ã€‚
@@ -452,24 +454,24 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- column iƒIƒvƒVƒ‡ƒ“j: ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚Ì’l‚ð•ÛŽ‚·‚éƒJƒ‰ƒ€‚Ì–¼‘OB
+ column (オプション): コレクションã®è¦ç´ ã®å€¤ã‚’ä¿æŒã™ã‚‹ã‚«ãƒ©ãƒ ã®åå‰ã€‚
- formula iƒIƒvƒVƒ‡ƒ“j: —v‘f‚ð•]‰¿‚·‚邽‚ß‚ÉŽg‚¤SQLŽ®B
+ formula (オプション): è¦ç´ を評価ã™ã‚‹ãŸã‚ã«ä½¿ã†SQLå¼ã€‚
- type i•K{jƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ÌŒ^B
+ type ï¼ˆå¿…é ˆï¼‰ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ ã®åž‹ã€‚
- ‘½‘Α½ŠÖ˜A ‚Í <many-to-many> —v‘f‚ÅŽw’肵‚Ü‚·B
+ 多対多関連 㯠<many-to-many> è¦ç´ ã§æŒ‡å®šã—ã¾ã™ã€‚
@@ -498,64 +500,64 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- column iƒIƒvƒVƒ‡ƒ“j: ŠO•”ƒL[ƒJƒ‰ƒ€‚Ì—v‘f‚Ì–¼‘OB
+ column (オプション): 外部ã‚ーカラムã®è¦ç´ ã®åå‰ã€‚
- formula iƒIƒvƒVƒ‡ƒ“j: ŠO•”ƒL[’l‚Ì—v‘f‚ð•]‰¿‚·‚邽‚ß‚ÉŽg‚¤SQLŽ®B
+ formula (オプション): 外部ã‚ー値ã®è¦ç´ を評価ã™ã‚‹ãŸã‚ã«ä½¿ã†SQLå¼ã€‚
- class i•K{j: ŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+ class ï¼ˆå¿…é ˆï¼‰: 関連クラスã®åå‰ã€‚
- fetch (ƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í join):
- ŠÖ˜A‚Ì‚½‚ß‚ÉAŠO•”Œ‹‡‚©‡ŽŸ‘I‘ðƒtƒFƒbƒ`‚ð—LŒø‚É‚µ‚Ü‚·B
- ‚±‚ê‚Í“ÁŽê‚ȃP[ƒX‚Å‚·‚ªAƒGƒ“ƒeƒBƒeƒB‚Æ‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Æ‚Ì‘½‘Α½ŠÖŒW‚ð
- i‚P‚Â‚Ì SELECT ‚É‚æ‚èjŠ®‘S‚É‘¦Žž‚ɃtƒFƒbƒ`‚·‚邽‚ß‚É‚ÍA
- ‚»‚̃RƒŒƒNƒVƒ‡ƒ“Ž©‘Ì‚¾‚¯‚Å‚È‚A
- ƒlƒXƒg‚µ‚½—v‘f‚Å‚ ‚é <many-to-many> ‚Ì‚±‚Ì‘®«‚ɂ‚¢‚Ä‚à
- join ƒtƒFƒbƒ`‚ð—LŒø‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+ fetch (オプション - デフォルト㯠join):
+ 関連ã®ãŸã‚ã«ã€å¤–部çµåˆã‹é †æ¬¡é¸æŠžãƒ•ã‚§ãƒƒãƒã‚’有効ã«ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ç‰¹æ®Šãªã‚±ãƒ¼ã‚¹ã§ã™ãŒã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¨ä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¨ã®å¤šå¯¾å¤šé–¢ä¿‚ã‚’
+ (1ã¤ã® SELECT ã«ã‚ˆã‚Šï¼‰å®Œå…¨ã«å³æ™‚ã«ãƒ•ã‚§ãƒƒãƒã™ã‚‹ãŸã‚ã«ã¯ã€
+ ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³è‡ªä½“ã ã‘ã§ãªãã€
+ ãƒã‚¹ãƒˆã—ãŸè¦ç´ ã§ã‚ã‚‹ <many-to-many> ã®ã“ã®å±žæ€§ã«ã¤ã„ã¦ã‚‚
+ join フェッãƒã‚’有効ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
- unique iƒIƒvƒVƒ‡ƒ“j:
- ŠO•”ƒL[ƒJƒ‰ƒ€‚̃†ƒj[ƒN§–ñ‚ÌDDL¶¬‚ð—LŒø‚É‚µ‚Ü‚·B
- ‚±‚ê‚ÍAŠÖ˜A‚Ì‘½d“x‚ðŽ–ŽÀãˆê‘Α½‚É‚µ‚Ü‚·B
+ unique (オプション):
+ 外部ã‚ーカラムã®ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã®DDL生æˆã‚’有効ã«ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ã€é–¢é€£ã®å¤šé‡åº¦ã‚’事実上一対多ã«ã—ã¾ã™ã€‚
- not-found iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í exceptionj
- ŽQÆæ‚Ìs‚ª‚È‚¢ŠO•”ƒL[‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ðŽw’肵‚Ü‚·B
- ignore ‚É‚·‚é‚ÆAs‚ª‚È‚¢‚±‚Æ‚ðŠÖ˜A‚ª–³‚¢‚à‚Ì‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
+ not-found (オプション - デフォルト㯠exception)
+ å‚照先ã®è¡ŒãŒãªã„外部ã‚ーをã©ã®ã‚ˆã†ã«æ‰±ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ ignore ã«ã™ã‚‹ã¨ã€è¡ŒãŒãªã„ã“ã¨ã‚’関連ãŒç„¡ã„ã‚‚ã®ã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚
- entity-name iƒIƒvƒVƒ‡ƒ“j:
- class ‚Ì‘ã‘Ö‚Å‚ ‚éŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
- class ‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éAŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+ entity-name (オプション):
+ class ã®ä»£æ›¿ã§ã‚る関連クラスã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å。
+ class ã®ä»£ã‚ã‚Šã«æŒ‡å®šã™ã‚‹ã€é–¢é€£ã‚¯ãƒ©ã‚¹ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å。
- property-ref: iƒIƒvƒVƒ‡ƒ“j
- ‚±‚ÌŠO•”ƒL[‚ÉŒ‹‡‚·‚éŠÖ˜AƒNƒ‰ƒX‚̃vƒƒpƒeƒB–¼B
- Žw’肵‚È‚©‚Á‚½ê‡‚ÍAŠÖ˜AƒNƒ‰ƒX‚ÌŽåƒL[‚ðŽg‚¢‚Ü‚·B
+ property-ref: (オプション)
+ ã“ã®å¤–部ã‚ーã«çµåˆã™ã‚‹é–¢é€£ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティå。
+ 指定ã—ãªã‹ã£ãŸå ´åˆã¯ã€é–¢é€£ã‚¯ãƒ©ã‚¹ã®ä¸»ã‚ーを使ã„ã¾ã™ã€‚
- ˆÈ‰º‚É‚¢‚‚‚©—á‚ðŽ¦‚µ‚Ü‚·B
- ‚Ü‚¸‚ÍString‚Ìset‚ÉŠÖ‚µ‚Ä‚Ì—á‚Å‚·B
+ 以下ã«ã„ãã¤ã‹ä¾‹ã‚’示ã—ã¾ã™ã€‚
+ ã¾ãšã¯Stringã®setã«é–¢ã—ã¦ã®ä¾‹ã§ã™ã€‚
@@ -564,7 +566,7 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
]]>
- ®”’l‚ðŠÜ‚Þbagibag‚Í order-by ‘®«‚É‚æ‚Á‚Ä”½•œ‡˜‚ª’è‹`‚³‚ê‚Ä‚¢‚Ü‚·j
+ 整数値をå«ã‚€bag(bag㯠order-by 属性ã«ã‚ˆã£ã¦åå¾©é †åºãŒå®šç¾©ã•ã‚Œã¦ã„ã¾ã™ï¼‰
]]>
- ƒGƒ“ƒeƒBƒeƒB‚Ì”z—ñ - ‚±‚Ìê‡A‘½‘Α½‚ÌŠÖ˜A‚Å‚·B
+ エンティティã®é…列 - ã“ã®å ´åˆã€å¤šå¯¾å¤šã®é–¢é€£ã§ã™ã€‚
]]>
- •¶Žš—ñ‚Æ“ú•t‚Ìmap
+ æ–‡å—列ã¨æ—¥ä»˜ã®map
]]>
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚ÌlistiŽŸ‚ÌÍ‚ÅÚ‚µ‚à–¾‚µ‚Ü‚·j
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®list(次ã®ç« ã§è©³ã—ã説明ã—ã¾ã™ï¼‰
- ˆê‘Α½ŠÖ˜A
+ 一対多関連
- ˆê‘Α½ŠÖ˜A ‚ÍAƒRƒŒƒNƒVƒ‡ƒ“¥ƒe[ƒuƒ‹‚ð‰î‚³‚¸A
- ŠO•”ƒL[‚É‚æ‚è2‚‚̃Nƒ‰ƒX‚̃e[ƒuƒ‹‚ðŠÖ˜A•t‚¯‚Ü‚·B
- ‚±‚̃}ƒbƒsƒ“ƒO‚Í•W€“I‚ÈJava‚̃RƒŒƒNƒVƒ‡ƒ“‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ð‚¢‚‚‚©Ž¸‚¢‚Ü‚·B
+ 一対多関連 ã¯ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï½¥ãƒ†ãƒ¼ãƒ–ルを介ã•ãšã€
+ 外部ã‚ーã«ã‚ˆã‚Š2ã¤ã®ã‚¯ãƒ©ã‚¹ã®ãƒ†ãƒ¼ãƒ–ルを関連付ã‘ã¾ã™ã€‚
+ ã“ã®ãƒžãƒƒãƒ”ングã¯æ¨™æº–çš„ãªJavaã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã‚’ã„ãã¤ã‹å¤±ã„ã¾ã™ã€‚
- ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA
- 2‚ˆÈã‚̃RƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒX‚É‘®‚µ‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+ エンティティクラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€
+ 2ã¤ä»¥ä¸Šã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«å±žã—ã¦ã¯ã„ã‘ã¾ã›ã‚“。
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÉŠÜ‚Ü‚ê‚éƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA
- ƒRƒŒƒNƒVƒ‡ƒ“ƒCƒ“ƒfƒbƒNƒX‚Ì’l‚Æ‚µ‚Ä2“xˆÈ㌻‚ê‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
+ コレクションã«å«ã¾ã‚Œã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€
+ コレクションインデックスã®å€¤ã¨ã—ã¦2度以上ç¾ã‚Œã¦ã¯ã„ã‘ã¾ã›ã‚“。
- Product ‚©‚ç Part ‚Ö‚ÌŠÖ˜A‚ÍA
- Part ƒe[ƒuƒ‹‚Ö‚ÌŠO•”ƒL[ƒJƒ‰ƒ€‚ÆAꇂɂæ‚Á‚Ă̓Cƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ª•K—v‚Å‚·B
- <one-to-many> ƒ^ƒO‚ÍA‚±‚ꂪˆê‘Α½ŠÖ˜A‚Å‚ ‚邱‚Æ‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+ Product ã‹ã‚‰ Part ã¸ã®é–¢é€£ã¯ã€
+ Part テーブルã¸ã®å¤–部ã‚ーカラムã¨ã€å ´åˆã«ã‚ˆã£ã¦ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚«ãƒ©ãƒ ãŒå¿…è¦ã§ã™ã€‚
+ <one-to-many> ã‚¿ã‚°ã¯ã€ã“ã‚ŒãŒä¸€å¯¾å¤šé–¢é€£ã§ã‚ã‚‹ã“ã¨ã‚’表ã—ã¦ã„ã¾ã™ã€‚
@@ -662,44 +664,44 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- class i•K{j: ŠÖ˜AƒNƒ‰ƒX‚Ì–¼‘OB
+ class ï¼ˆå¿…é ˆï¼‰: 関連クラスã®åå‰ã€‚
- not-found iƒIƒvƒVƒ‡ƒ“ - ƒfƒtƒHƒ‹ƒg‚Í exceptionj:
- ŽQÆæ‚Ìs‚ª‚È‚¢ƒLƒƒƒbƒVƒ…‚³‚ꂽŽ¯•ÊŽq‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ðŽw’肵‚Ü‚·B
- ignore ‚ðŽw’è‚·‚é‚ÆAs‚ª‚È‚¢‚±‚Æ‚ðŠÖ˜A‚ª‚È‚¢‚à‚Ì‚Æ‚µ‚Ĉµ‚¢‚Ü‚·B
+ not-found (オプション - デフォルト㯠exception):
+ å‚照先ã®è¡ŒãŒãªã„ã‚ャッシュã•ã‚ŒãŸè˜åˆ¥åã‚’ã©ã®ã‚ˆã†ã«æ‰±ã†ã‹ã‚’指定ã—ã¾ã™ã€‚
+ ignore を指定ã™ã‚‹ã¨ã€è¡ŒãŒãªã„ã“ã¨ã‚’関連ãŒãªã„ã‚‚ã®ã¨ã—ã¦æ‰±ã„ã¾ã™ã€‚
- entity-name iƒIƒvƒVƒ‡ƒ“j:
- class ‚Ì‘ã‘Ö‚Å‚ ‚éŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
- class ‚Ì‘ã‚í‚è‚ÉŽw’è‚·‚éAŠÖ˜AƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB–¼B
+ entity-name (オプション):
+ class ã®ä»£æ›¿ã§ã‚る関連クラスã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å。
+ class ã®ä»£ã‚ã‚Šã«æŒ‡å®šã™ã‚‹ã€é–¢é€£ã‚¯ãƒ©ã‚¹ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£å。
- <one-to-many> —v‘f‚̓Jƒ‰ƒ€‚ð錾‚·‚é•K—v‚ª‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- “¯—l‚É ƒe[ƒuƒ‹ –¼‚ðŽw’è‚·‚é•K—v‚à‚ ‚è‚Ü‚¹‚ñB
+ <one-to-many> è¦ç´ ã¯ã‚«ãƒ©ãƒ を宣言ã™ã‚‹å¿…è¦ãŒãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ åŒæ§˜ã« テーブル åを指定ã™ã‚‹å¿…è¦ã‚‚ã‚ã‚Šã¾ã›ã‚“。
- ‚Æ‚Ä‚àd—v‚È’ˆÓ: ‚à‚µ <one-to-many>
- ŠÖ˜A‚ÌŠO•”ƒL[ƒJƒ‰ƒ€‚ª NOT NULL‚Æ錾‚³‚ꂽê‡A
- <key> ƒ}ƒbƒsƒ“ƒO‚É not-null="true" ‚ð錾‚·‚é‚©A
- ƒRƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚É inverse="true" ‚ð•t‚¯‚½ã‚ÅA
- ‘o•ûŒüŠÖ˜A‚ðŽg‚¤ •K—v‚ª‚ ‚è‚Ü‚·B
- ‘o•ûŒüŠÖ˜A‚ɂ‚¢‚Ä‚Í‚±‚ÌÍ‚ÌŒã‚Ì‚Ù‚¤‚Åà–¾‚µ‚Ü‚·B
+ ã¨ã¦ã‚‚é‡è¦ãªæ³¨æ„: ã‚‚ã— <one-to-many>
+ 関連ã®å¤–部ã‚ーカラム㌠NOT NULLã¨å®£è¨€ã•ã‚ŒãŸå ´åˆã€
+ <key> マッピング㫠not-null="true" を宣言ã™ã‚‹ã‹ã€
+ コレクションマッピング㫠inverse="true" を付ã‘ãŸä¸Šã§ã€
+ åŒæ–¹å‘関連を使ㆠ必è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ åŒæ–¹å‘関連ã«ã¤ã„ã¦ã¯ã“ã®ç« ã®å¾Œã®ã»ã†ã§èª¬æ˜Žã—ã¾ã™ã€‚
- ŽŸ‚Ì—á‚ÍA–¼ÌiPart ‚̉i‘±“I‚ȃvƒƒpƒeƒB‚Å‚ ‚é partNamej
- ‚É‚æ‚é Part ƒGƒ“ƒeƒBƒeƒB‚Ìmap‚ð•\‚µ‚Ä‚¢‚Ü‚·B
- formula‚É‚æ‚éƒCƒ“ƒfƒbƒNƒX‚ðŽg‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 次ã®ä¾‹ã¯ã€å称(Part ã®æ°¸ç¶šçš„ãªãƒ—ãƒãƒ‘ティã§ã‚ã‚‹ partName)
+ ã«ã‚ˆã‚‹ Part エンティティã®mapを表ã—ã¦ã„ã¾ã™ã€‚
+ formulaã«ã‚ˆã‚‹ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’使ã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ‚“x‚ȃRƒŒƒNƒVƒ‡ƒ“¥ƒ}ƒbƒsƒ“ƒO
+ 高度ãªã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï½¥ãƒžãƒƒãƒ”ング
- ƒ\[ƒg‚³‚ꂽƒRƒŒƒNƒVƒ‡ƒ“
+ ソートã•ã‚ŒãŸã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³
- Hibernate‚Í java.util.SortedMap ‚Æ java.util.SortedSet
- ‚ðŽÀ‘•‚µ‚½ƒRƒŒƒNƒVƒ‡ƒ“‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- ŠJ”ŽÒ‚̓}ƒbƒsƒ“ƒO’è‹`ƒtƒ@ƒCƒ‹‚ɃRƒ“ƒpƒŒ[ƒ^‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ Hibernate㯠java.util.SortedMap 㨠java.util.SortedSet
+ を実装ã—ãŸã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ 開発者ã¯ãƒžãƒƒãƒ”ング定義ファイルã«ã‚³ãƒ³ãƒ‘レータを指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
]]>
- sort ‘®«‚ÉÝ’è‚Å‚«‚é’l‚Í unsorted ‚Æ natural
- ‚¨‚æ‚ÑAjava.util.Comparator ‚ðŽÀ‘•‚µ‚½ƒNƒ‰ƒX‚Ì–¼‘O‚Å‚·B
+ sort 属性ã«è¨å®šã§ãる値㯠unsorted 㨠natural
+ ãŠã‚ˆã³ã€java.util.Comparator を実装ã—ãŸã‚¯ãƒ©ã‚¹ã®åå‰ã§ã™ã€‚
- ƒ\[ƒg‚³‚ꂽƒRƒŒƒNƒVƒ‡ƒ“‚ÍŽÀŽ¿“I‚É‚Í java.util.TreeSet ‚â
- java.util.TreeMap ‚̂悤‚ÉU•‘‚¢‚Ü‚·B
+ ソートã•ã‚ŒãŸã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯å®Ÿè³ªçš„ã«ã¯ java.util.TreeSet ã‚„
+ java.util.TreeMap ã®ã‚ˆã†ã«æŒ¯èˆžã„ã¾ã™ã€‚
- ‚à‚µƒf[ƒ^ƒx[ƒXŽ©g‚ɃRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ð•À‚ׂ³‚¹‚½‚¢‚È‚çA
- set ‚â bagAmap ‚Ì
- order-by ‘®«‚ðŽg‚¢‚Ü‚·B
- ‚±‚Ì‰ðŒˆ–@‚ÍJDK1.4A‚à‚µ‚‚Í‚»‚êˆÈã‚̃o[ƒWƒ‡ƒ“‚Å—˜—p‰Â”\‚Å‚·
- iLinkedHashSet ‚Ü‚½‚Í LinkedHashMap‚ðŽg‚Á‚ÄŽÀ‘•‚³‚ê‚Ä‚¢‚Ü‚·jB
- ®—ñ‚̓ƒ‚ƒŠã‚Å‚Í‚È‚ASQLƒNƒGƒŠ“à‚ÅŽÀs‚³‚ê‚Ü‚·B
+ ã‚‚ã—データベース自身ã«ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ を並ã¹ã•ã›ãŸã„ãªã‚‰ã€
+ set ã‚„ bagã€map ã®
+ order-by 属性を使ã„ã¾ã™ã€‚
+ ã“ã®è§£æ±ºæ³•ã¯JDK1.4ã€ã‚‚ã—ãã¯ãれ以上ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§åˆ©ç”¨å¯èƒ½ã§ã™
+ (LinkedHashSet ã¾ãŸã¯ LinkedHashMapを使ã£ã¦å®Ÿè£…ã•ã‚Œã¦ã„ã¾ã™ï¼‰ã€‚
+ 整列ã¯ãƒ¡ãƒ¢ãƒªä¸Šã§ã¯ãªãã€SQLクエリ内ã§å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
@@ -768,12 +770,12 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
]]>
- order-by ‘®«‚Ì’l‚ªSQL–½—ß‚Å‚ ‚Á‚ÄAHQL–½—ß‚Å‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢I
+ order-by 属性ã®å€¤ãŒSQL命令ã§ã‚ã£ã¦ã€HQL命令ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„ï¼
- ŠÖ˜A‚ÍAƒRƒŒƒNƒVƒ‡ƒ“‚Ì filter() ‚ðŽg‚¤‚±‚Æ‚ÅA
- ŽÀsŽž‚É”CˆÓ‚Ìcriteria‚É‚æ‚Á‚ă\[ƒg‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+ 関連ã¯ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã® filter() を使ã†ã“ã¨ã§ã€
+ 実行時ã«ä»»æ„ã®criteriaã«ã‚ˆã£ã¦ã‚½ãƒ¼ãƒˆã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
@@ -781,18 +783,18 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- ‘o•ûŒüŠÖ˜A
+ åŒæ–¹å‘関連
- ‘o•ûŒüŠÖ˜A ‚ÍŠÖ˜A‚Ì‚Ç‚¿‚çu‘¤v‚©‚ç‚Å‚àƒiƒrƒQ[ƒVƒ‡ƒ“‚Å‚«‚Ü‚·B
- 2Ží—Þ‚Ì‘o•ûŒüŠÖ˜A‚ªƒTƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚·B
+ åŒæ–¹å‘関連 ã¯é–¢é€£ã®ã©ã¡ã‚‰ã€Œå´ã€ã‹ã‚‰ã§ã‚‚ナビゲーションã§ãã¾ã™ã€‚
+ 2種類ã®åŒæ–¹å‘関連ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã™ã€‚
one-to-many
- •Ð‘¤‚ªset‚©bagA‚à‚¤•Ð•û‚ª’Pˆê’l‚Å‚·B
+ 片å´ãŒsetã‹bagã€ã‚‚ã†ç‰‡æ–¹ãŒå˜ä¸€å€¤ã§ã™ã€‚
@@ -800,7 +802,7 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
many-to-many
- —¼‘¤‚ªset‚©bag‚Å‚·B
+ 両å´ãŒsetã‹bagã§ã™ã€‚
@@ -809,15 +811,15 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
- 2‚‚̑½‘Α½ŠÖ˜A‚Å“¯‚¶ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ðƒ}ƒbƒsƒ“ƒO‚µA
- •Ð•û‚ð inverse ‚Æ‚µ‚Ä錾‚·‚邱‚Æ‚ÅA
- ‘o•ûŒü‚Ì‘½‘Α½ŠÖ˜A‚ðŽw’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·
- i‚Ç‚¿‚ç‚ðinverse‚É‘I‚ñ‚¾‚Æ‚µ‚Ä‚àA‚»‚¿‚瑤‚ɂ̓Cƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“‚ÍŽg‚¦‚Ü‚¹‚ñjB
+ 2ã¤ã®å¤šå¯¾å¤šé–¢é€£ã§åŒã˜ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ†ãƒ¼ãƒ–ルをマッピングã—ã€
+ 片方を inverse ã¨ã—ã¦å®£è¨€ã™ã‚‹ã“ã¨ã§ã€
+ åŒæ–¹å‘ã®å¤šå¯¾å¤šé–¢é€£ã‚’指定ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™
+ (ã©ã¡ã‚‰ã‚’inverseã«é¸ã‚“ã ã¨ã—ã¦ã‚‚ã€ãã¡ã‚‰å´ã«ã¯ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä»˜ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯ä½¿ãˆã¾ã›ã‚“)。
- ŽŸ‚É‘o•ûŒü‚Ì‘½‘Α½ŠÖ˜A‚Ì—á‚ðŽ¦‚µ‚Ü‚·B
- ŠeƒJƒeƒSƒŠ‚Í‘½”‚̃AƒCƒeƒ€‚ðŽ‚‚±‚Æ‚ª‚Å‚«AŠeƒAƒCƒeƒ€‚Í‘½‚‚̃JƒeƒSƒŠ‚É‘®‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+ 次ã«åŒæ–¹å‘ã®å¤šå¯¾å¤šé–¢é€£ã®ä¾‹ã‚’示ã—ã¾ã™ã€‚
+ å„カテゴリã¯å¤šæ•°ã®ã‚¢ã‚¤ãƒ†ãƒ ã‚’æŒã¤ã“ã¨ãŒã§ãã€å„アイテムã¯å¤šãã®ã‚«ãƒ†ã‚´ãƒªã«å±žã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
@@ -841,11 +843,11 @@ kittens = cat.getKittens(); // Okay, kittens collection is a Set
]]>
- ŠÖ˜A‚Ìinverse‘¤‚É‚Ì‚Ýs‚í‚ꂽ•ÏX‚͉i‘±‰» ‚³‚ê‚Ü‚¹‚ñB
- ‚±‚ê‚ÍAHibernate‚Í‘S‚Ä‚Ì‘o•ûŒüŠÖ˜A‚ɂ‚¢‚ÄAƒƒ‚ƒŠã‚É‚Q‚‚̕\Œ»‚ðŽ‚Á‚Ä‚¢‚é‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B
- ‚‚܂èˆê‚‚ÍA‚©‚çB‚ւ̃Šƒ“ƒN‚ÅA‚à‚¤ˆê‚‚ÍB‚©‚çA‚ւ̃Šƒ“ƒN‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- Java‚̃IƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚ɂ‚¢‚Äl‚¦AJava‚Å‘o•ûŒüŠÖŒW‚ð‚Ç‚¤‚â‚Á‚Äì‚é‚©‚ðl‚¦‚ê‚ÎA
- ‚±‚ê‚Í—‰ð‚µ‚â‚·‚¢‚Å‚·B‰º‹L‚ÉAJava‚Å‚Ì‘o•ûŒüŠÖ˜A‚ðŽ¦‚µ‚Ü‚·B
+ 関連ã®inverseå´ã«ã®ã¿è¡Œã‚ã‚ŒãŸå¤‰æ›´ã¯æ°¸ç¶šåŒ– ã•ã‚Œã¾ã›ã‚“。
+ ã“ã‚Œã¯ã€Hibernateã¯å…¨ã¦ã®åŒæ–¹å‘関連ã«ã¤ã„ã¦ã€ãƒ¡ãƒ¢ãƒªä¸Šã«ï¼’ã¤ã®è¡¨ç¾ã‚’æŒã£ã¦ã„ã‚‹ã¨ã„ã†æ„味ã§ã™ã€‚
+ ã¤ã¾ã‚Šä¸€ã¤ã¯Aã‹ã‚‰Bã¸ã®ãƒªãƒ³ã‚¯ã§ã€ã‚‚ã†ä¸€ã¤ã¯Bã‹ã‚‰Aã¸ã®ãƒªãƒ³ã‚¯ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ Javaã®ã‚ªãƒ–ジェクトモデルã«ã¤ã„ã¦è€ƒãˆã€Javaã§åŒæ–¹å‘関係をã©ã†ã‚„ã£ã¦ä½œã‚‹ã‹ã‚’考ãˆã‚Œã°ã€
+ ã“ã‚Œã¯ç†è§£ã—ã‚„ã™ã„ã§ã™ã€‚下記ã«ã€Javaã§ã®åŒæ–¹å‘関連を示ã—ã¾ã™ã€‚
- ŠÖ˜A‚Ìinverse‚Å‚Í‚È‚¢‘¤‚ÍAƒƒ‚ƒŠã‚Ì•\Œ»‚ðƒf[ƒ^ƒx[ƒX‚É•Û‘¶‚·‚é‚Ì‚ÉŽg‚í‚ê‚Ü‚·B
+ 関連ã®inverseã§ã¯ãªã„å´ã¯ã€ãƒ¡ãƒ¢ãƒªä¸Šã®è¡¨ç¾ã‚’データベースã«ä¿å˜ã™ã‚‹ã®ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
- ‘o•ûŒü‚̈ê‘Α½ŠÖ˜A‚ð’è‹`‚·‚é‚É‚ÍA
- ˆê‘Α½ŠÖ˜A‚𑽑ΈêŠÖ˜A‚Æ“¯‚¶ƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚µA
- ‘½‘¤‚É inverse="true" ‚Æ錾‚µ‚Ü‚·B
+ åŒæ–¹å‘ã®ä¸€å¯¾å¤šé–¢é€£ã‚’定義ã™ã‚‹ã«ã¯ã€
+ 一対多関連を多対一関連ã¨åŒã˜ãƒ†ãƒ¼ãƒ–ルã®ã‚«ãƒ©ãƒ ã«ãƒžãƒƒãƒ”ングã—ã€
+ 多å´ã« inverse="true" ã¨å®£è¨€ã—ã¾ã™ã€‚
@@ -884,19 +886,19 @@ session.persist(category); // The relationship will be saved]]>
]]>
- ŠÖ˜A‚̕Б¤‚É inverse="true" ‚ðݒ肵‚Ä‚àA
- ƒJƒXƒP[ƒh‘€ì‚ɉe‹¿‚ð—^‚¦‚Ü‚¹‚ñB‚±‚ê‚ç‚Í’¼Œð‚µ‚½ŠT”O‚Å‚·I
+ 関連ã®ç‰‡å´ã« inverse="true" ã‚’è¨å®šã—ã¦ã‚‚ã€
+ カスケードæ“作ã«å½±éŸ¿ã‚’与ãˆã¾ã›ã‚“。ã“れらã¯ç›´äº¤ã—ãŸæ¦‚念ã§ã™ï¼
- ƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“‚Æ‘o•ûŒüŠÖ˜A
+ インデックス付ãコレクションã¨åŒæ–¹å‘関連
- •Ð‘¤‚ª <list> ‚â <map> ‚Å‚ ‚é
- ‘o•ûŒüŠÖ˜A‚ÍA“Á‚É‚æ‚l‚¦‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ƒCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚Ƀ}ƒbƒv‚³‚ê‚éŽqƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚ª‚ ‚éꇂÍA–â‘è‚È‚¢‚Å‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Å inverse="true" ‚ðŽg‚¢‘±‚¯‚ç‚ê‚Ü‚·B
+ 片å´ãŒ <list> ã‚„ <map> ã§ã‚ã‚‹
+ åŒæ–¹å‘関連ã¯ã€ç‰¹ã«ã‚ˆã考ãˆã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ インデックスカラムã«ãƒžãƒƒãƒ—ã•ã‚Œã‚‹åクラスã®ãƒ—ãƒãƒ‘ティãŒã‚ã‚‹å ´åˆã¯ã€å•é¡Œãªã„ã§ã™ã€‚
+ コレクションã®ãƒžãƒƒãƒ”ング㧠inverse="true" を使ã„続ã‘られã¾ã™ã€‚
@@ -922,11 +924,11 @@ session.persist(category); // The relationship will be saved]]>]]>
- ‚µ‚©‚µAŽqƒNƒ‰ƒX‚É‚»‚̂悤‚ȃvƒƒpƒeƒB‚ª‚È‚¢ê‡‚ÍA
- ŠÖ˜A‚ð^‚É‘o•ûŒü‚Å‚ ‚é‚Æl‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚¹‚ñ
- iŠÖ˜A‚̕Б¤‚É—˜—p‚Å‚«‚éî•ñ‚ª‚ ‚è‚Ü‚·‚ªA‚à‚¤ˆê•û‚É‚Í‚ ‚è‚Ü‚¹‚ñjB
- ‚±‚ÌꇂÍAƒRƒŒƒNƒVƒ‡ƒ“‚É inverse="true" ‚ðƒ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚¹‚ñB
- ‘ã‚í‚è‚ÉAŽŸ‚̂悤‚ȃ}ƒbƒsƒ“ƒO‚ªŽg‚¦‚Ü‚·B
+ ã—ã‹ã—ã€åクラスã«ãã®ã‚ˆã†ãªãƒ—ãƒãƒ‘ティãŒãªã„å ´åˆã¯ã€
+ 関連を真ã«åŒæ–¹å‘ã§ã‚ã‚‹ã¨è€ƒãˆã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“
+ (関連ã®ç‰‡å´ã«åˆ©ç”¨ã§ãã‚‹æƒ…å ±ãŒã‚ã‚Šã¾ã™ãŒã€ã‚‚ã†ä¸€æ–¹ã«ã¯ã‚ã‚Šã¾ã›ã‚“)。
+ ã“ã®å ´åˆã¯ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã« inverse="true" をマッピングã§ãã¾ã›ã‚“。
+ 代ã‚ã‚Šã«ã€æ¬¡ã®ã‚ˆã†ãªãƒžãƒƒãƒ”ングãŒä½¿ãˆã¾ã™ã€‚
@@ -953,19 +955,19 @@ session.persist(category); // The relationship will be saved]]>]]>
- ’ˆÓF ‚±‚̃}ƒbƒsƒ“ƒO‚Å‚ÍAŠÖ˜A‚̃RƒŒƒNƒVƒ‡ƒ“’l‚Ì‘¤‚ÍA
- ŠO•”ƒL[‚ðƒAƒbƒvƒf[ƒg‚·‚éÓ”C‚ª‚ ‚è‚Ü‚·B
+ 注æ„: ã“ã®ãƒžãƒƒãƒ”ングã§ã¯ã€é–¢é€£ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³å€¤ã®å´ã¯ã€
+ 外部ã‚ーをアップデートã™ã‚‹è²¬ä»»ãŒã‚ã‚Šã¾ã™ã€‚
- 3€ŠÖ˜A
+ 3é …é–¢é€£
- 3€ŠÖ˜A‚̃}ƒbƒsƒ“ƒO‚É‚Í3‚‚̃Aƒvƒ[ƒ`‚ª‚ ‚è‚Ü‚·B
- 1‚–ڂ͊֘A‚ðƒCƒ“ƒfƒbƒNƒX‚Æ‚µ‚Ä Map ‚ðŽg—p‚·‚éƒAƒvƒ[ƒ`‚Å‚·B
+ 3é …é–¢é€£ã®ãƒžãƒƒãƒ”ングã«ã¯3ã¤ã®ã‚¢ãƒ—ãƒãƒ¼ãƒãŒã‚ã‚Šã¾ã™ã€‚
+ 1ã¤ç›®ã¯é–¢é€£ã‚’インデックスã¨ã—㦠Map を使用ã™ã‚‹ã‚¢ãƒ—ãƒãƒ¼ãƒã§ã™ã€‚
@@ -981,32 +983,32 @@ session.persist(category); // The relationship will be saved]]>]]>
- 2‚–ڂ͒Pƒ‚ÉŠÖ˜A‚ðƒGƒ“ƒeƒBƒeƒB¥ƒNƒ‰ƒX‚Æ‚µ‚ă‚ƒfƒ‹‚ðì‚è’¼‚·ƒAƒvƒ[ƒ`‚ÅA
- •p”É‚ÉŽg‚í‚ê‚Ü‚·B
+ 2ã¤ç›®ã¯å˜ç´”ã«é–¢é€£ã‚’エンティティ・クラスã¨ã—ã¦ãƒ¢ãƒ‡ãƒ«ã‚’作り直ã™ã‚¢ãƒ—ãƒãƒ¼ãƒã§ã€
+ é »ç¹ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
- ÅŒã‚Ícomposite—v‘f‚ðŽg‚¤ƒAƒvƒ[ƒ`‚Å‚·B‚±‚ê‚ÉŠÖ‚·‚é‹c˜_‚ÍŒã‚Ù‚Çs‚¢‚Ü‚·B
+ 最後ã¯compositeè¦ç´ を使ã†ã‚¢ãƒ—ãƒãƒ¼ãƒã§ã™ã€‚ã“ã‚Œã«é–¢ã™ã‚‹è°è«–ã¯å¾Œã»ã©è¡Œã„ã¾ã™ã€‚
- <idbag>‚ÌŽg—p
+ <idbag>ã®ä½¿ç”¨
- •¡‡ƒL[‚͈«‚¢‚à‚Ì‚ÅAƒGƒ“ƒeƒBƒeƒB‚ÍlH‚ÌŽ¯•ÊŽq(‘ã—ƒL[)‚ðŽ‚‚ׂ«‚Å‚ ‚é‚Æ‚¢‚¤l‚¦•û‚©‚ç‚ÍA
- ‘½‘Α½ŠÖ˜A‚Æ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚𕡇ƒL[‚ð—p‚¢‚½ƒe[ƒuƒ‹‚Öƒ}ƒbƒsƒ“ƒO‚·‚é‚Ì‚Í‚µŠï–‚ÉŠ´‚¶‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñI
- Šm‚©‚É‚±‚Ìl‚¦•û‚É‚Í‹c˜_‚Ì—]’n‚ª‚ ‚è‚Ü‚·B
- ƒˆ‚ÈŠÖ˜Aƒe[ƒuƒ‹‚Í‘ã—ƒL[‚ðŽg‚Á‚Ä‚à—˜‰v‚𓾂ç‚ê‚È‚¢‚悤‚ÉŽv‚¦‚é‚©‚ç‚Å‚·
- i‡¬’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Í—˜‰v‚ª‚ ‚é ‚©‚à ‚µ‚ê‚Ü‚¹‚ñ‚ªjB
- ‚Æ‚Í‚¢‚¦AHibernate‚Í‘ã—ƒL[‚ðŽ‚ƒe[ƒuƒ‹‚Ö‘½‘Α½ŠÖ˜A‚Æ’l‚̃RƒŒƒNƒVƒ‡ƒ“‚ð
- ƒ}ƒbƒsƒ“ƒO‚·‚é‹@”\‚à”õ‚¦‚Ä‚¢‚Ü‚·B
+ 複åˆã‚ーã¯æ‚ªã„ã‚‚ã®ã§ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯äººå·¥ã®è˜åˆ¥å(代ç†ã‚ー)ã‚’æŒã¤ã¹ãã§ã‚ã‚‹ã¨ã„ã†è€ƒãˆæ–¹ã‹ã‚‰ã¯ã€
+ 多対多関連ã¨å€¤ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’複åˆã‚ーを用ã„ãŸãƒ†ãƒ¼ãƒ–ルã¸ãƒžãƒƒãƒ”ングã™ã‚‹ã®ã¯å°‘ã—奇妙ã«æ„Ÿã˜ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ï¼
+ 確ã‹ã«ã“ã®è€ƒãˆæ–¹ã«ã¯è°è«–ã®ä½™åœ°ãŒã‚ã‚Šã¾ã™ã€‚
+ 純粋ãªé–¢é€£ãƒ†ãƒ¼ãƒ–ルã¯ä»£ç†ã‚ーを使ã£ã¦ã‚‚利益を得られãªã„よã†ã«æ€ãˆã‚‹ã‹ã‚‰ã§ã™
+ (åˆæˆå€¤ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯åˆ©ç›ŠãŒã‚ã‚‹ ã‹ã‚‚ ã—ã‚Œã¾ã›ã‚“ãŒï¼‰ã€‚
+ ã¨ã¯ã„ãˆã€Hibernateã¯ä»£ç†ã‚ーをæŒã¤ãƒ†ãƒ¼ãƒ–ルã¸å¤šå¯¾å¤šé–¢é€£ã¨å€¤ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ マッピングã™ã‚‹æ©Ÿèƒ½ã‚‚å‚™ãˆã¦ã„ã¾ã™ã€‚
- bag‚̃Zƒ}ƒ“ƒeƒBƒbƒNƒX‚ðŽ‚Á‚½ Listi‚Ü‚½‚Í Collectionj‚ð
- <idbag> —v‘f‚Ƀ}ƒbƒsƒ“ƒO‚Å‚«‚Ü‚·B
+ bagã®ã‚»ãƒžãƒ³ãƒ†ã‚£ãƒƒã‚¯ã‚¹ã‚’æŒã£ãŸ List(ã¾ãŸã¯ Collection)を
+ <idbag> è¦ç´ ã«ãƒžãƒƒãƒ”ングã§ãã¾ã™ã€‚
@@ -1018,22 +1020,22 @@ session.persist(category); // The relationship will be saved]]>]]>
- ‚²‘¶’m‚̂悤‚É <idbag> ‚̓Gƒ“ƒeƒBƒeƒB¥ƒNƒ‰ƒX‚̂悤‚É
- lH“I‚ÈidƒWƒFƒlƒŒ[ƒ^‚ðŽ‚Á‚Ä‚¢‚Ü‚·I
- ˆÙ‚È‚é‘ã—ƒL[‚ð‚»‚ê‚¼‚ê‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì—ñ‚ÉŠ„‚è“–‚Ä‚Ü‚·B
- ‚µ‚©‚µ‚È‚ª‚çAHibernate‚Í‚ ‚és‚Ì‘ã—ƒL[‚Ì’l‚ðŒ©‚Â‚¯o‚·‹@\‚ðŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
+ ã”å˜çŸ¥ã®ã‚ˆã†ã« <idbag> ã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ï½¥ã‚¯ãƒ©ã‚¹ã®ã‚ˆã†ã«
+ 人工的ãªidジェãƒãƒ¬ãƒ¼ã‚¿ã‚’æŒã£ã¦ã„ã¾ã™ï¼
+ ç•°ãªã‚‹ä»£ç†ã‚ーをãã‚Œãžã‚Œã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®åˆ—ã«å‰²ã‚Šå½“ã¦ã¾ã™ã€‚
+ ã—ã‹ã—ãªãŒã‚‰ã€Hibernateã¯ã‚ã‚‹è¡Œã®ä»£ç†ã‚ーã®å€¤ã‚’見ã¤ã‘出ã™æ©Ÿæ§‹ã‚’æŒã£ã¦ã„ã¾ã›ã‚“。
- <idbag> ‚ðXV‚·‚éƒpƒtƒH[ƒ}ƒ“ƒX‚Í
- ’Êí‚Ì <bag> ‚æ‚è‚à—Ç‚¢‚±‚Æ‚É’–Ú‚µ‚Ä‚‚¾‚³‚¢I
- Hibernate‚ÍŒÂX‚Ìs‚ðŒø‰Ê“I‚ÉŒ©‚‚¯‚邱‚Æ‚ª‚Å‚«A
- list‚âmapAset‚̂悤‚Ɍ•ʂɂ»‚Ìs‚ðXVA휂ł«‚Ü‚·B
+ <idbag> ã‚’æ›´æ–°ã™ã‚‹ãƒ‘フォーマンスã¯
+ 通常㮠<bag> よりも良ã„ã“ã¨ã«æ³¨ç›®ã—ã¦ãã ã•ã„ï¼
+ Hibernateã¯å€‹ã€…ã®è¡Œã‚’効果的ã«è¦‹ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã€
+ listã‚„mapã€setã®ã‚ˆã†ã«å€‹åˆ¥ã«ãã®è¡Œã‚’æ›´æ–°ã€å‰Šé™¤ã§ãã¾ã™ã€‚
- Œ»Ý‚ÌŽÀ‘•‚Å‚ÍAnative ‚Æ‚¢‚¤id¶¬í—ª‚ð
- <idbag> ƒRƒŒƒNƒVƒ‡ƒ“‚ÌŽ¯•ÊŽq‚ɑ΂µ‚ÄŽg‚¦‚Ü‚¹‚ñB
+ ç¾åœ¨ã®å®Ÿè£…ã§ã¯ã€native ã¨ã„ã†id生æˆæˆ¦ç•¥ã‚’
+ <idbag> コレクションã®è˜åˆ¥åã«å¯¾ã—ã¦ä½¿ãˆã¾ã›ã‚“。
@@ -1055,10 +1057,10 @@ session.persist(category); // The relationship will be saved]]>
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—á
+ コレクションã®ä¾‹
- ‚±‚ê‚Ü‚Å‚Ìß‚Ìà–¾‚Å‚Í—‰ð‚µ‚É‚‚¢‚Ì‚ÅAˆÈ‰º‚Ì—á‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ ã“ã‚Œã¾ã§ã®ç¯€ã®èª¬æ˜Žã§ã¯ç†è§£ã—ã«ãã„ã®ã§ã€ä»¥ä¸‹ã®ä¾‹ã‚’見ã¦ãã ã•ã„。
- ‚±‚̃Nƒ‰ƒX‚Í Child ƒCƒ“ƒXƒ^ƒ“ƒX‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
- ‚à‚µŠeX‚Ìchild‚ªÅ‘å‚Å‚àˆê‚‚Ìparent‚ðŽ‚Á‚Ä‚¢‚é‚È‚ç‚ÎAÅ‚àŽ©‘R‚ȃ}ƒbƒsƒ“ƒO‚͈ê‘Α½ŠÖ˜A‚Å‚·B
+ ã“ã®ã‚¯ãƒ©ã‚¹ã¯ Child インスタンスã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’æŒã£ã¦ã„ã¾ã™ã€‚
+ ã‚‚ã—å„々ã®childãŒæœ€å¤§ã§ã‚‚一ã¤ã®parentã‚’æŒã£ã¦ã„ã‚‹ãªã‚‰ã°ã€æœ€ã‚‚自然ãªãƒžãƒƒãƒ”ングã¯ä¸€å¯¾å¤šé–¢é€£ã§ã™ã€‚
@@ -1105,7 +1107,7 @@ public class Parent {
]]>
- ‚±‚ê‚͈ȉº‚̃e[ƒuƒ‹’è‹`‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
+ ã“ã‚Œã¯ä»¥ä¸‹ã®ãƒ†ãƒ¼ãƒ–ル定義ã«ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
- ‚à‚µparent‚ª —v‹ ‚³‚ê‚é‚È‚çA‘o•ûŒü‚̈ê‘Α½ŠÖ˜A‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B
+ ã‚‚ã—parent㌠è¦æ±‚ ã•ã‚Œã‚‹ãªã‚‰ã€åŒæ–¹å‘ã®ä¸€å¯¾å¤šé–¢é€£ã‚’使用ã—ã¦ãã ã•ã„。
@@ -1139,7 +1141,7 @@ alter table child add constraint childfk0 (parent_id) references parent]]>]]>
- NOT NULL §–ñ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ NOT NULL 制約ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ‚ ‚é‚¢‚ÍA‚à‚µ‚±‚ÌŠÖ˜A‚Í’P•ûŒü‚Å‚ ‚é‚ׂ«‚Æ‹‚Žå’£‚·‚é‚Ì‚Å‚ ‚ê‚ÎA
- <key> ‚É NOT NULL §–ñ‚ð錾‚Å‚«‚Ü‚·B
+ ã‚ã‚‹ã„ã¯ã€ã‚‚ã—ã“ã®é–¢é€£ã¯å˜æ–¹å‘ã§ã‚ã‚‹ã¹ãã¨å¼·ã主張ã™ã‚‹ã®ã§ã‚ã‚Œã°ã€
+ <key> ã« NOT NULL 制約を宣言ã§ãã¾ã™ã€‚
@@ -1176,7 +1178,7 @@ alter table child add constraint childfk0 (parent_id) references parent]]>]]>
- ˆê•û‚ÅA‚à‚µchild‚ª•¡”‚Ìparent‚ðŽ‚Ä‚é‚È‚ç‚ÎA‘½‘Α½ŠÖ˜A‚ª‘Ó–‚Å‚·B
+ 一方ã§ã€ã‚‚ã—childãŒè¤‡æ•°ã®parentã‚’æŒã¦ã‚‹ãªã‚‰ã°ã€å¤šå¯¾å¤šé–¢é€£ãŒå¦¥å½“ã§ã™ã€‚
@@ -1201,7 +1203,7 @@ alter table child add constraint childfk0 (parent_id) references parent]]>]]>
- ƒe[ƒuƒ‹’è‹`‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B
+ テーブル定義ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
- parent/childŠÖŒW‚̃}ƒbƒsƒ“ƒO‚ɂ‚¢‚Ä‚Ì‚æ‚葽‚‚Ì—á‚⊮‘S‚Ȏ臂ª•K—v‚Å‚ ‚ê‚ÎA
- ‚ð‚²——‚‚¾‚³‚¢B
+ parent/child関係ã®ãƒžãƒƒãƒ”ングã«ã¤ã„ã¦ã®ã‚ˆã‚Šå¤šãã®ä¾‹ã‚„完全ãªæ‰‹é †ãŒå¿…è¦ã§ã‚ã‚Œã°ã€
+ ã‚’ã”覧ãã ã•ã„。
- ‚Ü‚½A‚³‚ç‚É“ÁŽê‚ÈŠÖ˜Aƒ}ƒbƒsƒ“ƒO‚à‰Â”\‚Å‚·BŽŸ‚ÌÍ‚ÅÚ‚µ‚q‚ׂ܂·B
+ ã¾ãŸã€ã•ã‚‰ã«ç‰¹æ®Šãªé–¢é€£ãƒžãƒƒãƒ”ングもå¯èƒ½ã§ã™ã€‚次ã®ç« ã§è©³ã—ãè¿°ã¹ã¾ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml b/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml
index eb59be70a0..96b3f8a55c 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/component_mapping.xml
@@ -1,20 +1,22 @@
-
+
+
+
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚̃}ƒbƒsƒ“ƒO
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®ãƒžãƒƒãƒ”ング
- ƒRƒ“ƒ|[ƒlƒ“ƒg ‚ÌŠT”O‚ÍAHibernate‚ð’Ê‚µ‚Ä—lX‚È󋵂̒†‚Å
- ˆÙ‚È‚é–Ú“I‚Ì‚½‚ß‚ÉÄ—˜—p‚³‚ê‚Ü‚·B
+ コンãƒãƒ¼ãƒãƒ³ãƒˆ ã®æ¦‚念ã¯ã€Hibernateを通ã—ã¦æ§˜ã€…ãªçŠ¶æ³ã®ä¸ã§
+ ç•°ãªã‚‹ç›®çš„ã®ãŸã‚ã«å†åˆ©ç”¨ã•ã‚Œã¾ã™ã€‚
- ˆË‘¶ƒIƒuƒWƒFƒNƒg
+ ä¾å˜ã‚ªãƒ–ジェクト
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚ÍAƒGƒ“ƒeƒBƒeƒB‚ÌŽQÆ‚Å‚Í‚È‚’lŒ^‚Æ‚µ‚ĉi‘±‰»‚³‚ꂽA
- •ïŠÜ‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Å‚·BƒRƒ“ƒ|[ƒlƒ“ƒg‚Æ‚¢‚¤Œ¾—t‚ɂ‚¢‚Ä‚ÍAƒRƒ“ƒ|ƒWƒVƒ‡ƒ“‚Æ‚¢‚¤
- ƒIƒuƒWƒFƒNƒgŽwŒü‚ÌŠT”O‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢iƒA[ƒLƒeƒNƒ`ƒƒƒŒƒxƒ‹‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚Å‚Í‚ ‚è‚Ü‚¹‚ñjB
- —Ⴆ‚ÎAˆÈ‰º‚ÌPersonƒ‚ƒfƒ‹‚̂悤‚È‚à‚Ì‚Å‚·B
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã¯ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®å‚ç…§ã§ã¯ãªã値型ã¨ã—ã¦æ°¸ç¶šåŒ–ã•ã‚ŒãŸã€
+ 包å«ã•ã‚ŒãŸã‚ªãƒ–ジェクトã§ã™ã€‚コンãƒãƒ¼ãƒãƒ³ãƒˆã¨ã„ã†è¨€è‘‰ã«ã¤ã„ã¦ã¯ã€ã‚³ãƒ³ãƒã‚¸ã‚·ãƒ§ãƒ³ã¨ã„ã†
+ オブジェクト指å‘ã®æ¦‚念をå‚ç…§ã—ã¦ãã ã•ã„(アーã‚テクãƒãƒ£ãƒ¬ãƒ™ãƒ«ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã§ã¯ã‚ã‚Šã¾ã›ã‚“)。
+ 例ãˆã°ã€ä»¥ä¸‹ã®Personモデルã®ã‚ˆã†ãªã‚‚ã®ã§ã™ã€‚
- ‚¢‚ÜAName ‚Í Person ‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚Æ‚µ‚Ä
- ‰i‘±‰»‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B‚±‚±‚Å Name ‚͉i‘±‰»‘®«‚ɑ΂µ‚ÄgetterA
- setterƒƒ\ƒbƒh‚ð’è‹`‚µ‚Ü‚·‚ªAƒCƒ“ƒ^[ƒtƒFƒCƒX‚⎯•ÊŽqƒvƒƒpƒeƒB‚ð’è‹`‚·‚é•K—v‚ª
- ‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚ĉº‚³‚¢B
+ ã„ã¾ã€Name 㯠Person ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã¨ã—ã¦
+ 永続化ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ã“ã“㧠Name ã¯æ°¸ç¶šåŒ–属性ã«å¯¾ã—ã¦getterã€
+ setterメソッドを定義ã—ã¾ã™ãŒã€ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚„è˜åˆ¥åプãƒãƒ‘ティを定義ã™ã‚‹å¿…è¦ãŒ
+ ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ä¸‹ã•ã„。
- ƒ}ƒbƒsƒ“ƒO’è‹`‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B
+ マッピング定義ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
@@ -91,33 +93,33 @@
]]>
- Personƒe[ƒuƒ‹‚Í pidA
- birthdayA
- initialA
- firstA
- last ƒJƒ‰ƒ€‚ðŽ‚¿‚Ü‚·B
+ Personテーブル㯠pidã€
+ birthdayã€
+ initialã€
+ firstã€
+ last カラムをæŒã¡ã¾ã™ã€‚
- ‘S‚Ä‚Ì’lŒ^‚̂悤‚ÉAƒRƒ“ƒ|[ƒlƒ“ƒg‚ÍŽQÆ‚Ì‹¤—L‚ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB
- Œ¾‚¢Š·‚¦‚é‚ÆA“ñl‚ÌPerson‚Í“¯‚¶–¼‘O‚ðŽ‚‚±‚Æ‚ª‚Å‚«‚Ü‚·‚ªA“ñ‚‚ÌPersonƒIƒuƒWƒFƒNƒg‚Í
- "’l‚ª“¯‚¶‚¾‚¯"‚Ì•ÊX‚ÌnameƒIƒuƒWƒFƒNƒg‚ðŠÜ‚ñ‚Å‚¢‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ìnull’l‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Í ƒAƒhƒzƒbƒN ‚Å‚·B
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚̃IƒuƒWƒFƒNƒg‚ðÄ“Ç‚Ýž‚Ý‚·‚éÛAHibernate‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚Ì‚·‚ׂẴJƒ‰ƒ€‚ª
- null‚Å‚ ‚é‚È‚çƒRƒ“ƒ|[ƒlƒ“ƒgŽ©‘Ì‚ªnull‚Å‚ ‚é‚Æl‚¦‚Ü‚·B
- ‚±‚ê‚Í‘å’ï‚Ìꇖâ‘è‚ ‚è‚Ü‚¹‚ñB
+ å…¨ã¦ã®å€¤åž‹ã®ã‚ˆã†ã«ã€ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã¯å‚ç…§ã®å…±æœ‰ã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã›ã‚“。
+ 言ã„æ›ãˆã‚‹ã¨ã€äºŒäººã®Personã¯åŒã˜åå‰ã‚’æŒã¤ã“ã¨ãŒã§ãã¾ã™ãŒã€äºŒã¤ã®Personオブジェクトã¯
+ "値ãŒåŒã˜ã ã‘"ã®åˆ¥ã€…ã®nameオブジェクトをå«ã‚“ã§ã„ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®null値ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã¯ アドホック ã§ã™ã€‚
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®ã‚ªãƒ–ジェクトをå†èªã¿è¾¼ã¿ã™ã‚‹éš›ã€Hibernateã¯ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ã™ã¹ã¦ã®ã‚«ãƒ©ãƒ ãŒ
+ nullã§ã‚ã‚‹ãªã‚‰ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆè‡ªä½“ãŒnullã§ã‚ã‚‹ã¨è€ƒãˆã¾ã™ã€‚
+ ã“ã‚Œã¯å¤§æŠµã®å ´åˆå•é¡Œã‚ã‚Šã¾ã›ã‚“。
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì‘®«‚Í‚Ç‚ñ‚ÈHibernate‚ÌŒ^‚Å‚à\‚¢‚Ü‚¹‚ñiƒRƒŒƒNƒVƒ‡ƒ“Amany-to-oneŠÖ˜AA
- ‘¼‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚È‚ÇjBƒlƒXƒg‚³‚ꂽƒRƒ“ƒ|[ƒlƒ“ƒg‚Í–Å‘½‚ÉŽg‚í‚È‚¢‚Æl‚¦‚é‚ׂ«‚Å‚Í
- ‚ ‚è‚Ü‚¹‚ñ BHibernate‚Í”ñí‚É‚«‚ß‚Ìׂ©‚¢ƒIƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚ðƒTƒ|[ƒg‚·‚é‚悤‚ɈÓ}‚³‚ê‚Ä‚¢‚Ü‚·B
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã®å±žæ€§ã¯ã©ã‚“ãªHibernateã®åž‹ã§ã‚‚構ã„ã¾ã›ã‚“(コレクションã€many-to-one関連ã€
+ ä»–ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãªã©ï¼‰ã€‚ãƒã‚¹ãƒˆã•ã‚ŒãŸã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã¯æ»…多ã«ä½¿ã‚ãªã„ã¨è€ƒãˆã‚‹ã¹ãã§ã¯
+ ã‚ã‚Šã¾ã›ã‚“ 。Hibernateã¯éžå¸¸ã«ãã‚ã®ç´°ã‹ã„オブジェクトモデルをサãƒãƒ¼ãƒˆã™ã‚‹ã‚ˆã†ã«æ„図ã•ã‚Œã¦ã„ã¾ã™ã€‚
- <component> —v‘f‚ÍeƒGƒ“ƒeƒBƒeƒB‚Ö‚Ì‹tŽQÆ‚Æ‚µ‚ÄAƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚Ì
- ‘®«‚ðƒ}ƒbƒsƒ“ƒO‚·‚é <parent> ƒTƒu—v‘f‚ðŽg—p‚Å‚«‚Ü‚·B
+ <component> è¦ç´ ã¯è¦ªã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®é€†å‚ç…§ã¨ã—ã¦ã€ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã®
+ 属性をマッピングã™ã‚‹ <parent> サブè¦ç´ を使用ã§ãã¾ã™ã€‚
@@ -137,12 +139,12 @@
- ]‘®‚·‚éƒIƒuƒWƒFƒNƒg‚̃RƒŒƒNƒVƒ‡ƒ“
+ 従属ã™ã‚‹ã‚ªãƒ–ジェクトã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³
- Hibernate‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·i—Ⴆ‚Î Name Œ^‚Ì”z—ñjB
- <element> ƒ^ƒO‚ð <composite-element> ƒ^ƒO‚ÉŽæ‚è‘Ö‚¦‚邱‚Æ‚É‚æ‚è
- ƒRƒ“ƒ|[ƒlƒ“ƒgƒRƒŒƒNƒVƒ‡ƒ“‚ð錾‚µ‚Ä‚‚¾‚³‚¢B
+ Hibernateã¯ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ï¼ˆä¾‹ãˆã° Name åž‹ã®é…列)。
+ <element> ã‚¿ã‚°ã‚’ <composite-element> ã‚¿ã‚°ã«å–り替ãˆã‚‹ã“ã¨ã«ã‚ˆã‚Š
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’宣言ã—ã¦ãã ã•ã„。
@@ -155,35 +157,35 @@
]]>
- ’ˆÓ: ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Ì Set ‚ð’è‹`‚µ‚½‚È‚çA
- equals() ‚Æ hashCode() ‚𳂵‚ŽÀ‘•‚·‚邱‚Æ‚ªd—v‚Å‚·B
+ 注æ„: コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã® Set を定義ã—ãŸãªã‚‰ã€
+ equals() 㨠hashCode() ã‚’æ£ã—ã実装ã™ã‚‹ã“ã¨ãŒé‡è¦ã§ã™ã€‚
- ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚̓RƒŒƒNƒVƒ‡ƒ“‚ðŠÜ‚Ü‚¸AƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŠÜ‚Þ‚±‚Æ‚à‚ ‚è‚Ü‚·B
- ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒgŽ©g‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŠÜ‚ñ‚Å‚¢‚éê‡‚Í <nested-composite-element> ‚ð
- Žg—p‚µ‚Ä‚‚¾‚³‚¢BƒRƒ“ƒ|[ƒlƒ“ƒg‚̃RƒŒƒNƒVƒ‡ƒ“Ž©g‚ªƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŽ‚‚Ƃ¢‚¤ƒP[ƒX‚Í‚ß‚Á‚½‚É‚ ‚è‚Ü‚¹‚ñB
- ‚±‚Ì’iŠK‚Ü‚Å‚ÉAone-to-manyŠÖ˜A‚Ì•û‚ª‚æ‚è“KØ‚Å‚È‚¢‚©‚Ænl‚µ‚Ä‚‚¾‚³‚¢B
- ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚ðƒGƒ“ƒeƒBƒeƒB‚Æ‚µ‚ÄÄ“xƒ‚ƒfƒŠƒ“ƒO‚µ‚Ä‚Ý‚Ä‚‚¾‚³‚¢B
- ‚µ‚©‚µ‚±‚ê‚ÍJava‚̃‚ƒfƒ‹‚Æ‚µ‚Ä‚Í“¯‚¶‚Å‚·‚ªAƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ‚ƒfƒ‹‚Ɖi‘±“®ì‚Í‚Ü‚¾ŽáŠ±ˆÙ‚Ȃ邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’å«ã¾ãšã€ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’å«ã‚€ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚
+ コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆè‡ªèº«ãŒã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’å«ã‚“ã§ã„ã‚‹å ´åˆã¯ <nested-composite-element> ã‚’
+ 使用ã—ã¦ãã ã•ã„。コンãƒãƒ¼ãƒãƒ³ãƒˆã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³è‡ªèº«ãŒã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’æŒã¤ã¨ã„ã†ã‚±ãƒ¼ã‚¹ã¯ã‚ã£ãŸã«ã‚ã‚Šã¾ã›ã‚“。
+ ã“ã®æ®µéšŽã¾ã§ã«ã€one-to-many関連ã®æ–¹ãŒã‚ˆã‚Šé©åˆ‡ã§ãªã„ã‹ã¨ç†Ÿè€ƒã—ã¦ãã ã•ã„。
+ コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã‚’エンティティã¨ã—ã¦å†åº¦ãƒ¢ãƒ‡ãƒªãƒ³ã‚°ã—ã¦ã¿ã¦ãã ã•ã„。
+ ã—ã‹ã—ã“ã‚Œã¯Javaã®ãƒ¢ãƒ‡ãƒ«ã¨ã—ã¦ã¯åŒã˜ã§ã™ãŒã€ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ãƒ¢ãƒ‡ãƒ«ã¨æ°¸ç¶šå‹•ä½œã¯ã¾ã 若干異ãªã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ‚à‚µ <set> ‚ðŽg—p‚·‚é‚Ì‚Å‚ ‚ê‚ÎAƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚̃}ƒbƒsƒ“ƒO‚ªnull’l‚ª‰Â”\‚È
- ‘®«‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢BHibernate‚̓IƒuƒWƒFƒNƒg‚ð휂·‚é‚Æ‚«A
- ƒŒƒR[ƒh‚ðŽ¯•Ê‚·‚邽‚ß‚É‚»‚ꂼ‚ê‚̃Jƒ‰ƒ€‚Ì’l‚ðŽg—p‚·‚é•K—v‚ª‚ ‚邽‚ßAnull’l‚ðŽ‚‚±‚Æ‚ªo—ˆ‚Ü‚¹‚ñ
- iƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒgƒe[ƒuƒ‹‚É‚Í•Ê‚ÌŽåƒL[ƒJƒ‰ƒ€‚Í‚ ‚è‚Ü‚¹‚ñjB
- ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Énot-null‚Ì‘®«‚Ì‚Ý‚ðŽg—p‚·‚é‚©A‚Ü‚½‚Í <list>A<map>A
- <bag>A<idbag> ‚ð‘I‘ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+ ã‚‚ã— <set> を使用ã™ã‚‹ã®ã§ã‚ã‚Œã°ã€ã‚³ãƒ³ãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã®ãƒžãƒƒãƒ”ングãŒnull値ãŒå¯èƒ½ãª
+ 属性をサãƒãƒ¼ãƒˆã—ã¦ã„ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。Hibernateã¯ã‚ªãƒ–ジェクトを削除ã™ã‚‹ã¨ãã€
+ レコードをè˜åˆ¥ã™ã‚‹ãŸã‚ã«ãã‚Œãžã‚Œã®ã‚«ãƒ©ãƒ ã®å€¤ã‚’使用ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŸã‚ã€null値をæŒã¤ã“ã¨ãŒå‡ºæ¥ã¾ã›ã‚“
+ (コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆãƒ†ãƒ¼ãƒ–ルã«ã¯åˆ¥ã®ä¸»ã‚ーカラムã¯ã‚ã‚Šã¾ã›ã‚“)。
+ コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã«not-nullã®å±žæ€§ã®ã¿ã‚’使用ã™ã‚‹ã‹ã€ã¾ãŸã¯ <list>ã€<map>ã€
+ <bag>ã€<idbag> ã‚’é¸æŠžã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
- ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Ì“Á•Ê‚ȃP[ƒX‚Æ‚µ‚ÄAƒlƒXƒg‚³‚ꂽ <many-to-one> ‘®«‚ðŽ‚Â
- ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚ª‚ ‚è‚Ü‚·B
- ‚±‚̃}ƒbƒsƒ“ƒO‚ÍAƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒgƒNƒ‰ƒX‚𑽑Α½ŠÖ˜Aƒe[ƒuƒ‹‚Ì
- —]•ª‚ȃJƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- ŽŸ‚Ì—á‚Í Order ‚©‚çAItem ‚Ö‚Ì‘½‘Α½ŠÖ˜A‚Å‚·B
- purchaseDateApriceAquantity ‚ÍŠÖ˜A‚Ì‘®«‚Æ‚È‚è‚Ü‚·B
+ コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã®ç‰¹åˆ¥ãªã‚±ãƒ¼ã‚¹ã¨ã—ã¦ã€ãƒã‚¹ãƒˆã•ã‚ŒãŸ <many-to-one> 属性をæŒã¤
+ コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã®ãƒžãƒƒãƒ”ングã¯ã€ã‚³ãƒ³ãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã‚’多対多関連テーブルã®
+ 余分ãªã‚«ãƒ©ãƒ ã¸ãƒžãƒƒãƒ”ングã—ã¾ã™ã€‚
+ 次ã®ä¾‹ã¯ Order ã‹ã‚‰ã€Item ã¸ã®å¤šå¯¾å¤šé–¢é€£ã§ã™ã€‚
+ purchaseDateã€priceã€quantity ã¯é–¢é€£ã®å±žæ€§ã¨ãªã‚Šã¾ã™ã€‚
@@ -200,14 +202,14 @@
]]>
- ‚à‚¿‚ë‚ñA‘o•ûŒüŠÖ˜A‚̃iƒrƒQ[ƒVƒ‡ƒ“‚Ì‚½‚ß‚É”½‘Α¤‚©‚çpurchase‚Ö‚ÌŽQÆ‚ðì‚邱‚Æ‚Ío—ˆ‚Ü‚¹‚ñB
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚Í’lŒ^‚Å‚ ‚èAŽQÆ‚ð‹¤—L‚Å‚«‚È‚¢‚±‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚‚¾‚³‚¢B
- ˆê‚Â‚Ì Purchase ‚͈ê‚Â‚Ì Order ‚Ìset‚É‘¶Ý‚Å‚«‚Ü‚·‚ªA
- “¯Žž‚É Item ‚©‚çŽQÆ‚·‚邱‚Æ‚Ío—ˆ‚Ü‚¹‚ñB
+ ã‚‚ã¡ã‚ã‚“ã€åŒæ–¹å‘関連ã®ãƒŠãƒ“ゲーションã®ãŸã‚ã«å対å´ã‹ã‚‰purchaseã¸ã®å‚照を作るã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“。
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã¯å€¤åž‹ã§ã‚ã‚Šã€å‚照を共有ã§ããªã„ã“ã¨ã‚’覚ãˆã¦ãŠã„ã¦ãã ã•ã„。
+ 一ã¤ã® Purchase ã¯ä¸€ã¤ã® Order ã®setã«å˜åœ¨ã§ãã¾ã™ãŒã€
+ åŒæ™‚ã« Item ã‹ã‚‰å‚ç…§ã™ã‚‹ã“ã¨ã¯å‡ºæ¥ã¾ã›ã‚“。
- 3€ŠÖ˜Ai‚ ‚é‚¢‚Í4€‚È‚Çj‚à‰Â”\‚Å‚·B
+ 3é …é–¢é€£ï¼ˆã‚ã‚‹ã„ã¯4é …ãªã©ï¼‰ã‚‚å¯èƒ½ã§ã™ã€‚
@@ -222,61 +224,61 @@
]]>
- ƒRƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg‚Í‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŠÖ˜A‚Æ‚µ‚ÄA
- “¯‚¶ƒVƒ“ƒ^ƒbƒNƒX‚ðŽg‚Á‚Ä‚¢‚éƒNƒGƒŠ“à‚ÅŽg—p‚Å‚«‚Ü‚·B
+ コンãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã¯ä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®é–¢é€£ã¨ã—ã¦ã€
+ åŒã˜ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã‚’使ã£ã¦ã„るクエリ内ã§ä½¿ç”¨ã§ãã¾ã™ã€‚
- Map‚̃Cƒ“ƒfƒbƒNƒX‚Æ‚µ‚ẴRƒ“ƒ|[ƒlƒ“ƒg
+ Mapã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã¨ã—ã¦ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ
- <composite-map-key> —v‘f‚Í Map ‚̃L[‚Æ‚µ‚ăRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚ð
- ƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·BƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒXã‚Å hashCode() ‚Æ equals()
- ‚ð³Šm‚ɃI[ƒo[ƒ‰ƒCƒh‚µ‚Ä‚‚¾‚³‚¢B
+ <composite-map-key> è¦ç´ 㯠Map ã®ã‚ーã¨ã—ã¦ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã‚’
+ マッピングã—ã¾ã™ã€‚コンãƒãƒ¼ãƒãƒ³ãƒˆã‚¯ãƒ©ã‚¹ä¸Šã§ hashCode() 㨠equals()
+ ã‚’æ£ç¢ºã«ã‚ªãƒ¼ãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¦ãã ã•ã„。
- •¡‡Ž¯•ÊŽq‚Æ‚µ‚ẴRƒ“ƒ|[ƒlƒ“ƒg
+ 複åˆè˜åˆ¥åã¨ã—ã¦ã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆ
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚ðƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ÌŽ¯•ÊŽq‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ƒRƒ“ƒ|[ƒlƒ“ƒgƒNƒ‰ƒX‚͈ȉº‚ÌðŒ‚ð–ž‚½‚·•K—v‚ª‚ ‚è‚Ü‚·B
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’エンティティクラスã®è˜åˆ¥åã¨ã—ã¦ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã‚¯ãƒ©ã‚¹ã¯ä»¥ä¸‹ã®æ¡ä»¶ã‚’満ãŸã™å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
- java.io.Serializable ‚ðŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ java.io.Serializable を実装ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ƒf[ƒ^ƒx[ƒXã‚Ì•¡‡ƒL[‚Ì“™‰¿«‚Æ–µ‚‚Ì‚È‚¢‚悤‚ÉAequals()
- ‚Æ hashCode() ‚ðÄŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ データベース上ã®è¤‡åˆã‚ーã®ç‰ä¾¡æ€§ã¨çŸ›ç›¾ã®ãªã„よã†ã«ã€equals()
+ 㨠hashCode() ã‚’å†å®Ÿè£…ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ’ˆÓ: Hibernate3‚É‚¨‚¢‚ÄA2”Ô–Ú‚ÌðŒ‚Íâ‘ΓI‚ÈðŒ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚µ‚©‚µ‚Æ‚É‚©‚ðŒ‚ð–ž‚½‚µ‚Ä‚‚¾‚³‚¢B
+ 注æ„: Hibernate3ã«ãŠã„ã¦ã€2番目ã®æ¡ä»¶ã¯çµ¶å¯¾çš„ãªæ¡ä»¶ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ã—ã‹ã—ã¨ã«ã‹ãæ¡ä»¶ã‚’満ãŸã—ã¦ãã ã•ã„。
- •¡‡ƒL[‚𶬂·‚邽‚ß‚É IdentifierGenerator ‚ðŽg—p‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
- ‘ã‚í‚è‚ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªŽ¯•ÊŽq‚ðŠ„‚è“–‚Ä‚È‚‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+ 複åˆã‚ーを生æˆã™ã‚‹ãŸã‚ã« IdentifierGenerator を使用ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+ 代ã‚ã‚Šã«ã‚¢ãƒ—リケーションãŒè˜åˆ¥åを割り当ã¦ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。
- ’Êí‚Ì <id> 錾‚Ì‘ã‚í‚è‚É <composite-id> ƒ^ƒO‚ð
- iƒlƒXƒg‚³‚ꂽ <key-property> ‘®«‚Æ‹¤‚ÉjŽg‚¢‚Ü‚·B
- ˆÈ‰º‚Ì—á‚Å‚ÍAOrderLine ƒNƒ‰ƒX‚Í Order ‚Ìi•¡‡jŽåƒL[‚É
- ˆË‘¶‚µ‚½ŽåƒL[‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+ 通常㮠<id> 宣言ã®ä»£ã‚ã‚Šã« <composite-id> ã‚¿ã‚°ã‚’
+ (ãƒã‚¹ãƒˆã•ã‚ŒãŸ <key-property> 属性ã¨å…±ã«ï¼‰ä½¿ã„ã¾ã™ã€‚
+ 以下ã®ä¾‹ã§ã¯ã€OrderLine クラス㯠Order ã®ï¼ˆè¤‡åˆï¼‰ä¸»ã‚ーã«
+ ä¾å˜ã—ãŸä¸»ã‚ーをæŒã£ã¦ã„ã¾ã™ã€‚
@@ -299,9 +301,9 @@
]]>
- ‚±‚Ì‚Æ‚«AOrderLine ƒe[ƒuƒ‹‚ÖŠÖ˜A‚·‚éŠO•”ƒL[‚à‚Ü‚½•¡‡‚Å‚·B
- ‘¼‚̃Nƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚Å‚±‚ê‚ð錾‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- OrderLine ‚Ö‚ÌŠÖ˜A‚ÍŽŸ‚̂悤‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+ ã“ã®ã¨ãã€OrderLine テーブルã¸é–¢é€£ã™ã‚‹å¤–部ã‚ーもã¾ãŸè¤‡åˆã§ã™ã€‚
+ ä»–ã®ã‚¯ãƒ©ã‚¹ã®ãƒžãƒƒãƒ”ングã§ã“れを宣言ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ OrderLine ã¸ã®é–¢é€£ã¯æ¬¡ã®ã‚ˆã†ã«ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
@@ -312,13 +314,13 @@
]]>
- i<column> ƒ^ƒO‚Í‚Ç‚±‚Å‚ ‚Á‚Ä‚à column ‘®«‚Ì
- ‘ã‚í‚è‚É‚È‚è‚Ü‚·Bj
+ (<column> ã‚¿ã‚°ã¯ã©ã“ã§ã‚ã£ã¦ã‚‚ column 属性ã®
+ 代ã‚ã‚Šã«ãªã‚Šã¾ã™ã€‚)
- OrderLine ‚Ö‚Ì many-to-many ŠÖ˜A‚à
- •¡‡ŠO•”ƒL[‚ðŽg‚¢‚Ü‚·B
+ OrderLine ã¸ã® many-to-many 関連も
+ 複åˆå¤–部ã‚ーを使ã„ã¾ã™ã€‚
@@ -331,8 +333,8 @@
]]>
- Order ‚É‚ ‚é OrderLine ‚̃RƒŒƒNƒVƒ‡ƒ“‚Í
- ŽŸ‚Ì‚à‚Ì‚ðŽg—p‚µ‚Ü‚·B
+ Order ã«ã‚ã‚‹ OrderLine ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯
+ 次ã®ã‚‚ã®ã‚’使用ã—ã¾ã™ã€‚
@@ -344,12 +346,12 @@
]]>
- i<one-to-many> ‘®«‚ÍA—á‚É‚æ‚Á‚ăJƒ‰ƒ€‚ð錾‚µ‚Ü‚¹‚ñj
+ (<one-to-many> 属性ã¯ã€ä¾‹ã«ã‚ˆã£ã¦ã‚«ãƒ©ãƒ を宣言ã—ã¾ã›ã‚“)
- OrderLine Ž©g‚ªƒRƒŒƒNƒVƒ‡ƒ“‚ðŽ‚Á‚Ä‚¢‚éê‡A
- “¯Žž‚É•¡‡ŠO•”ƒL[‚àŽ‚Á‚Ä‚¢‚Ü‚·B
+ OrderLine 自身ãŒã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’æŒã£ã¦ã„ã‚‹å ´åˆã€
+ åŒæ™‚ã«è¤‡åˆå¤–部ã‚ーもæŒã£ã¦ã„ã¾ã™ã€‚
@@ -371,10 +373,10 @@
- “®“IƒRƒ“ƒ|[ƒlƒ“ƒg
+ 動的コンãƒãƒ¼ãƒãƒ³ãƒˆ
- Map Œ^‚̃vƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚à‰Â”\‚Å‚·B
+ Map åž‹ã®ãƒ—ãƒãƒ‘ティã®ãƒžãƒƒãƒ”ングもå¯èƒ½ã§ã™ã€‚
@@ -384,11 +386,11 @@
]]>
- <dynamic-component> ƒ}ƒbƒsƒ“ƒO‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Í <component>
- ‚Æ“¯ˆê‚Ì‚à‚Ì‚Å‚·B‚±‚ÌŽí‚̃}ƒbƒsƒ“ƒO‚Ì—˜“_‚ÍAƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Ì•ÒW‚É‚æ‚èA”z’uŽž‚Ébean‚Ì‘®«‚ð
- Œˆ’è‚Å‚«‚é“_‚Å‚·B‚Ü‚½ADOMƒp[ƒT‚ð—˜—p‚µ‚ÄAƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̃‰ƒ“ƒ^ƒCƒ€‘€ì‚ª‰Â”\‚Å‚·B
- ‚³‚ç‚ÉAConfiguration ƒIƒuƒWƒFƒNƒgŒo—R‚ÅHibernate‚̃Rƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“Žž‚̃ƒ^ƒ‚ƒfƒ‹‚É
- ƒAƒNƒZƒXi‚Ü‚½‚Í•ÏXj‚ª‰Â”\‚Å‚·B
+ <dynamic-component> マッピングã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã¯ <component>
+ ã¨åŒä¸€ã®ã‚‚ã®ã§ã™ã€‚ã“ã®ç¨®ã®ãƒžãƒƒãƒ”ングã®åˆ©ç‚¹ã¯ã€ãƒžãƒƒãƒ”ングドã‚ュメントã®ç·¨é›†ã«ã‚ˆã‚Šã€é…置時ã«beanã®å±žæ€§ã‚’
+ 決定ã§ãる点ã§ã™ã€‚ã¾ãŸã€DOMパーサを利用ã—ã¦ã€ãƒžãƒƒãƒ”ングドã‚ュメントã®ãƒ©ãƒ³ã‚¿ã‚¤ãƒ æ“作ãŒå¯èƒ½ã§ã™ã€‚
+ ã•ã‚‰ã«ã€Configuration オブジェクト経由ã§Hibernateã®ã‚³ãƒ³ãƒ•ã‚£ã‚°ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³æ™‚ã®ãƒ¡ã‚¿ãƒ¢ãƒ‡ãƒ«ã«
+ アクセス(ã¾ãŸã¯å¤‰æ›´ï¼‰ãŒå¯èƒ½ã§ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml b/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml
index d603c31de4..c6568167e1 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/configuration.xml
@@ -1,30 +1,32 @@
-
+
+
+
- Ý’è
+ è¨å®š
- Hibernate‚Í‚³‚Ü‚´‚܂Ȋ‹«‚Å“®ì‚·‚é‚悤‚ɃfƒUƒCƒ“‚³‚ê‚Ä‚¢‚邽‚ßA”ñí‚É‘½‚‚ÌÝ’è—v‘f‚ª‚ ‚è‚Ü‚·B
- K‚¢‚È‚±‚Æ‚ÉAHibernate‚ÍAŒöŠJ‚³‚ê‚Ä‚¢‚éƒpƒbƒP[ƒW‚Ì etc/ ƒtƒHƒ‹ƒ_‚Ì hibernate.properties
- ‚ÉA‚Ù‚Æ‚ñ‚Ç‚ÌÝ’è—v‘f‚Ì“K؂ȃfƒtƒHƒ‹ƒg’l‚ª‹Lq‚³‚ê‚Ä‚¢‚Ü‚·B
- ‚±‚Ì hibernate.properties ‚ðƒNƒ‰ƒXƒpƒX‚Éݒ肵AÝ’è—v‘f‚ðƒJƒXƒ^ƒ}ƒCƒY‚·‚邾‚¯‚Å‚·B
+ Hibernateã¯ã•ã¾ã–ã¾ãªç’°å¢ƒã§å‹•ä½œã™ã‚‹ã‚ˆã†ã«ãƒ‡ã‚¶ã‚¤ãƒ³ã•ã‚Œã¦ã„ã‚‹ãŸã‚ã€éžå¸¸ã«å¤šãã®è¨å®šè¦ç´ ãŒã‚ã‚Šã¾ã™ã€‚
+ 幸ã„ãªã“ã¨ã«ã€Hibernateã¯ã€å…¬é–‹ã•ã‚Œã¦ã„るパッケージ㮠etc/ フォルダ㮠hibernate.properties
+ ã«ã€ã»ã¨ã‚“ã©ã®è¨å®šè¦ç´ ã®é©åˆ‡ãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒè¨˜è¿°ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ ã“ã® hibernate.properties をクラスパスã«è¨å®šã—ã€è¨å®šè¦ç´ をカスタマイズã™ã‚‹ã ã‘ã§ã™ã€‚
- ƒvƒƒOƒ‰ƒ€ã‚ÌÝ’è
+ プãƒã‚°ãƒ©ãƒ 上ã®è¨å®š
- org.hibernate.cfg.Configuration ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA
- Java‚ÌŒ^‚ÆSQLƒf[ƒ^ƒx[ƒX‚̃}ƒbƒsƒ“ƒOî•ñ‚ð‚·‚×‚ÄŽ‚Á‚Ä‚¢‚Ü‚·B
- The Configuration ‚ÍAi•s•Ï‚Ìj SessionFactory
- ‚𶬂·‚é‚Æ‚«‚ÉŽg—p‚µ‚Ü‚·B
- •¡”‚ÌXMLƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð•ÏŠ·‚µAƒ}ƒbƒsƒ“ƒOî•ñ‚É‚µ‚Ü‚·B
+ org.hibernate.cfg.Configuration ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€
+ Javaã®åž‹ã¨SQLデータベースã®ãƒžãƒƒãƒ”ãƒ³ã‚°æƒ…å ±ã‚’ã™ã¹ã¦æŒã£ã¦ã„ã¾ã™ã€‚
+ The Configuration ã¯ã€ï¼ˆä¸å¤‰ã®ï¼‰ SessionFactory
+ を生æˆã™ã‚‹ã¨ãã«ä½¿ç”¨ã—ã¾ã™ã€‚
+ 複数ã®XMLマッピングファイルを変æ›ã—ã€ãƒžãƒƒãƒ”ãƒ³ã‚°æƒ…å ±ã«ã—ã¾ã™ã€‚
- ’ÊíAConfiguration ƒCƒ“ƒXƒ^ƒ“ƒX‚ÍA“Á’è‚ÌXMLƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹
- ‚É‚æ‚Á‚Ä’¼Ú‰Šú‰»‚³‚ê‚Ü‚·B‚à‚µAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ªƒNƒ‰ƒXƒpƒX‚Éݒ肳‚ê‚Ä‚¢‚éê‡A
- ŽŸ‚̃ƒ\ƒbƒh‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B addResource() :
+ 通常ã€Configuration インスタンスã¯ã€ç‰¹å®šã®XMLマッピングファイル
+ ã«ã‚ˆã£ã¦ç›´æŽ¥åˆæœŸåŒ–ã•ã‚Œã¾ã™ã€‚ã‚‚ã—ã€ãƒžãƒƒãƒ”ングファイルãŒã‚¯ãƒ©ã‚¹ãƒ‘スã«è¨å®šã•ã‚Œã¦ã„ã‚‹å ´åˆã€
+ 次ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã£ã¦ãã ã•ã„。 addResource() :
- ‘ã‘ÖˆÄ(‚±‚¿‚ç‚Ì‚Ù‚¤‚ª—Ç‚¢‚Æ‚«‚à‚ ‚è‚Ü‚·)‚Æ‚µ‚ă}ƒbƒsƒ“ƒOƒNƒ‰ƒX‚ðŽw’è‚·‚é•û–@‚à‚ ‚è‚Ü‚·BHibernate‚ÉAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð
- Œ©‚‚¯‚³‚¹‚Ä‚‚¾‚³‚¢F
+ 代替案(ã“ã¡ã‚‰ã®ã»ã†ãŒè‰¯ã„ã¨ãã‚‚ã‚ã‚Šã¾ã™)ã¨ã—ã¦ãƒžãƒƒãƒ”ングクラスを指定ã™ã‚‹æ–¹æ³•ã‚‚ã‚ã‚Šã¾ã™ã€‚Hibernateã«ã€ãƒžãƒƒãƒ”ングファイルを
+ 見ã¤ã‘ã•ã›ã¦ãã ã•ã„:
- Hibernate‚ÍAƒNƒ‰ƒXƒpƒX‚É‚ ‚éˆÈ‰º‚̂悤‚È–¼‘O‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðŒ©‚Â‚¯‚Ü‚·B
- /org/hibernate/auction/Item.hbm.xml A
- /org/hibernate/auction/Bid.hbm.xml B
- ‚±‚Ì•û–@‚¾‚ÆAƒn[ƒhƒR[ƒfƒBƒ“ƒO‚³‚ꂽƒtƒ@ƒCƒ‹–¼‚ð”rœ‚Å‚«‚Ü‚·B
+ Hibernateã¯ã€ã‚¯ãƒ©ã‚¹ãƒ‘スã«ã‚る以下ã®ã‚ˆã†ãªåå‰ã®ãƒžãƒƒãƒ”ングファイルを見ã¤ã‘ã¾ã™ã€‚
+ /org/hibernate/auction/Item.hbm.xml ã€
+ /org/hibernate/auction/Bid.hbm.xml 。
+ ã“ã®æ–¹æ³•ã ã¨ã€ãƒãƒ¼ãƒ‰ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã•ã‚ŒãŸãƒ•ã‚¡ã‚¤ãƒ«åを排除ã§ãã¾ã™ã€‚
- Configuration ‚ÍAÝ’èƒvƒƒpƒeƒB‚ðŽw’è‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·F
+ Configuration ã¯ã€è¨å®šãƒ—ãƒãƒ‘ティを指定ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ï¼š
- Hibernate‚ÉÝ’èƒvƒƒpƒeƒB‚ð’Ê‚·•û–@‚Í1‚‚ł͂ ‚è‚Ü‚¹‚ñB
- ‚³‚Ü‚´‚܂ȃIƒvƒVƒ‡ƒ“‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·F
+ Hibernateã«è¨å®šãƒ—ãƒãƒ‘ティを通ã™æ–¹æ³•ã¯1ã¤ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ã•ã¾ã–ã¾ãªã‚ªãƒ—ションを用æ„ã—ã¦ã„ã¾ã™ï¼š
- java.util.Properties ƒCƒ“ƒXƒ^ƒ“ƒX‚ð
- Configuration.setProperties() ‚É“n‚µ‚Ü‚·B
+ java.util.Properties インスタンスを
+ Configuration.setProperties() ã«æ¸¡ã—ã¾ã™ã€‚
- hibernate.properties ‚ð
- ƒNƒ‰ƒXƒpƒX‚̃‹[ƒgƒfƒBƒŒƒNƒgƒŠ‚É’u‚«‚Ü‚·B
+ hibernate.properties ã‚’
+ クラスパスã®ãƒ«ãƒ¼ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ãã¾ã™ã€‚
- System ƒvƒƒpƒeƒB‚ª
- java -Dproperty=value ‚ðŽg‚¤‚悤‚Éݒ肵‚Ü‚·B
+ System プãƒãƒ‘ティãŒ
+ java -Dproperty=value を使ã†ã‚ˆã†ã«è¨å®šã—ã¾ã™ã€‚
- <property> —v‘f‚ð
- hibernate.cfg.xml iŒãqj‚Éݒ肵‚Ü‚·B
+ <property> è¦ç´ ã‚’
+ hibernate.cfg.xml (後述)ã«è¨å®šã—ã¾ã™ã€‚
- ¡‚·‚®Žn‚ß‚½‚¢‚Ì‚È‚çAhibernate.properties
- ‚ðŽg‚¤‚Ì‚ªˆê”Ô‚Ì‹ß“¹‚Å‚·B
+ 今ã™ã始ã‚ãŸã„ã®ãªã‚‰ã€hibernate.properties
+ を使ã†ã®ãŒä¸€ç•ªã®è¿‘é“ã§ã™ã€‚
- Configuration ‚ÍA‹N“®Žž‚É‚¾‚¯‚ ‚éƒIƒuƒWƒFƒNƒg‚Å‚ ‚èA
- ˆê“x SessionFactory ‚𶬂µ‚½Œã‚ÍA”jŠü‚³‚ê‚邱‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚·B
+ Configuration ã¯ã€èµ·å‹•æ™‚ã«ã ã‘ã‚るオブジェクトã§ã‚ã‚Šã€
+ 一度 SessionFactory を生æˆã—ãŸå¾Œã¯ã€ç ´æ£„ã•ã‚Œã‚‹ã“ã¨ã‚’æ„図ã—ã¦ã„ã¾ã™ã€‚
- SessionFactory‚ðŽæ“¾‚·‚é
+ SessionFactoryã‚’å–å¾—ã™ã‚‹
- Configuration ‚ª‚·‚ׂẴ}ƒbƒsƒ“ƒOî•ñ‚ð‰ðÍ‚µ‚½‚çA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍA Session ƒtƒ@ƒNƒgƒŠƒCƒ“ƒXƒ^ƒ“ƒX‚ðŽæ“¾‚µ‚Ü‚·B
- ‚±‚ÌSessionFactory‚ÍAHibernate‚ðŽg—p‚·‚é‚·‚ׂẴXƒŒƒbƒh‚Å‹¤—L‚³‚ê‚é‚ׂ«‚Å‚·B
+ Configuration ãŒã™ã¹ã¦ã®ãƒžãƒƒãƒ”ãƒ³ã‚°æƒ…å ±ã‚’è§£æžã—ãŸã‚‰ã€
+ アプリケーションã¯ã€ Session ファクトリインスタンスをå–å¾—ã—ã¾ã™ã€‚
+ ã“ã®SessionFactoryã¯ã€Hibernateを使用ã™ã‚‹ã™ã¹ã¦ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§å…±æœ‰ã•ã‚Œã‚‹ã¹ãã§ã™ã€‚
- Hibernate‚ÍA SessionFactory ‚ð•¡”¶¬‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚±‚ê‚ÍA•¡”‚̃f[ƒ^ƒx[ƒX‚ðŽg—p‚·‚éꇂɕ֗˜‚Å‚·B
+ Hibernateã¯ã€ SessionFactory を複数生æˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã“ã‚Œã¯ã€è¤‡æ•°ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’使用ã™ã‚‹å ´åˆã«ä¾¿åˆ©ã§ã™ã€‚
- JDBCƒRƒlƒNƒVƒ‡ƒ“
+ JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³
- ’ÊíAŠJ”ŽÒ‚Í SessionFactory ‚𶬂µASessionFactory‚ÅJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðƒv[ƒŠƒ“ƒO‚µ‚½‚¢‚Æl‚¦‚Ü‚·B
- ‚»‚̃Aƒvƒ[ƒ`‚ðÌ—p‚·‚éê‡A’Pƒ‚É Session ‚ðƒI[ƒvƒ“‚µ‚Ä‚‚¾‚³‚¢F
+ 通常ã€é–‹ç™ºè€…㯠SessionFactory を生æˆã—ã€SessionFactoryã§JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’プーリングã—ãŸã„ã¨è€ƒãˆã¾ã™ã€‚
+ ãã®ã‚¢ãƒ—ãƒãƒ¼ãƒã‚’採用ã™ã‚‹å ´åˆã€å˜ç´”ã« Session をオープンã—ã¦ãã ã•ã„:
- ‚±‚ꂾ‚¯‚ÅAƒv[ƒŠƒ“ƒO‚µ‚½JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽg‚Á‚Ä–Ú“I‚̃f[ƒ^ƒx[ƒX
- ‚ɃAƒNƒZƒX‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ ã“ã‚Œã ã‘ã§ã€ãƒ—ーリングã—ãŸJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã£ã¦ç›®çš„ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹
+ ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ‚»‚Ì‚½‚ß‚É‚ÍAJDBCƒRƒlƒNƒVƒ‡ƒ“‚̃vƒƒpƒeƒB‚ðHibernate‚ÉÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ‚·‚ׂĂÌHibernateƒvƒƒpƒeƒB–¼‚ƃZƒ}ƒ“ƒeƒBƒNƒX‚Í
- org.hibernate.cfg.Environment ƒNƒ‰ƒX‚É’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B
- ‚±‚ÌÝ’è‚ÍJDBCƒRƒlƒNƒVƒ‡ƒ“Ý’è‚Ì’†‚ňê”Ôd—v‚È‚à‚Ì‚Å‚·B
+ ãã®ãŸã‚ã«ã¯ã€JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã®ãƒ—ãƒãƒ‘ティをHibernateã«è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ ã™ã¹ã¦ã®Hibernateプãƒãƒ‘ティåã¨ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã¯
+ org.hibernate.cfg.Environment クラスã«å®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ ã“ã®è¨å®šã¯JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³è¨å®šã®ä¸ã§ä¸€ç•ªé‡è¦ãªã‚‚ã®ã§ã™ã€‚
- ‚à‚µAˆÈ‰º‚̃vƒƒpƒeƒB‚ðÝ’è‚·‚é‚ÆAHibernate‚̓RƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚·‚éiƒv[ƒ‹‚àj‚½‚ß‚É
- java.sql.DriverManager ‚ðŽg‚¢‚Ü‚·B
+ ã‚‚ã—ã€ä»¥ä¸‹ã®ãƒ—ãƒãƒ‘ティをè¨å®šã™ã‚‹ã¨ã€Hibernateã¯ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã™ã‚‹ï¼ˆãƒ—ールも)ãŸã‚ã«
+ java.sql.DriverManager を使ã„ã¾ã™ã€‚
- Hibernate JDBCƒvƒƒpƒeƒB
+ Hibernate JDBCプãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
- ˆÓ–¡
+ プãƒãƒ‘ティå
+ æ„味
@@ -164,7 +166,7 @@
hibernate.connection.driver_class
- JDBCƒhƒ‰ƒCƒoƒNƒ‰ƒX
+ JDBCドライãƒã‚¯ãƒ©ã‚¹
@@ -196,7 +198,7 @@
hibernate.connection.pool_size
- ƒv[ƒ‹‚·‚éƒRƒlƒNƒVƒ‡ƒ“‚ÌÅ‘å”
+ プールã™ã‚‹ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®æœ€å¤§æ•°
@@ -204,26 +206,26 @@
- Hibernate‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒAƒ‹ƒSƒŠƒYƒ€‚Í”ñí‚ɉ•à“I‚È‚à‚Ì‚Å‚·B
- ‚±‚ê‚Í‚·‚®‚ÉŽn‚ß‚ç‚ê‚é‚悤‚É‚Æ—pˆÓ‚³‚ꂽ‚à‚Ì‚ÅA»•i‚Æ‚µ‚ÄŽg—p‚·‚邱‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñ B
- ‚Ü‚½AƒpƒtƒH[ƒ}ƒ“ƒX‚̃eƒXƒg‚Ì‚½‚ß‚Ì‚à‚Ì‚Å‚à‚ ‚è‚Ü‚¹‚ñB
- Å‚‚̃pƒtƒH[ƒ}ƒ“ƒX‚ƈÀ’è«‚ðŽ‚Á‚½ƒv[ƒ‹‚ðŽÀŒ»‚µ‚½‚¯‚ê‚ÎAƒT[ƒhƒp[ƒeƒB‚̃c[ƒ‹‚ð‚¨Š©‚ß‚µ‚Ü‚·B
- hibernate.connection.pool_size ƒvƒƒpƒeƒB‚É
- “K؂ȃRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒTƒCƒY‚ð‹Lq‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚Ì‚Ü‚Ü‚¾‚ÆHibernate‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ðŽg‚¢‚Ü‚·B
- —Ⴆ‚ÎŽŸ‚̂悤‚ÉC3P0‚ðŽg‚¢‚Ü‚·B
+ Hibernateã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールアルゴリズムã¯éžå¸¸ã«åˆæ©çš„ãªã‚‚ã®ã§ã™ã€‚
+ ã“ã‚Œã¯ã™ãã«å§‹ã‚られるよã†ã«ã¨ç”¨æ„ã•ã‚ŒãŸã‚‚ã®ã§ã€è£½å“ã¨ã—ã¦ä½¿ç”¨ã™ã‚‹ã“ã¨ã‚’æ„図ã—ã¦ã„ã¾ã›ã‚“ 。
+ ã¾ãŸã€ãƒ‘フォーマンスã®ãƒ†ã‚¹ãƒˆã®ãŸã‚ã®ã‚‚ã®ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。
+ 最高ã®ãƒ‘フォーマンスã¨å®‰å®šæ€§ã‚’æŒã£ãŸãƒ—ールを実ç¾ã—ãŸã‘ã‚Œã°ã€ã‚µãƒ¼ãƒ‰ãƒ‘ーティã®ãƒ„ールをãŠå‹§ã‚ã—ã¾ã™ã€‚
+ hibernate.connection.pool_size プãƒãƒ‘ティã«
+ é©åˆ‡ãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールサイズを記述ã—ã¦ãã ã•ã„。
+ ã“ã®ã¾ã¾ã ã¨Hibernateã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールを使ã„ã¾ã™ã€‚
+ 例ãˆã°æ¬¡ã®ã‚ˆã†ã«C3P0を使ã„ã¾ã™ã€‚
- C3P0‚̓I[ƒvƒ“ƒ\[ƒXJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ÅAHibernate‚Ì lib
- ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚è‚Ü‚·B‚à‚µAhibernate.c3p0.* ƒvƒƒpƒeƒB‚ð
- ƒZƒbƒg‚·‚ê‚ÎAHibernate‚ÍA C3P0ConnectionProvider ‚ðŽg‚¢‚Ü‚·B
- ‚à‚µProxool‚ðŽg‚¢‚½‚¢ê‡‚ÍA hibernate.properties ƒpƒbƒP[ƒW‚ð
- ŽQÆ‚µ‚½‚èAHibernate‚ÌWebƒTƒCƒg‚Å‚æ‚葽‚‚Ìî•ñ‚ðŽæ“¾‚µ‚Ä‚‚¾‚³‚¢B
+ C3P0ã¯ã‚ªãƒ¼ãƒ—ンソースJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã§ã€Hibernateã® lib
+ ディレクトリã«ã‚ã‚Šã¾ã™ã€‚ã‚‚ã—ã€hibernate.c3p0.* プãƒãƒ‘ティを
+ セットã™ã‚Œã°ã€Hibernateã¯ã€ C3P0ConnectionProvider を使ã„ã¾ã™ã€‚
+ ã‚‚ã—Proxoolを使ã„ãŸã„å ´åˆã¯ã€ hibernate.properties パッケージを
+ å‚ç…§ã—ãŸã‚Šã€Hibernateã®Webサイトã§ã‚ˆã‚Šå¤šãã®æƒ…å ±ã‚’å–å¾—ã—ã¦ãã ã•ã„。
- C3P0—p‚Ì hibernate.properties ƒtƒ@ƒCƒ‹‚ð—á‚Æ‚µ‚ÄŽ¦‚µ‚Ü‚·F
+ C3P0用㮠hibernate.properties ファイルを例ã¨ã—ã¦ç¤ºã—ã¾ã™ï¼š
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒoã‚ÅŽg‚¤ê‡‚ÍAHibernate‚ðݒ肵A
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚©‚çƒRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚·‚é‚悤‚É‚µ‚Ä‚‚¾‚³‚¢B
- Datasource ‚ðJNDI‚É“o˜^‚µ‚Ü‚·B‚»‚µ‚Ä
- ƒvƒƒpƒeƒB‚ðˆÈ‰º‚̂悤‚Éݒ肵‚Ä‚‚¾‚³‚¢B
+ アプリケーションサーãƒä¸Šã§ä½¿ã†å ´åˆã¯ã€Hibernateã‚’è¨å®šã—ã€
+ アプリケーションサーãƒã‹ã‚‰ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。
+ Datasource ã‚’JNDIã«ç™»éŒ²ã—ã¾ã™ã€‚ãã—ã¦
+ プãƒãƒ‘ティを以下ã®ã‚ˆã†ã«è¨å®šã—ã¦ãã ã•ã„。
- Hibernate ƒf[ƒ^ƒ\[ƒXƒvƒƒpƒeƒB
+ Hibernate データソースプãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
- ˆÓ–¡
+ プãƒãƒ‘ティå
+ æ„味
@@ -260,7 +262,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.datasource
- ƒf[ƒ^ƒ\[ƒX‚ÌJNDI–¼
+ データソースã®JNDIå
@@ -268,7 +270,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jndi.url
- JNDIƒvƒƒoƒCƒ_‚ÌURL (ƒIƒvƒVƒ‡ƒ“)
+ JNDIプãƒãƒã‚¤ãƒ€ã®URL (オプション)
@@ -276,7 +278,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jndi.class
- JNDIƒNƒ‰ƒX InitialContextFactory (ƒIƒvƒVƒ‡ƒ“)
+ JNDIクラス InitialContextFactory (オプション)
@@ -284,7 +286,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.username
- database user (ƒIƒvƒVƒ‡ƒ“)
+ database user (オプション)
@@ -292,7 +294,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.password
- database user password (ƒIƒvƒVƒ‡ƒ“)
+ database user password (オプション)
@@ -300,61 +302,61 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚©‚ç’ñ‹Ÿ‚³‚ꂽJNDIƒf[ƒ^ƒ\[ƒX‚ðŽg‚¤
- hibernate.properties ƒtƒ@ƒCƒ‹‚Ì—á‚ðŽ¦‚µ‚Ü‚·F
+ アプリケーションサーãƒã‹ã‚‰æä¾›ã•ã‚ŒãŸJNDIデータソースを使ã†
+ hibernate.properties ファイルã®ä¾‹ã‚’示ã—ã¾ã™ï¼š
- JNDIƒf[ƒ^ƒ\[ƒX‚©‚çŽæ“¾‚µ‚½JDBCƒRƒlƒNƒVƒ‡ƒ“‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚Ì
- ƒRƒ“ƒeƒiŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÉŽ©“®“I‚ÉŽQ‰Á‚µ‚Ü‚·B
+ JNDIデータソースã‹ã‚‰å–å¾—ã—ãŸJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ã€ã‚¢ãƒ—リケーションサーãƒã®
+ コンテナ管ç†ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«è‡ªå‹•çš„ã«å‚åŠ ã—ã¾ã™ã€‚
- ”CˆÓ‚̃RƒlƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB‚ÍA—^‚¦‚ç‚ꂽh hibernate.connnection h
- ƒvƒƒpƒeƒB–¼‚É‚æ‚Á‚Ä—^‚¦‚ç‚ê‚Ü‚·B—Ⴆ‚ÎA charSet ‚ðݒ肵‚½‚¢ê‡‚ÍA
- hibernate.connection.charSet ‚ðŽg‚¢‚Ü‚·B
+ ä»»æ„ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ãƒãƒ‘ティã¯ã€ä¸Žãˆã‚‰ã‚ŒãŸâ€ hibernate.connnection â€
+ プãƒãƒ‘ティåã«ã‚ˆã£ã¦ä¸Žãˆã‚‰ã‚Œã¾ã™ã€‚例ãˆã°ã€ charSet ã‚’è¨å®šã—ãŸã„å ´åˆã¯ã€
+ hibernate.connection.charSet を使ã„ã¾ã™ã€‚
- JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚·‚éí—ª‚ðŽ‚“Ǝ©‚̃vƒ‰ƒOƒCƒ“‚ð’è‹`‚·‚éꇂÍA
- org.hibernate.connection.ConnectionProvider ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ð
- ŽÀ‘•‚µ‚Ä‚‚¾‚³‚¢B‚»‚µ‚ÄAŽÀ‘•ƒNƒ‰ƒX‚ð hibernate.connection.provider_class
- ‚Éݒ肵‚Ä‚‚¾‚³‚¢B
+ JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã™ã‚‹æˆ¦ç•¥ã‚’æŒã¤ç‹¬è‡ªã®ãƒ—ラグインを定義ã™ã‚‹å ´åˆã¯ã€
+ org.hibernate.connection.ConnectionProvider インターフェイスを
+ 実装ã—ã¦ãã ã•ã„。ãã—ã¦ã€å®Ÿè£…クラスを hibernate.connection.provider_class
+ ã«è¨å®šã—ã¦ãã ã•ã„。
- ƒIƒvƒVƒ‡ƒ“Ý’èƒvƒƒpƒeƒB
+ オプションè¨å®šãƒ—ãƒãƒ‘ティ
- ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚ÍHibernate‚Ì‹““®‚ð§Œä‚·‚é‚à‚Ì‚Å‚·B
- ‚±‚ê‚ç‚̃vƒƒpƒeƒB‚Í‚·‚ׂđÓ–‚ȃfƒtƒHƒ‹ƒg’l‚ª‚ ‚èA”CˆÓ‚Åݒ肵‚Ü‚·B
+ ã“れらã®ãƒ—ãƒãƒ‘ティã¯Hibernateã®æŒ™å‹•ã‚’制御ã™ã‚‹ã‚‚ã®ã§ã™ã€‚
+ ã“れらã®ãƒ—ãƒãƒ‘ティã¯ã™ã¹ã¦å¦¥å½“ãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ãŒã‚ã‚Šã€ä»»æ„ã§è¨å®šã—ã¾ã™ã€‚
- ’ˆÓF‚±‚ê‚ç‚̃vƒƒpƒeƒB‚Í"ƒVƒXƒeƒ€ƒŒƒxƒ‹"‚Ì‚Ý‚Å‚·B
- ƒVƒXƒeƒ€ƒŒƒxƒ‹ƒvƒƒpƒeƒB‚Í java -Dproperty=value A‚à‚µ‚‚Í
- hibernate.properties ‚Å‚Ì‚ÝÝ’è‰Â”\‚Å‚·B
- ‚»‚êˆÈŠO‚ÌÝ’è•û–@‚Í ‚ ‚è‚Ü‚¹‚ñ B
+ 注æ„:ã“れらã®ãƒ—ãƒãƒ‘ティã¯"システムレベル"ã®ã¿ã§ã™ã€‚
+ システムレベルプãƒãƒ‘ティ㯠java -Dproperty=value ã€ã‚‚ã—ãã¯
+ hibernate.properties ã§ã®ã¿è¨å®šå¯èƒ½ã§ã™ã€‚
+ ãれ以外ã®è¨å®šæ–¹æ³•ã¯ ã‚ã‚Šã¾ã›ã‚“ 。
- HibernateÝ’èƒvƒƒpƒeƒB
+ Hibernateè¨å®šãƒ—ãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
- ˆÓ–¡
+ プãƒãƒ‘ティå
+ æ„味
@@ -363,10 +365,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.dialect
- Hibernate Dialect ƒNƒ‰ƒX–¼‚ª“ü‚è‚Ü‚·B
- ‚±‚ê‚̓ŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒx[ƒX‚²‚Æ‚ÉÅ“K‰»‚³‚ꂽSQL‚𶬂µ‚Ü‚·B
+ Hibernate Dialect クラスåãŒå…¥ã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã”ã¨ã«æœ€é©åŒ–ã•ã‚ŒãŸSQLを生æˆã—ã¾ã™ã€‚
- —áF
+ 例:
full.classname.of.Dialect
@@ -376,11 +378,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.show_sql
- ”s‚³‚ꂽ‚·‚ׂĂÌSQL‚ðƒRƒ“ƒ\[ƒ‹‚Éo—Í‚µ‚Ü‚·B
- ‚±‚ê‚̓ƒOƒJƒeƒSƒŠ‚Ì org.hibernate.SQL
- ‚É debug ‚ðÝ’è‚·‚é•û–@‚Ì‘ã‘ÖŽè’i‚Å‚·B
+ 発行ã•ã‚ŒãŸã™ã¹ã¦ã®SQLをコンソールã«å‡ºåŠ›ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ãƒã‚°ã‚«ãƒ†ã‚´ãƒªã® org.hibernate.SQL
+ ã« debug ã‚’è¨å®šã™ã‚‹æ–¹æ³•ã®ä»£æ›¿æ‰‹æ®µã§ã™ã€‚
- —áF
+ 例:
true | false
@@ -390,9 +392,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.format_sql
- ƒƒO‚ƃRƒ“ƒ\[ƒ‹‚ÌSQL‚ð”ü‚µ‚•\Ž¦‚µ‚Ü‚·B
+ ãƒã‚°ã¨ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ã®SQLを美ã—ã表示ã—ã¾ã™ã€‚
- —áF
+ 例:
true | false
@@ -402,9 +404,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.default_schema
- ¶¬‚³‚ê‚éSQL•¶‚̃e[ƒuƒ‹‚ÉÝ’è‚·‚éƒXƒL[ƒ}/ƒe[ƒuƒ‹ƒXƒy[ƒX‚Å‚·B
+ 生æˆã•ã‚Œã‚‹SQLæ–‡ã®ãƒ†ãƒ¼ãƒ–ルã«è¨å®šã™ã‚‹ã‚¹ã‚ーマ/テーブルスペースã§ã™ã€‚
- —áF
+ 例:
SCHEMA_NAME
@@ -414,9 +416,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.default_catalog
- ¶¬‚³‚ê‚éSQL•¶‚̃e[ƒuƒ‹‚ÉÝ’è‚·‚éƒJƒ^ƒƒO‚Å‚·B
+ 生æˆã•ã‚Œã‚‹SQLæ–‡ã®ãƒ†ãƒ¼ãƒ–ルã«è¨å®šã™ã‚‹ã‚«ã‚¿ãƒã‚°ã§ã™ã€‚
- —áF
+ 例:
CATALOG_NAME
@@ -426,9 +428,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.session_factory_name
- SessionFactory ‚Ͷ¬ŒãA‚±‚Ì–¼‘O‚ÅJNDI‚É“o˜^‚³‚ê‚Ü‚·B
+ SessionFactory ã¯ç”Ÿæˆå¾Œã€ã“ã®åå‰ã§JNDIã«ç™»éŒ²ã•ã‚Œã¾ã™ã€‚
- —áF
+ 例:
jndi/composite/name
@@ -438,12 +440,12 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.max_fetch_depth
- ŠO•”Œ‹‡ƒtƒFƒbƒ`‚ÌÅ‘å[“x‚ðݒ肵‚Ü‚·BŒ‹‡‚·‚éŠÖ˜A‚Í
- ‘ΈêŠÖ˜A‚Ì‚Ýiˆê‘ΈêA‘½‘Έêj‚Å‚·B
- 0 ‚ðŽw’è‚·‚é‚ÆŠO•”Œ‹‡ƒtƒFƒbƒ`‚Í–³Œø‚É‚È‚è‚Ü‚·B
+ 外部çµåˆãƒ•ã‚§ãƒƒãƒã®æœ€å¤§æ·±åº¦ã‚’è¨å®šã—ã¾ã™ã€‚çµåˆã™ã‚‹é–¢é€£ã¯
+ 対一関連ã®ã¿ï¼ˆä¸€å¯¾ä¸€ã€å¤šå¯¾ä¸€ï¼‰ã§ã™ã€‚
+ 0 を指定ã™ã‚‹ã¨å¤–部çµåˆãƒ•ã‚§ãƒƒãƒã¯ç„¡åŠ¹ã«ãªã‚Šã¾ã™ã€‚
- —áF
- „§‚·‚é’l‚Í 0 ‚©‚ç 3 ‚Å‚·B
+ 例:
+ 推奨ã™ã‚‹å€¤ã¯ 0 ã‹ã‚‰ 3 ã§ã™ã€‚
@@ -452,10 +454,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.default_batch_fetch_size
- ŠÖ˜AƒtƒFƒbƒ`‚̃fƒtƒHƒ‹ƒgƒoƒbƒ`ƒTƒCƒY‚ðŽw’肵‚Ü‚·B
+ 関連フェッãƒã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒãƒƒãƒã‚µã‚¤ã‚ºã‚’指定ã—ã¾ã™ã€‚
- —áF
- „§‚·‚é’l‚Í 4 , 8 , 16 ‚Å‚·B
+ 例:
+ 推奨ã™ã‚‹å€¤ã¯ 4 , 8 , 16 ã§ã™ã€‚
@@ -464,8 +466,8 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.default_entity_mode
- SessionFactory ‚©‚çƒZƒbƒVƒ‡ƒ“‚ðƒI[ƒvƒ“‚µ‚½‚Æ‚«‚É
- Žg—p‚·‚éƒGƒ“ƒeƒBƒeƒB‚̃fƒtƒHƒ‹ƒgƒ‚[ƒh‚ðݒ肵‚Ü‚·B
+ SessionFactory ã‹ã‚‰ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’オープンã—ãŸã¨ãã«
+ 使用ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆãƒ¢ãƒ¼ãƒ‰ã‚’è¨å®šã—ã¾ã™ã€‚
dynamic-map, dom4j,
pojo
@@ -477,10 +479,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.order_updates
- €–Ú‚ªXV‚³‚ꂽ‚Æ‚«‚ÉA•Ê‚ÌSQL‚ÅŽåƒL[‚ðXV‚·‚邱‚Æ‚ð‹§‚µ‚Ü‚·B
- ‚±‚Ìê‡A“¯ŽžŽÀs‰Â”\‚ȃVƒXƒeƒ€‚Å‚ÍA‚Ü‚ê‚ɃfƒbƒhƒƒbƒN‚ª”¶‚·‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B
+ é …ç›®ãŒæ›´æ–°ã•ã‚ŒãŸã¨ãã«ã€åˆ¥ã®SQLã§ä¸»ã‚ーを更新ã™ã‚‹ã“ã¨ã‚’強制ã—ã¾ã™ã€‚
+ ã“ã®å ´åˆã€åŒæ™‚実行å¯èƒ½ãªã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã€ã¾ã‚Œã«ãƒ‡ãƒƒãƒ‰ãƒãƒƒã‚¯ãŒç™ºç”Ÿã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚
- —áF
+ 例:
true | false
@@ -490,10 +492,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.generate_statistics
- —LŒø‚Ìê‡AHibernate‚̓pƒtƒH[ƒ}ƒ“ƒXƒ`ƒ…[ƒjƒ“ƒO‚É
- —LŒø‚È“Œvî•ñ‚ðŽûW‚µ‚Ü‚·B
+ 有効ã®å ´åˆã€Hibernateã¯ãƒ‘フォーマンスãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã«
+ 有効ãªçµ±è¨ˆæƒ…å ±ã‚’åŽé›†ã—ã¾ã™ã€‚
- —áF
+ 例:
true | false
@@ -503,10 +505,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.use_identifer_rollback
- —LŒø‚Ìê‡AƒIƒuƒWƒFƒNƒg‚ªíœ‚³‚ꂽ‚Æ‚«‚É
- Ž¯•ÊŽqƒvƒƒpƒeƒB‚ðƒŠƒZƒbƒg‚µAƒfƒtƒHƒ‹ƒg’l‚É‚µ‚½‚à‚̂𶬂µ‚Ü‚·B
+ 有効ã®å ´åˆã€ã‚ªãƒ–ジェクトãŒå‰Šé™¤ã•ã‚ŒãŸã¨ãã«
+ è˜åˆ¥åプãƒãƒ‘ティをリセットã—ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã«ã—ãŸã‚‚ã®ã‚’生æˆã—ã¾ã™ã€‚
- —áF
+ 例:
true | false
@@ -516,10 +518,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.use_sql_comments
- —LŒø‚Ìê‡ASQL“à‚ɃRƒƒ“ƒg‚𶬂µ‚Ü‚·B‚±‚ê‚̓fƒoƒbƒN‚ð—eˆÕ‚É‚µ‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Ì’l‚Í false ‚Å‚·B
+ 有効ã®å ´åˆã€SQL内ã«ã‚³ãƒ¡ãƒ³ãƒˆã‚’生æˆã—ã¾ã™ã€‚ã“ã‚Œã¯ãƒ‡ãƒãƒƒã‚¯ã‚’容易ã«ã—ã¾ã™ã€‚
+ デフォルトã®å€¤ã¯ false ã§ã™ã€‚
- —áF
+ 例:
true | false
@@ -529,14 +531,14 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- Hibernate JDBC ‚ƃRƒlƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB
+ Hibernate JDBC ã¨ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
- ˆÓ–¡
+ プãƒãƒ‘ティå
+ æ„味
@@ -545,8 +547,8 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jdbc.fetch_size
- ’l‚ª0‚Å‚È‚¢ê‡AJDBCƒtƒFƒbƒ`ƒTƒCƒY‚ðŒˆ’è‚µ‚Ü‚·
- ( Statement.setFetchSize() ‚ðŒÄ‚Ñ‚Ü‚·)B
+ 値ãŒ0ã§ãªã„å ´åˆã€JDBCフェッãƒã‚µã‚¤ã‚ºã‚’決定ã—ã¾ã™
+ ( Statement.setFetchSize() を呼ã³ã¾ã™)。
@@ -554,10 +556,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jdbc.batch_size
- ’l‚ª0‚Å‚È‚¢ê‡AHibernate‚ªJDBC2ƒoƒbƒ`XV‚ðŽg—p‚µ‚Ü‚·B
+ 値ãŒ0ã§ãªã„å ´åˆã€HibernateãŒJDBC2ãƒãƒƒãƒæ›´æ–°ã‚’使用ã—ã¾ã™ã€‚
- —áF
- „§‚·‚é’l‚Í 5 ‚©‚ç 30 ‚Å‚·B
+ 例:
+ 推奨ã™ã‚‹å€¤ã¯ 5 ã‹ã‚‰ 30 ã§ã™ã€‚
@@ -566,13 +568,13 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jdbc.batch_versioned_data
- ‚à‚µJDBCƒhƒ‰ƒCƒo‚ª executeBatch() ‚É‚æ‚Á‚ijŠm‚Ès”‚ð
- •Ô‚·ê‡A‚±‚̃vƒƒpƒeƒB‚ð true ‚É‚µ‚Ä‚‚¾‚³‚¢
- i’Êí‚Í‚±‚̃IƒvƒVƒ‡ƒ“‚ðON‚É‚µ‚Ü‚·jB
- Hibernate‚ÍAŽ©“®ƒo[ƒWƒ‡ƒ“ƒf[ƒ^‚Ì‚½‚߃oƒbƒ`DML‚ðŽg‚¢‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Ì’l‚Í false ‚Å‚·B
+ ã‚‚ã—JDBCドライãƒãŒ executeBatch() ã«ã‚ˆã£ã¦æ£ç¢ºãªè¡Œæ•°ã‚’
+ è¿”ã™å ´åˆã€ã“ã®ãƒ—ãƒãƒ‘ティを true ã«ã—ã¦ãã ã•ã„
+ (通常ã¯ã“ã®ã‚ªãƒ—ションをONã«ã—ã¾ã™ï¼‰ã€‚
+ Hibernateã¯ã€è‡ªå‹•ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ‡ãƒ¼ã‚¿ã®ãŸã‚ãƒãƒƒãƒDMLを使ã„ã¾ã™ã€‚
+ デフォルトã®å€¤ã¯ false ã§ã™ã€‚
- —áF
+ 例:
true | false
@@ -582,10 +584,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jdbc.factory_class
- ƒJƒXƒ^ƒ€ Batcher ‚ð‘I‚Ñ‚Ü‚·B
- ‚Ù‚Æ‚ñ‚ǂ̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉA‚±‚ÌÝ’è‚Í•K—v‚ ‚è‚Ü‚¹‚ñB
+ カスタムBatcher ã‚’é¸ã³ã¾ã™ã€‚
+ ã»ã¨ã‚“ã©ã®ã‚¢ãƒ—リケーションã«ã€ã“ã®è¨å®šã¯å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
- —áF
+ 例:
classname.of.BatcherFactory
@@ -595,11 +597,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jdbc.use_scrollable_resultset
- ƒXƒNƒ[ƒ‹‰Â”\‚ȃŠƒUƒ‹ƒgƒZƒbƒg‚ðAHibernate‚ªŽg—p‚µ‚Ü‚·B
- ‚±‚̃vƒƒpƒeƒB‚ÍAJDBCƒRƒlƒNƒVƒ‡ƒ“‚ªƒRƒlƒNƒVƒ‡ƒ“ƒƒ^ƒf[ƒ^‚ð
- ƒTƒ|[ƒg‚µ‚Ä‚¢‚邱‚Æ‚ª•K{ðŒ‚É‚È‚è‚Ü‚·B
+ スクãƒãƒ¼ãƒ«å¯èƒ½ãªãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’ã€HibernateãŒä½¿ç”¨ã—ã¾ã™ã€‚
+ ã“ã®ãƒ—ãƒãƒ‘ティã¯ã€JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ãŒã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚’
+ サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã“ã¨ãŒå¿…é ˆæ¡ä»¶ã«ãªã‚Šã¾ã™ã€‚
- —áF
+ 例:
true | false
@@ -609,10 +611,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jdbc.use_streams_for_binary
- JDBC‚Ö/‚©‚ç binary ‚â serializable
- ‚Ì‘‚«ž‚Ý/“Ç‚Ýž‚݃XƒgƒŠ[ƒ€‚ðŽg‚¢‚Ü‚·(ƒVƒXƒeƒ€ƒŒƒxƒ‹‚̃vƒƒpƒeƒB)B
+ JDBCã¸/ã‹ã‚‰ binary ã‚„ serializable
+ ã®æ›¸ãè¾¼ã¿/èªã¿è¾¼ã¿ã‚¹ãƒˆãƒªãƒ¼ãƒ を使ã„ã¾ã™(システムレベルã®ãƒ—ãƒãƒ‘ティ)。
- —áF
+ 例:
true | false
@@ -622,13 +624,13 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jdbc.use_get_generated_keys
- ‘}“ü‚ÌŒã‚ÉŽ©“®¶¬‚³‚ꂽŽåƒL[‚ðŽæ“¾‚·‚邽‚ß‚Ì
- JDBC3 PreparedStatement.getGeneratedKeys() ‚ÌŽg—p‚ð—LŒø‚É‚µ‚Ü‚·B
- ‚±‚ê‚ÍJDBC3+ƒhƒ‰ƒCƒo‚ÆJRE1.4+‚ð•K—v‚Æ‚µA
- ‚à‚µHibernate‚ÌŽ¯•ÊŽqƒWƒFƒlƒŒ[ƒ^‚É–â‘肪”¶‚·‚é‚悤‚È‚çfalse‚Éݒ肵‚Ä‚‚¾‚³‚¢B
- ƒfƒtƒHƒ‹ƒg‚ł̓RƒlƒNƒVƒ‡ƒ“ƒƒ^ƒf[ƒ^‚ðŽg‚¢ƒhƒ‰ƒCƒo‚Ì”\—Í‚ðŒˆ’è‚µ‚Ü‚·B
+ 挿入ã®å¾Œã«è‡ªå‹•ç”Ÿæˆã•ã‚ŒãŸä¸»ã‚ーをå–å¾—ã™ã‚‹ãŸã‚ã®
+ JDBC3 PreparedStatement.getGeneratedKeys() ã®ä½¿ç”¨ã‚’有効ã«ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯JDBC3+ドライãƒã¨JRE1.4+ã‚’å¿…è¦ã¨ã—ã€
+ ã‚‚ã—Hibernateã®è˜åˆ¥åジェãƒãƒ¬ãƒ¼ã‚¿ã«å•é¡ŒãŒç™ºç”Ÿã™ã‚‹ã‚ˆã†ãªã‚‰falseã«è¨å®šã—ã¦ãã ã•ã„。
+ デフォルトã§ã¯ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚’使ã„ドライãƒã®èƒ½åŠ›ã‚’決定ã—ã¾ã™ã€‚
- —áF
+ 例:
true|false
@@ -638,10 +640,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.provider_class
- JDBCƒRƒlƒNƒVƒ‡ƒ“‚ðHibernate‚É’ñ‹Ÿ‚·‚é“ÆŽ©‚Ì ConnectionProvider ‚Ì
- –¼‘O‚ðŽw’肵‚Ü‚·B
+ JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’Hibernateã«æä¾›ã™ã‚‹ç‹¬è‡ªã® ConnectionProvider ã®
+ åå‰ã‚’指定ã—ã¾ã™ã€‚
- —áF
+ 例:
classname.of.ConnectionProvider
@@ -651,11 +653,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.isolation
- JDBCƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£ƒŒƒxƒ‹‚ðݒ肵‚Ü‚·B
- ‘Ó–‚È’l‚𒲂ׂ邽‚ß‚É‚Í java.sql.Connection ‚ðƒ`ƒFƒbƒN‚µ‚Ä‚‚¾‚³‚¢B
- ‚µ‚©‚µŽg—p‚·‚éƒf[ƒ^ƒx[ƒX‚ªA‚·‚ׂĂ̕ª—£ƒŒƒxƒ‹‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚é‚Æ‚ÍŒÀ‚è‚Ü‚¹‚ñB
+ JDBCトランザクション分離レベルをè¨å®šã—ã¾ã™ã€‚
+ 妥当ãªå€¤ã‚’調ã¹ã‚‹ãŸã‚ã«ã¯ java.sql.Connection ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。
+ ã—ã‹ã—使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒã€ã™ã¹ã¦ã®åˆ†é›¢ãƒ¬ãƒ™ãƒ«ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã¨ã¯é™ã‚Šã¾ã›ã‚“。
- —áF
+ 例:
1, 2, 4, 8
@@ -665,9 +667,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.autocommit
- ƒv[ƒ‹‚³‚ê‚Ä‚¢‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ÌŽ©“®ƒRƒ~ƒbƒg‚ð—LŒø‚É‚·‚éi”ñ„§jB
+ プールã•ã‚Œã¦ã„ã‚‹JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã®è‡ªå‹•ã‚³ãƒŸãƒƒãƒˆã‚’有効ã«ã™ã‚‹ï¼ˆéžæŽ¨å¥¨ï¼‰ã€‚
- —áF
+ 例:
true | false
@@ -677,28 +679,28 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.release_mode
- Hibernate‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðƒŠƒŠ[ƒX‚·‚é‚©‚ðŽw’肵‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Å‚Í
- ƒZƒbƒVƒ‡ƒ“‚ª–¾Ž¦“I‚ɃNƒ[ƒY‚Ü‚½‚ÍØ’f‚³‚ê‚Ä‚àƒRƒlƒNƒVƒ‡ƒ“‚Í•ÛŽ‚µ‚Ü‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚ÌJTAƒf[ƒ^ƒ\[ƒX‚Ìê‡A
- ‚·‚ׂĂÌJDBCƒR[ƒ‹‚ÌŒãA‹§“I‚ɃRƒlƒNƒVƒ‡ƒ“‚ðƒŠƒŠ[ƒX‚·‚邽‚ß‚É after_statement ‚ð
- Žg‚Á‚Ä‚‚¾‚³‚¢B
- ”ñJTAƒRƒlƒNƒVƒ‡ƒ“‚Ìê‡AŠeƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªI—¹‚µ‚½‚Æ‚«‚É after_transaction
- ‚ðŽg‚¢AƒRƒlƒNƒVƒ‡ƒ“‚ðƒŠƒŠ[ƒX‚µ‚Ä‚‚¾‚³‚¢B
- auto ‚É‚·‚é‚ÆA
- JTA‚âCMTƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ìê‡A after_statement ‚ŃNƒ[ƒY‚µA
- JDBCƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ìê‡A after_transaction ‚ŃNƒ[ƒY‚µ‚Ü‚·B
+ HibernateãŒJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’リリースã™ã‚‹ã‹ã‚’指定ã—ã¾ã™ã€‚デフォルトã§ã¯
+ セッションãŒæ˜Žç¤ºçš„ã«ã‚¯ãƒãƒ¼ã‚ºã¾ãŸã¯åˆ‡æ–ã•ã‚Œã¦ã‚‚コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ä¿æŒã—ã¾ã™ã€‚
+ アプリケーションサーãƒã®JTAデータソースã®å ´åˆã€
+ ã™ã¹ã¦ã®JDBCコールã®å¾Œã€å¼·åˆ¶çš„ã«ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’リリースã™ã‚‹ãŸã‚ã« after_statement ã‚’
+ 使ã£ã¦ãã ã•ã„。
+ éžJTAコãƒã‚¯ã‚·ãƒ§ãƒ³ã®å ´åˆã€å„トランザクションãŒçµ‚了ã—ãŸã¨ãã« after_transaction
+ を使ã„ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’リリースã—ã¦ãã ã•ã„。
+ auto ã«ã™ã‚‹ã¨ã€
+ JTAã‚„CMTトランザクションã®å ´åˆã€ after_statement ã§ã‚¯ãƒãƒ¼ã‚ºã—ã€
+ JDBCトランザクションã®å ´åˆã€ after_transaction ã§ã‚¯ãƒãƒ¼ã‚ºã—ã¾ã™ã€‚
- —áF
+ 例:
auto (default) | on_close |
after_transaction | after_statement
- ’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B‚±‚ÌÝ’è‚Í SessionFactory.openSession ‚©‚ç
- Žæ“¾‚µ‚½ Session ‚¾‚¯‚ÉŒø‰Ê‚ª‚ ‚è‚Ü‚·B
- SessionFactory.getCurrentSession ‚ð’Ê‚¶‚Ď擾‚µ‚½
- Session ‚Å‚ÍACurrentSessionContext
- ‚ÌŽÀ‘•‚É‚æ‚Á‚ÄAƒRƒlƒNƒVƒ‡ƒ“‚̃ŠƒŠ[ƒXƒ‚[ƒh‚ðݒ肵‚Ü‚·B
- ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 注æ„ã—ã¦ãã ã•ã„。ã“ã®è¨å®šã¯ SessionFactory.openSession ã‹ã‚‰
+ å–å¾—ã—㟠Session ã ã‘ã«åŠ¹æžœãŒã‚ã‚Šã¾ã™ã€‚
+ SessionFactory.getCurrentSession を通ã˜ã¦å–å¾—ã—ãŸ
+ Session ã§ã¯ã€CurrentSessionContext
+ ã®å®Ÿè£…ã«ã‚ˆã£ã¦ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ãƒªãƒªãƒ¼ã‚¹ãƒ¢ãƒ¼ãƒ‰ã‚’è¨å®šã—ã¾ã™ã€‚
+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
@@ -707,8 +709,8 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.connection.<propertyName>
- JDBC‚Ì propertyName ƒvƒƒpƒeƒB‚ðA
- DriverManager.getConnection() ‚É“n‚µ‚Ü‚·B
+ JDBCã® propertyName プãƒãƒ‘ティをã€
+ DriverManager.getConnection() ã«æ¸¡ã—ã¾ã™ã€‚
@@ -716,8 +718,8 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.jndi.<propertyName>
- propertyName ƒvƒƒpƒeƒB‚ðA
- JNDI InitialContextFactory ‚É“n‚µ‚Ü‚·B
+ propertyName プãƒãƒ‘ティをã€
+ JNDI InitialContextFactory ã«æ¸¡ã—ã¾ã™ã€‚
@@ -725,14 +727,14 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- Hibernate ƒLƒƒƒbƒVƒ…ƒvƒƒpƒeƒB
+ Hibernate ã‚ャッシュプãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
- ˆÓ–¡
+ プãƒãƒ‘ティå
+ æ„味
@@ -741,9 +743,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cache.provider_class
- ƒJƒXƒ^ƒ€ CacheProvider ‚̃Nƒ‰ƒX–¼‚Å‚·B
+ カスタムCacheProvider ã®ã‚¯ãƒ©ã‚¹åã§ã™ã€‚
- —áF
+ 例:
classname.of.CacheProvider
@@ -753,12 +755,12 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cache.use_minimal_puts
- ‘‚«ž‚Ý‚ðŬŒÀ‚É‚·‚邽‚ß‚ÉA“ñŽŸƒLƒƒƒbƒVƒ…‚Ì‘€ì‚ðÅ“K‰»‚µ‚Ü‚·B
- ‚»‚Ì‘ã‚í‚è‚ÉA“Ç‚Ýž‚Ý‚ª‚æ‚è•p”É‚É”¶‚·‚é‚悤‚É‚È‚è‚Ü‚·B
- ‚±‚̃ZƒbƒeƒBƒ“ƒO‚̓Nƒ‰ƒXƒ^ƒLƒƒƒbƒVƒ…‚Å–ð‚É—§‚¿‚Ü‚·B
- Hibernate3‚ł̓Nƒ‰ƒXƒ^ƒLƒƒƒbƒVƒ…ŽÀ‘•—p‚ɃfƒtƒHƒ‹ƒg‚Å‚Í—LŒø‚É‚È‚Á‚Ä‚¢‚Ü‚·B
+ 書ãè¾¼ã¿ã‚’最å°é™ã«ã™ã‚‹ãŸã‚ã«ã€äºŒæ¬¡ã‚ャッシュã®æ“作を最é©åŒ–ã—ã¾ã™ã€‚
+ ãã®ä»£ã‚ã‚Šã«ã€èªã¿è¾¼ã¿ãŒã‚ˆã‚Šé »ç¹ã«ç™ºç”Ÿã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
+ ã“ã®ã‚»ãƒƒãƒ†ã‚£ãƒ³ã‚°ã¯ã‚¯ãƒ©ã‚¹ã‚¿ã‚ャッシュã§å½¹ã«ç«‹ã¡ã¾ã™ã€‚
+ Hibernate3ã§ã¯ã‚¯ãƒ©ã‚¹ã‚¿ã‚ャッシュ実装用ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯æœ‰åŠ¹ã«ãªã£ã¦ã„ã¾ã™ã€‚
- —áF
+ 例:
true|false
@@ -768,9 +770,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cache.use_query_cache
- “Á’è‚̃NƒGƒŠ‚ªƒLƒƒƒbƒVƒ…‰Â”\‚ÈꇂÉAƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚µ‚Ü‚·B
+ 特定ã®ã‚¯ã‚¨ãƒªãŒã‚ャッシュå¯èƒ½ãªå ´åˆã«ã€ã‚¯ã‚¨ãƒªã‚ャッシュを有効ã«ã—ã¾ã™ã€‚
- —áF
+ 例:
true|false
@@ -780,11 +782,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cache.use_second_level_cache
- “ñŽŸƒLƒƒƒbƒVƒ…‚ðŠ®‘S‚É–³Œø‚É‚·‚éꇂɎg‚¢‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Å‚Í—LŒø‚ÅAƒNƒ‰ƒX‚Ì <cache> ƒ}ƒbƒsƒ“ƒO
- ‚ŧŒä‚µ‚Ü‚·B
+ 二次ã‚ャッシュを完全ã«ç„¡åŠ¹ã«ã™ã‚‹å ´åˆã«ä½¿ã„ã¾ã™ã€‚
+ デフォルトã§ã¯æœ‰åŠ¹ã§ã€ã‚¯ãƒ©ã‚¹ã® <cache> マッピング
+ ã§åˆ¶å¾¡ã—ã¾ã™ã€‚
- —áF
+ 例:
true|false
@@ -794,10 +796,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cache.query_cache_factory
- ƒJƒXƒ^ƒ€ QueryCache ƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃Nƒ‰ƒX–¼‚ð
- Žw’肵‚Ü‚·BƒfƒtƒHƒ‹ƒg‚Å‚Í StandardQueryCache ‚É‚È‚è‚Ü‚·B
+ カスタムQueryCache インターフェイスã®ã‚¯ãƒ©ã‚¹åã‚’
+ 指定ã—ã¾ã™ã€‚デフォルトã§ã¯ StandardQueryCache ã«ãªã‚Šã¾ã™ã€‚
- —áF
+ 例:
classname.of.QueryCache
@@ -807,9 +809,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cache.region_prefix
- “ñŽŸƒLƒƒƒbƒVƒ…‚̗̈於‚ÌÚ“ªŽ«‚Å‚·B
+ 二次ã‚ャッシュã®é ˜åŸŸåã®æŽ¥é 辞ã§ã™ã€‚
- —áF
+ 例:
prefix
@@ -819,9 +821,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cache.use_structured_entries
- “ñŽŸƒLƒƒƒbƒVƒ…‚ÉŠi”[‚·‚éƒf[ƒ^‚ðAl‚ª—‰ð‚µ‚â‚·‚¢ƒtƒH[ƒ}ƒbƒg‚É‚µ‚Ü‚·B
+ 二次ã‚ャッシュã«æ ¼ç´ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’ã€äººãŒç†è§£ã—ã‚„ã™ã„フォーマットã«ã—ã¾ã™ã€‚
- —áF
+ 例:
true|false
@@ -831,14 +833,14 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- Hibernate ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB
+ Hibernate トランザクションプãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
- ˆÓ–¡
+ プãƒãƒ‘ティå
+ æ„味
@@ -847,11 +849,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.transaction.factory_class
- Hibernate Transaction API‚ƈê‚ÉŽg‚í‚ê‚é
- TransactionFactory ‚̃Nƒ‰ƒX–¼‚Å‚·B
- iƒfƒtƒHƒ‹ƒg‚Å‚Í JDBCTransactionFactory ‚Å‚·jB
+ Hibernate Transaction APIã¨ä¸€ç·’ã«ä½¿ã‚れる
+ TransactionFactory ã®ã‚¯ãƒ©ã‚¹åã§ã™ã€‚
+ (デフォルトã§ã¯ JDBCTransactionFactory ã§ã™ï¼‰ã€‚
- —áF
+ 例:
classname.of.TransactionFactory
@@ -861,10 +863,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
jta.UserTransaction
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚©‚çJTA UserTransaction ‚ðŽæ“¾‚·‚邽‚ß‚É
- JTATransactionFactory ‚ÉŽg‚í‚ê‚éJNDI–¼‚Å‚·B
+ アプリケーションサーãƒã‹ã‚‰JTA UserTransaction ã‚’å–å¾—ã™ã‚‹ãŸã‚ã«
+ JTATransactionFactory ã«ä½¿ã‚れるJNDIåã§ã™ã€‚
- —áF
+ 例:
jndi/composite/name
@@ -874,10 +876,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.transaction.manager_lookup_class
- TransactionManagerLookup ‚̃Nƒ‰ƒX–¼‚Å‚·B
- JTAŠÂ‹«‚É‚¨‚¢‚ÄAJVMƒŒƒxƒ‹‚̃LƒƒƒbƒVƒ…‚ð—LŒø‚É‚·‚邽‚ß‚É•K—v‚Å‚·B
+ TransactionManagerLookup ã®ã‚¯ãƒ©ã‚¹åã§ã™ã€‚
+ JTA環境ã«ãŠã„ã¦ã€JVMレベルã®ã‚ャッシュを有効ã«ã™ã‚‹ãŸã‚ã«å¿…è¦ã§ã™ã€‚
- —áF
+ 例:
classname.of.TransactionManagerLookup
@@ -887,11 +889,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.transaction.flush_before_completion
- —LŒø‚Ìê‡Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌcompletionƒtƒF[ƒY‚Ì‘O‚ÉŽ©“®“I‚É
- ƒZƒbƒVƒ‡ƒ“‚ðƒtƒ‰ƒbƒVƒ…‚µ‚Ü‚·B“à‘Ÿ‚ÌŽ©“®ƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgŠÇ—‚É“K‚µ‚Ä‚¢‚Ü‚·B
- ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 有効ã®å ´åˆã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®completionフェーズã®å‰ã«è‡ªå‹•çš„ã«
+ セッションをフラッシュã—ã¾ã™ã€‚内臓ã®è‡ªå‹•ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒ†ã‚スト管ç†ã«é©ã—ã¦ã„ã¾ã™ã€‚
+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- —áF
+ 例:
true | false
@@ -901,11 +903,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.transaction.auto_close_session
- —LŒø‚Ìê‡Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌcompletionƒtƒF[ƒY‚ÌŒã‚É
- ƒZƒbƒVƒ‡ƒ“‚ðŽ©“®“I‚ɃNƒ[ƒY‚µ‚Ü‚·B“à‘Ÿ‚ÌŽ©“®ƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgŠÇ—‚É“K‚µ‚Ä‚¢‚Ü‚·B
- ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 有効ã®å ´åˆã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®completionフェーズã®å¾Œã«
+ セッションを自動的ã«ã‚¯ãƒãƒ¼ã‚ºã—ã¾ã™ã€‚内臓ã®è‡ªå‹•ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒ†ã‚スト管ç†ã«é©ã—ã¦ã„ã¾ã™ã€‚
+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- —áF
+ 例:
true | false
@@ -915,14 +917,14 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- ‚»‚Ì‘¼‚̃vƒƒpƒeƒB
+ ãã®ä»–ã®ãƒ—ãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
- ˆÓ–¡
+ プãƒãƒ‘ティå
+ æ„味
@@ -931,11 +933,11 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.current_session_context_class
- uŒ»Ý‚ÌvSession ‚Ì‚½‚ß‚ÌiƒJƒXƒ^ƒ€jí—ª‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- ƒrƒ‹ƒgƒCƒ“ƒXƒgƒ‰ƒeƒW[‚ÉŠÖ‚·‚é‚»‚Ì‘¼‚Ìî•ñ‚ɂ‚¢‚Ä‚Í
- ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 「ç¾åœ¨ã®ã€Session ã®ãŸã‚ã®ï¼ˆã‚«ã‚¹ã‚¿ãƒ )戦略をæä¾›ã—ã¾ã™ã€‚
+ ビルトインストラテジーã«é–¢ã™ã‚‹ãã®ä»–ã®æƒ…å ±ã«ã¤ã„ã¦ã¯
+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- —áF
+ 例:
jta | thread |
managed | custom.Class
@@ -946,9 +948,9 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.query.factory_class
- HQLƒp[ƒT[‚ÌŽÀ‘•‚ð‘I‘ð‚µ‚Ü‚·B
+ HQLパーサーã®å®Ÿè£…ã‚’é¸æŠžã—ã¾ã™ã€‚
- —áF
+ 例:
org.hibernate.hql.ast.ASTQueryTranslatorFactory or
org.hibernate.hql.classic.ClassicQueryTranslatorFactory
@@ -959,10 +961,10 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.query.substitutions
- HQL‚ÆSQL‚̃g[ƒNƒ“‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- i—Ⴆ‚ÎAƒg[ƒNƒ“‚ÍŠÖ”‚⃊ƒeƒ‰ƒ‹–¼‚Å‚·jB
+ HQLã¨SQLã®ãƒˆãƒ¼ã‚¯ãƒ³ã‚’マッピングã—ã¾ã™ã€‚
+ (例ãˆã°ã€ãƒˆãƒ¼ã‚¯ãƒ³ã¯é–¢æ•°ã‚„リテラルåã§ã™ï¼‰ã€‚
- —áF
+ 例:
hqlLiteral=SQL_LITERAL, hqlFunction=SQLFUNC
@@ -972,12 +974,12 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.hbm2ddl.auto
- SessionFactory ‚𶬂µ‚½‚Æ‚«‚ÉA
- Ž©“®“I‚ɃXƒL[ƒ}DDL‚ðDB‚Éo—Í‚µ‚Ü‚·B
- create-drop ‚Ìê‡A SessionFactory ‚ð
- ƒNƒ[ƒY‚µ‚½‚Æ‚«‚ÉAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ðƒhƒƒbƒv‚µ‚Ü‚·B
+ SessionFactory を生æˆã—ãŸã¨ãã«ã€
+ 自動的ã«ã‚¹ã‚ーマDDLã‚’DBã«å‡ºåŠ›ã—ã¾ã™ã€‚
+ create-drop ã®å ´åˆã€ SessionFactory ã‚’
+ クãƒãƒ¼ã‚ºã—ãŸã¨ãã«ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマをドãƒãƒƒãƒ—ã—ã¾ã™ã€‚
- —áF
+ 例:
validate | update |
create | create-drop
@@ -988,14 +990,14 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
hibernate.cglib.use_reflection_optimizer
- ŽÀsŽžƒŠƒtƒŒƒNƒVƒ‡ƒ“‚Ì‘ã‚í‚è‚ÌCGLIB‚ÌŽg—p‚ð—LŒø‚É‚µ‚Ü‚·
- iƒVƒXƒeƒ€ƒŒƒxƒ‹‚̃vƒƒpƒeƒBj
- ƒŠƒtƒŒƒNƒVƒ‡ƒ“‚̓gƒ‰ƒuƒ‹ƒVƒ…[ƒeƒBƒ“ƒO‚Ì‚Æ‚«‚ɖ𗧂‚±‚Æ‚ª‚ ‚è‚Ü‚·B
- ƒIƒvƒeƒBƒ}ƒCƒU‚ðƒIƒt‚É‚µ‚Ä‚¢‚é‚Æ‚«‚Å‚³‚¦A
- Hibernate‚É‚Í•K‚¸CGLIB‚ª•K—v‚È‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚̃vƒƒpƒeƒB‚Í hibernate.cfg.xml ‚ÅÝ’è‚Å‚«‚Ü‚¹‚ñB
+ 実行時リフレクションã®ä»£ã‚ã‚Šã®CGLIBã®ä½¿ç”¨ã‚’有効ã«ã—ã¾ã™
+ (システムレベルã®ãƒ—ãƒãƒ‘ティ)
+ リフレクションã¯ãƒˆãƒ©ãƒ–ルシューティングã®ã¨ãã«å½¹ç«‹ã¤ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
+ オプティマイザをオフã«ã—ã¦ã„ã‚‹ã¨ãã§ã•ãˆã€
+ Hibernateã«ã¯å¿…ãšCGLIBãŒå¿…è¦ãªã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“ã®ãƒ—ãƒãƒ‘ティ㯠hibernate.cfg.xml ã§è¨å®šã§ãã¾ã›ã‚“。
- —áF
+ 例:
true | false
@@ -1005,15 +1007,15 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- SQL •ûŒ¾iDialectj
+ SQL 方言(Dialect)
- hibernate.dialect ƒvƒƒpƒeƒB‚É‚ÍA
- Žg—p‚·‚éƒf[ƒ^ƒx[ƒX‚̳‚µ‚¢ org.hibernate.dialect.Dialect ‚̃TƒuƒNƒ‰ƒX‚ðA
- •K‚¸Žw’è‚·‚ׂ«‚Å‚·B
- ‚µ‚©‚µ•ûŒ¾‚ðŽw’è‚·‚ê‚ÎAHibernate‚Íãq‚µ‚½ƒvƒƒpƒeƒB‚Ì‚¢‚‚‚©‚ɂ‚¢‚ÄA
- ‚æ‚è“K؂ȃfƒtƒHƒ‹ƒg’l‚ðŽg‚¢‚Ü‚·B
- ‚»‚¤‚·‚ê‚ÎA‚»‚ê‚ç‚ðŽèì‹Æ‚ÅÝ’è‚·‚éŽèŠÔ‚ªÈ‚¯‚Ü‚·B
+ hibernate.dialect プãƒãƒ‘ティã«ã¯ã€
+ 使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ£ã—ã„ org.hibernate.dialect.Dialect ã®ã‚µãƒ–クラスをã€
+ å¿…ãšæŒ‡å®šã™ã¹ãã§ã™ã€‚
+ ã—ã‹ã—方言を指定ã™ã‚Œã°ã€Hibernateã¯ä¸Šè¿°ã—ãŸãƒ—ãƒãƒ‘ティã®ã„ãã¤ã‹ã«ã¤ã„ã¦ã€
+ よりé©åˆ‡ãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’使ã„ã¾ã™ã€‚
+ ãã†ã™ã‚Œã°ã€ãれらを手作æ¥ã§è¨å®šã™ã‚‹æ‰‹é–“ãŒçœã‘ã¾ã™ã€‚
@@ -1101,21 +1103,21 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- ŠO•”Œ‹‡ƒtƒFƒbƒ`
+ 外部çµåˆãƒ•ã‚§ãƒƒãƒ
- ‚à‚µDB‚ªANSI‚©AOracle‚©SybaseƒXƒ^ƒCƒ‹‚ÌŠO•”Œ‹‡‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éê‡A
- outer join fetching ‚ÍADB‚ÌSQL”s‰ñ”‚ðß–ñ‚µ
- ƒpƒtƒH[ƒ}ƒ“ƒX‚ð—Ç‚‚µ‚Ü‚·BiDB“à‚Å‚æ‚葽‚‚̈—ƒRƒXƒg‚ª”¶‚µ‚Ü‚·j
- ŠO•”Œ‹‡ƒtƒFƒbƒ`‚ÍA‘½‘ΈêAˆê‘Α½A‘½‘Α½Aˆê‘Έê‚̃IƒuƒWƒFƒNƒgŠÖ˜A‚Å
- ƒOƒ‹[ƒvƒIƒuƒWƒFƒNƒg‚ð1‚‚ÌSQL‚Å SELECT ‚µ‚Ü‚·B
+ ã‚‚ã—DBãŒANSIã‹ã€Oracleã‹Sybaseスタイルã®å¤–部çµåˆã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹å ´åˆã€
+ outer join fetching ã¯ã€DBã®SQL発行回数を節約ã—
+ パフォーマンスを良ãã—ã¾ã™ã€‚(DB内ã§ã‚ˆã‚Šå¤šãã®å‡¦ç†ã‚³ã‚¹ãƒˆãŒç™ºç”Ÿã—ã¾ã™ï¼‰
+ 外部çµåˆãƒ•ã‚§ãƒƒãƒã¯ã€å¤šå¯¾ä¸€ã€ä¸€å¯¾å¤šã€å¤šå¯¾å¤šã€ä¸€å¯¾ä¸€ã®ã‚ªãƒ–ジェクト関連ã§
+ グループオブジェクトを1ã¤ã®SQL㧠SELECT ã—ã¾ã™ã€‚
- hibernate.max_fetch_depth ƒvƒƒpƒeƒB‚Ì’l‚ð 0 ‚É‚·‚é‚Æ
- Outer join fetching‚ð ‚·‚×‚Ä –³Œø‚É‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
- 1 ‚â‚»‚êˆÈã‚Ì’l‚ðÝ’è‚·‚é‚ÆAŠO•”Œ‹‡ƒtƒFƒbƒ`‚ª—LŒø‚É‚È‚èA
- ˆê‘Έê‚Æ‘½‘ΈêŠÖ˜A‚ª fetch="join" ‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
+ hibernate.max_fetch_depth プãƒãƒ‘ティã®å€¤ã‚’ 0 ã«ã™ã‚‹ã¨
+ Outer join fetchingã‚’ ã™ã¹ã¦ 無効ã«ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ 1 ã‚„ãれ以上ã®å€¤ã‚’è¨å®šã™ã‚‹ã¨ã€å¤–部çµåˆãƒ•ã‚§ãƒƒãƒãŒæœ‰åŠ¹ã«ãªã‚Šã€
+ 一対一ã¨å¤šå¯¾ä¸€é–¢é€£ãŒ fetch="join" ã¨ã—ã¦ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
@@ -1125,146 +1127,146 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- ƒoƒCƒiƒŠƒXƒgƒŠ[ƒ€
+ ãƒã‚¤ãƒŠãƒªã‚¹ãƒˆãƒªãƒ¼ãƒ
- Oracle‚ÍJDBCƒhƒ‰ƒCƒo‚Æ‚ÌŠÔ‚Å‚â‚è‚Ƃ肳‚ê‚é byte ”z—ñ‚̃TƒCƒY‚ð§ŒÀ‚µ‚Ü‚·B
- binary ‚â serializable Œ^‚Ì‘å‚«‚ȃCƒ“ƒXƒ^ƒ“ƒX‚ðŽg‚¢‚½‚¯‚ê‚ÎA
- hibernate.jdbc.use_streams_for_binary ‚ð—LŒø‚É‚µ‚Ä‚‚¾‚³‚¢B
- ‚½‚¾‚µ ‚±‚ê‚̓VƒXƒeƒ€ƒŒƒxƒ‹‚Ìݒ肾‚¯‚Å‚· B
+ Oracleã¯JDBCドライãƒã¨ã®é–“ã§ã‚„ã‚Šã¨ã‚Šã•ã‚Œã‚‹ byte é…列ã®ã‚µã‚¤ã‚ºã‚’制é™ã—ã¾ã™ã€‚
+ binary ã‚„ serializable åž‹ã®å¤§ããªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’使ã„ãŸã‘ã‚Œã°ã€
+ hibernate.jdbc.use_streams_for_binary を有効ã«ã—ã¦ãã ã•ã„。
+ ãŸã ã— ã“ã‚Œã¯ã‚·ã‚¹ãƒ†ãƒ レベルã®è¨å®šã ã‘ã§ã™ 。
- 2ŽŸƒLƒƒƒbƒVƒ…‚ƃNƒGƒŠ[ƒLƒƒƒbƒVƒ…
+ 2次ã‚ャッシュã¨ã‚¯ã‚¨ãƒªãƒ¼ã‚ャッシュ
- hibernate.cache ƒvƒƒpƒeƒBÚ“ªŽ«‚Í
- Hibernate‚ŃvƒƒZƒX‚âƒNƒ‰ƒXƒ^“ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚¤‚Æ‚±‚Æ‚ð‹–‰Â‚µ‚Ü‚·B
- ‚É‚æ‚葽‚‚ÌÚׂª‚ ‚è‚Ü‚·B
+ hibernate.cache プãƒãƒ‘ティ接é 辞ã¯
+ Hibernateã§ãƒ—ãƒã‚»ã‚¹ã‚„クラスタ二次ã‚ャッシュを使ã†ã¨ã“ã¨ã‚’許å¯ã—ã¾ã™ã€‚
+ ã«ã‚ˆã‚Šå¤šãã®è©³ç´°ãŒã‚ã‚Šã¾ã™ã€‚
- ƒNƒGƒŠ[Œ¾Œê‚Ì’u‚«Š·‚¦
+ クエリー言語ã®ç½®ãæ›ãˆ
- hibernate.query.substitutions ‚ðŽg‚¤‚±‚Æ‚ÅA
- V‚µ‚¢HibernateƒNƒGƒŠƒg[ƒNƒ“‚ð’è‹`‚Å‚«‚Ü‚·B
- —áF
+ hibernate.query.substitutions を使ã†ã“ã¨ã§ã€
+ æ–°ã—ã„Hibernateクエリトークンを定義ã§ãã¾ã™ã€‚
+ 例:
hibernate.query.substitutions true=1, false=0
- ‚±‚ê‚̓g[ƒNƒ“ true ‚Æ false ‚ðA
- ¶¬‚³‚ê‚éSQL‚É‚¨‚¢‚Ä®”ƒŠƒeƒ‰ƒ‹‚É–|–󂵂܂·B
+ ã“ã‚Œã¯ãƒˆãƒ¼ã‚¯ãƒ³ true 㨠false ã‚’ã€
+ 生æˆã•ã‚Œã‚‹SQLã«ãŠã„ã¦æ•´æ•°ãƒªãƒ†ãƒ©ãƒ«ã«ç¿»è¨³ã—ã¾ã™ã€‚
hibernate.query.substitutions toLowercase=LOWER
- ‚±‚ê‚ÍSQL‚Ì LOWER ŠÖ”‚Ì–¼‘O‚Ì•t‚¯‘Ö‚¦‚ð‰Â”\‚É‚µ‚Ü‚·B
+ ã“ã‚Œã¯SQLã® LOWER 関数ã®åå‰ã®ä»˜ã‘替ãˆã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
- Hibernate “Œv
+ Hibernate 統計
- hibernate.generate_statistics ‚ð—LŒø‚É‚µ‚½ê‡A
- “®ì‚µ‚Ä‚¢‚éƒVƒXƒeƒ€‚ðƒ`ƒ…[ƒjƒ“ƒO‚·‚é‚Æ‚«‚ÉASessionFactory.getStatistics()
- ‚ðŒo—R‚µ‚ÄAHibernate‚Í•Ö—˜‚È“Œvî•ñ‚ðo—Í‚µ‚Ü‚·B
- JMX‚ðŒo—R‚µ‚Ä“Œvî•ñ‚ðo—Í‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
- Javadoc‚Ì org.hibernate.stats ƒpƒbƒP[ƒW“à‚Ì
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚É‚Í‚æ‚葽‚‚Ìî•ñ‚ª‚ ‚è‚Ü‚·B
+ hibernate.generate_statistics を有効ã«ã—ãŸå ´åˆã€
+ 動作ã—ã¦ã„るシステムをãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã™ã‚‹ã¨ãã«ã€SessionFactory.getStatistics()
+ を経由ã—ã¦ã€Hibernateã¯ä¾¿åˆ©ãªçµ±è¨ˆæƒ…å ±ã‚’å‡ºåŠ›ã—ã¾ã™ã€‚
+ JMXを経由ã—ã¦çµ±è¨ˆæƒ…å ±ã‚’å‡ºåŠ›ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
+ Javadocã® org.hibernate.stats パッケージ内ã®
+ インターフェイスã«ã¯ã‚ˆã‚Šå¤šãã®æƒ…å ±ãŒã‚ã‚Šã¾ã™ã€‚
- ƒƒMƒ“ƒO
+ ãƒã‚®ãƒ³ã‚°
- Hibernate‚ÍApache commons-loggin‚ðŽg‚Á‚ÄA‚³‚Ü‚´‚܂ȃCƒxƒ“ƒg‚ðƒƒO‚Æ‚µ‚Ä
- o—Í‚µ‚Ü‚·B
+ Hibernateã¯Apache commons-logginを使ã£ã¦ã€ã•ã¾ã–ã¾ãªã‚¤ãƒ™ãƒ³ãƒˆã‚’ãƒã‚°ã¨ã—ã¦
+ 出力ã—ã¾ã™ã€‚
- commons-loggingƒT[ƒrƒX‚ÍiƒNƒ‰ƒXƒpƒX‚É log4j.jar ‚ðŠÜ‚ß‚ê‚ÎjApache Log4j‚ÉA
- ‚Ü‚½iJDK1.4‚©‚»‚êˆÈã‚ÅŽÀs‚³‚¹‚ê‚ÎjJDK1.4 logging‚É’¼Úo—Í‚µ‚Ü‚·B
- Log4j‚Í http://jakarta.apache.org ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
- Log4j‚ðŽg‚¤‚½‚ß‚É‚ÍAƒNƒ‰ƒXƒpƒX‚É log4j.properties ƒtƒ@ƒCƒ‹‚ð”z’u‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- —á‚̃vƒƒpƒeƒBƒtƒ@ƒCƒ‹‚ÍHibernate‚ƈê‚É”z•z‚³‚êA‚»‚ê‚Í src/ ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚è‚Ü‚·B
+ commons-loggingサービスã¯ï¼ˆã‚¯ãƒ©ã‚¹ãƒ‘ス㫠log4j.jar ã‚’å«ã‚ã‚Œã°ï¼‰Apache Log4jã«ã€
+ ã¾ãŸï¼ˆJDK1.4ã‹ãれ以上ã§å®Ÿè¡Œã•ã›ã‚Œã°ï¼‰JDK1.4 loggingã«ç›´æŽ¥å‡ºåŠ›ã—ã¾ã™ã€‚
+ Log4j㯠http://jakarta.apache.org ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã§ãã¾ã™ã€‚
+ Log4jを使ã†ãŸã‚ã«ã¯ã€ã‚¯ãƒ©ã‚¹ãƒ‘ス㫠log4j.properties ファイルをé…ç½®ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ 例ã®ãƒ—ãƒãƒ‘ティファイルã¯Hibernateã¨ä¸€ç·’ã«é…布ã•ã‚Œã€ãれ㯠src/ ディレクトリã«ã‚ã‚Šã¾ã™ã€‚
- Hibernate‚̃ƒOƒƒbƒZ[ƒW‚ÉŠµ‚ê‚邱‚Æ‚ð‹‚‚¨‚·‚·‚ß‚µ‚Ü‚·B
- Hibernate‚̃ƒO‚Í“Ç‚Ý‚â‚·‚A‚Å‚«‚éŒÀ‚èÚׂɂȂé‚悤‚É“w—Í‚³‚ê‚Ä‚¢‚Ü‚·B
- ‚±‚ê‚Í•K{‚̃gƒ‰ƒuƒ‹ƒVƒ…[ƒeƒBƒ“ƒOƒfƒoƒCƒX‚Å‚·B
- ˆÈ‰º‚Éd—v‚ȃƒO‚̃JƒeƒSƒŠ‚ðŽ¦‚µ‚Ü‚·B
+ Hibernateã®ãƒã‚°ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã«æ…£ã‚Œã‚‹ã“ã¨ã‚’å¼·ããŠã™ã™ã‚ã—ã¾ã™ã€‚
+ Hibernateã®ãƒã‚°ã¯èªã¿ã‚„ã™ãã€ã§ãã‚‹é™ã‚Šè©³ç´°ã«ãªã‚‹ã‚ˆã†ã«åŠªåŠ›ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ ã“ã‚Œã¯å¿…é ˆã®ãƒˆãƒ©ãƒ–ルシューティングデãƒã‚¤ã‚¹ã§ã™ã€‚
+ 以下ã«é‡è¦ãªãƒã‚°ã®ã‚«ãƒ†ã‚´ãƒªã‚’示ã—ã¾ã™ã€‚
- Hibernate ƒƒOƒJƒeƒSƒŠ
+ Hibernate ãƒã‚°ã‚«ãƒ†ã‚´ãƒª
- ƒJƒeƒSƒŠ
- ‹@”\
+ カテゴリ
+ 機能
org.hibernate.SQL
- ŽÀs‚µ‚½‚·‚ׂĂÌSQLiDDLjƒXƒe[ƒgƒƒ“ƒg‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ 実行ã—ãŸã™ã¹ã¦ã®SQL(DDL)ステートメントをãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.type
- ‚·‚ׂĂÌJDBCƒpƒ‰ƒ[ƒ^‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ ã™ã¹ã¦ã®JDBCパラメータをãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.tool.hbm2ddl
- ŽÀs‚µ‚½‚·‚ׂĂÌSQLiDDLjƒXƒe[ƒgƒƒ“ƒg‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ 実行ã—ãŸã™ã¹ã¦ã®SQL(DDL)ステートメントをãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.pretty
- session‚ÉŠÖ˜A‚·‚é‚·‚ׂẴGƒ“ƒeƒBƒeƒBiÅ‘å‚Q‚Oj‚̃tƒ‰ƒbƒVƒ…ŽžŠÔ‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ sessionã«é–¢é€£ã™ã‚‹ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ï¼ˆæœ€å¤§ï¼’ï¼ï¼‰ã®ãƒ•ãƒ©ãƒƒã‚·ãƒ¥æ™‚é–“ã‚’ãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.cache
- ‚·‚ׂĂ̂QŽŸƒLƒƒƒbƒVƒ…‚Ì“®ì‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ ã™ã¹ã¦ã®ï¼’次ã‚ャッシュã®å‹•ä½œã‚’ãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.transaction
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÉŠÖ˜A‚·‚é“®ì‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ トランザクションã«é–¢é€£ã™ã‚‹å‹•ä½œã‚’ãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.jdbc
- JDBCƒŠƒ\[ƒXŽæ“¾‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ JDBCリソースå–å¾—ã‚’ãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.hql.ast.AST
- HQL‚ÆSQL‚ÌAST‚̃NƒGƒŠ[ƒp[ƒX‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ HQLã¨SQLã®ASTã®ã‚¯ã‚¨ãƒªãƒ¼ãƒ‘ースをãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate.secure
- ‚·‚ׂĂÌJAAS•ªÍ‚ðƒƒMƒ“ƒO‚µ‚Ü‚·B
+ ã™ã¹ã¦ã®JAAS分æžã‚’ãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚
org.hibernate
- ‚·‚ׂĂðƒƒMƒ“ƒO‚µ‚Ü‚·Biî•ñ‚ª‘å—Ê‚É‚È‚è‚Ü‚·‚ªAƒgƒ‰ƒuƒ‹ƒVƒ…[ƒeƒBƒ“ƒO‚É‚Í•Ö—˜‚Å‚·j
+ ã™ã¹ã¦ã‚’ãƒã‚®ãƒ³ã‚°ã—ã¾ã™ã€‚ï¼ˆæƒ…å ±ãŒå¤§é‡ã«ãªã‚Šã¾ã™ãŒã€ãƒˆãƒ©ãƒ–ルシューティングã«ã¯ä¾¿åˆ©ã§ã™ï¼‰
@@ -1272,34 +1274,34 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- Hibernate‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð쬂·‚é‚Æ‚«‚ÍAorg.hibernate.SQL
- ƒJƒeƒSƒŠ‚Ì debug ‚ðí‚É—LŒø‚É‚µ‚Ä‚¨‚¢‚½‚Ù‚¤‚ª—Ç‚¢‚Å‚µ‚傤B
- ‘ã‘Ö•û–@‚Æ‚µ‚ÄAhibernate.show_sql ‚ð—LŒø‚É‚·‚é•û–@‚ª‚ ‚è‚Ü‚·B
+ Hibernateã§ã‚¢ãƒ—リケーションを作æˆã™ã‚‹ã¨ãã¯ã€org.hibernate.SQL
+ カテゴリ㮠debug を常ã«æœ‰åŠ¹ã«ã—ã¦ãŠã„ãŸã»ã†ãŒè‰¯ã„ã§ã—ょã†ã€‚
+ 代替方法ã¨ã—ã¦ã€hibernate.show_sql を有効ã«ã™ã‚‹æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚
- NamingStrategy ‚ÌŽÀ‘•
+ NamingStrategy ã®å®Ÿè£…
- ƒCƒ“ƒ^[ƒtƒFƒCƒX net.sf.hibernate.cfg.NamingStrategy ‚ðŽg‚¤‚Æ
- ƒf[ƒ^ƒx[ƒXƒIƒuƒWƒFƒNƒg‚ƃXƒL[ƒ}—v‘f‚Ì‚½‚ß‚Ìu–½–¼•W€v‚ðŽw’è‚Å‚«‚Ü‚·B
+ インターフェイス net.sf.hibernate.cfg.NamingStrategy を使ã†ã¨
+ データベースオブジェクトã¨ã‚¹ã‚ーマè¦ç´ ã®ãŸã‚ã®ã€Œå‘½å標準ã€ã‚’指定ã§ãã¾ã™ã€‚
- Java‚ÌŽ¯•ÊŽq‚©‚çƒf[ƒ^ƒx[ƒX‚ÌŽ¯•ÊŽq‚ðŽ©“®¶¬‚·‚邽‚߂̃‹[ƒ‹‚âA
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Å—^‚¦‚½u˜_—“I‚ÈvƒJƒ‰ƒ€‚ƃe[ƒuƒ‹–¼‚©‚ç
- u•¨—“I‚Èvƒe[ƒuƒ‹‚ƃJƒ‰ƒ€–¼‚𶬂·‚邽‚߂̃‹[ƒ‹‚ð—pˆÓ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚±‚Ì‹@”\‚ÍŒJ‚è•Ô‚µ‚ÌŽG‰¹i—Ⴆ‚Î TBL_ ƒvƒŠƒtƒBƒbƒNƒXj‚ðŽæ‚蜂«A
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Ìç’·‚³‚ðŒ¸‚ç‚·‚±‚Ƃɖ𗧂¿‚Ü‚·B
- Hibernate‚ªŽg‚¤ƒfƒtƒHƒ‹ƒg‚Ìí—ª‚Í‚©‚È‚èŬŒÀ‚É‹ß‚¢‚à‚Ì‚Å‚·B
+ Javaã®è˜åˆ¥åã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®è˜åˆ¥åを自動生æˆã™ã‚‹ãŸã‚ã®ãƒ«ãƒ¼ãƒ«ã‚„ã€
+ マッピングファイルã§ä¸ŽãˆãŸã€Œè«–ç†çš„ãªã€ã‚«ãƒ©ãƒ ã¨ãƒ†ãƒ¼ãƒ–ルåã‹ã‚‰
+ 「物ç†çš„ãªã€ãƒ†ãƒ¼ãƒ–ルã¨ã‚«ãƒ©ãƒ åを生æˆã™ã‚‹ãŸã‚ã®ãƒ«ãƒ¼ãƒ«ã‚’用æ„ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã“ã®æ©Ÿèƒ½ã¯ç¹°ã‚Šè¿”ã—ã®é›‘音(例ãˆã° TBL_ プリフィックス)をå–り除ãã€
+ マッピングドã‚ュメントã®å†—é•·ã•ã‚’減らã™ã“ã¨ã«å½¹ç«‹ã¡ã¾ã™ã€‚
+ HibernateãŒä½¿ã†ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æˆ¦ç•¥ã¯ã‹ãªã‚Šæœ€å°é™ã«è¿‘ã„ã‚‚ã®ã§ã™ã€‚
- ƒ}ƒbƒsƒ“ƒO‚ð’ljÁ‚·‚é‘O‚É Configuration.setNamingStrategy() ‚ðŒÄ‚Ô‚±‚Æ‚Å
- ˆÈ‰º‚̂悤‚ɈقȂéí—ª‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·F
+ ãƒžãƒƒãƒ”ãƒ³ã‚°ã‚’è¿½åŠ ã™ã‚‹å‰ã« Configuration.setNamingStrategy() を呼ã¶ã“ã¨ã§
+ 以下ã®ã‚ˆã†ã«ç•°ãªã‚‹æˆ¦ç•¥ã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ï¼š
.buildSessionFactory();]]>
- org.hibernate.cfg.ImprovedNamingStrategy ‚Í‘g‚Ýž‚Ý‚Ìí—ª‚Å‚·B
- ‚±‚ê‚Í‚¢‚‚‚©‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Æ‚Á‚Ä—L—p‚ÈŠJŽn“_‚Æ‚È‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ org.hibernate.cfg.ImprovedNamingStrategy ã¯çµ„ã¿è¾¼ã¿ã®æˆ¦ç•¥ã§ã™ã€‚
+ ã“ã‚Œã¯ã„ãã¤ã‹ã®ã‚¢ãƒ—リケーションã«ã¨ã£ã¦æœ‰ç”¨ãªé–‹å§‹ç‚¹ã¨ãªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- XMLÝ’èƒtƒ@ƒCƒ‹
+ XMLè¨å®šãƒ•ã‚¡ã‚¤ãƒ«
- ‚à‚¤1‚‚̕û–@‚Í hibernate.cfg.xml ‚Æ‚¢‚¤–¼‘O‚̃tƒ@ƒCƒ‹‚Å
- \•ª‚ÈÝ’è‚ðŽw’è‚·‚é•û–@‚Å‚·B
- ‚±‚̃tƒ@ƒCƒ‹‚Í hibernate.properties ƒtƒ@ƒCƒ‹‚Ì‘ã‚í‚è‚Æ‚È‚è‚Ü‚·B
- ‚à‚µ—¼•û‚̃tƒ@ƒCƒ‹‚ª‚ ‚ê‚ÎAƒvƒƒpƒeƒB‚ª’u‚«Š·‚¦‚ç‚ê‚Ü‚·B
+ ã‚‚ã†1ã¤ã®æ–¹æ³•ã¯ hibernate.cfg.xml ã¨ã„ã†åå‰ã®ãƒ•ã‚¡ã‚¤ãƒ«ã§
+ å分ãªè¨å®šã‚’指定ã™ã‚‹æ–¹æ³•ã§ã™ã€‚
+ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ hibernate.properties ファイルã®ä»£ã‚ã‚Šã¨ãªã‚Šã¾ã™ã€‚
+ ã‚‚ã—両方ã®ãƒ•ã‚¡ã‚¤ãƒ«ãŒã‚ã‚Œã°ã€ãƒ—ãƒãƒ‘ティãŒç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚
- XMLÝ’èƒtƒ@ƒCƒ‹‚͉ŠúÝ’è‚Å CLASSPATH ‚É”z’u‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ꂪ—á‚Å‚·F
+ XMLè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã¯åˆæœŸè¨å®šã§ CLASSPATH ã«é…ç½®ã—ã¦ãã ã•ã„。
+ ã“ã‚ŒãŒä¾‹ã§ã™ï¼š
@@ -1338,7 +1340,7 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
-
+
@@ -1365,22 +1367,22 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
]]>
- Œ©‚Ä‚Ì‚Æ‚¨‚èA‚±‚Ì•û–@‚Ì—DˆÊ«‚ÍÝ’è‚Ì‚½‚߂̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹–¼‚ðŠOo‚µ‚É‚Å‚«‚邱‚Æ‚Å‚·B
- HibernateƒLƒƒƒbƒVƒ…‚ðƒ`ƒ…[ƒjƒ“ƒO‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Ì‚Å‚ ‚ê‚ÎA
- hibernate.cfg.xml ‚Í‚æ‚è•Ö—˜‚Å‚·B
- hibernate.properties ‚Æ hibernate.cfg.xml ‚Ì
- ‚Ç‚¿‚ç‚©‚ðŽg‚¦‚邱‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚‚¾‚³‚¢B
- “ñ‚‚͓¯‚¶‚à‚Ì‚ÅAˆá‚¤‚Æ‚±‚ë‚Æ‚¢‚¦‚ÎXML\•¶‚ðŽg‚¤‚±‚Æ‚Ì—˜“_‚¾‚¯‚Å‚·B
+ 見ã¦ã®ã¨ãŠã‚Šã€ã“ã®æ–¹æ³•ã®å„ªä½æ€§ã¯è¨å®šã®ãŸã‚ã®ãƒžãƒƒãƒ”ングファイルåを外出ã—ã«ã§ãã‚‹ã“ã¨ã§ã™ã€‚
+ Hibernateã‚ャッシュをãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ã®ã§ã‚ã‚Œã°ã€
+ hibernate.cfg.xml ã¯ã‚ˆã‚Šä¾¿åˆ©ã§ã™ã€‚
+ hibernate.properties 㨠hibernate.cfg.xml ã®
+ ã©ã¡ã‚‰ã‹ã‚’使ãˆã‚‹ã“ã¨ã‚’覚ãˆã¦ãŠã„ã¦ãã ã•ã„。
+ 二ã¤ã¯åŒã˜ã‚‚ã®ã§ã€é•ã†ã¨ã“ã‚ã¨ã„ãˆã°XML構文を使ã†ã“ã¨ã®åˆ©ç‚¹ã ã‘ã§ã™ã€‚
- XMLÝ’è‚ðŽg‚¤‚±‚Æ‚ÅAHibernate‚͈ȉº‚̂悤‚ɃVƒ“ƒvƒ‹‚É‚È‚è‚Ü‚·B
+ XMLè¨å®šã‚’使ã†ã“ã¨ã§ã€Hibernateã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã‚·ãƒ³ãƒ—ルã«ãªã‚Šã¾ã™ã€‚
- ˆá‚¤XMLÝ’èƒtƒ@ƒCƒ‹‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
+ é•ã†XMLè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- J2EEƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚Æ‚Ì“‡
+ J2EEアプリケーションサーãƒã¨ã®çµ±åˆ
- Hibernate‚ÍJ2EE\‘¢‚Æ“‡‚·‚éƒ|ƒCƒ“ƒg‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+ Hibernateã¯J2EEæ§‹é€ ã¨çµ±åˆã™ã‚‹ãƒã‚¤ãƒ³ãƒˆã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
- ƒRƒ“ƒeƒiŠÇ—ƒf[ƒ^ƒ\[ƒXFHibernate‚Í
- JNDI‚ª’ñ‹Ÿ‚µAƒRƒ“ƒeƒi‚ªŠÇ—‚·‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŽg—p‚Å‚«‚Ü‚·B
- ’ÊíAJTA€‹’‚Ì TransactionManager ‚Æ
- ResourceManager ‚ªƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÇ—(CMT)A
- “Á‚É—lX‚ȃf[ƒ^ƒ\[ƒX‚É‚Ü‚½‚ª‚镪ŽUƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðˆµ‚¢‚Ü‚·B
- “–‘RƒvƒƒOƒ‰ƒ€‚Ńgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽw’è‚Å‚«‚Ü‚·(BMT)B
- ‚ ‚é‚¢‚ÍA‹Lq‚µ‚½ƒR[ƒh‚̃|[ƒ^ƒrƒŠƒeƒB‚ð•Û‚‚½‚ß‚ÉA
- ƒIƒvƒVƒ‡ƒ“‚ÌHibernate‚Ì Transaction API‚ðŽg‚¢‚½‚‚È‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ コンテナ管ç†ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ï¼šHibernateã¯
+ JNDIãŒæä¾›ã—ã€ã‚³ãƒ³ãƒ†ãƒŠãŒç®¡ç†ã™ã‚‹JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’使用ã§ãã¾ã™ã€‚
+ 通常ã€JTAæº–æ‹ ã® TransactionManager ã¨
+ ResourceManager ãŒãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ç®¡ç†(CMT)ã€
+ 特ã«æ§˜ã€…ãªãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã«ã¾ãŸãŒã‚‹åˆ†æ•£ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’扱ã„ã¾ã™ã€‚
+ 当然プãƒã‚°ãƒ©ãƒ ã§ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’指定ã§ãã¾ã™(BMT)。
+ ã‚ã‚‹ã„ã¯ã€è¨˜è¿°ã—ãŸã‚³ãƒ¼ãƒ‰ã®ãƒãƒ¼ã‚¿ãƒ“リティをä¿ã¤ãŸã‚ã«ã€
+ オプションã®Hibernateã® Transaction APIを使ã„ãŸããªã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
@@ -1414,8 +1416,8 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- Ž©“®JNDIƒoƒCƒ“ƒfƒBƒ“ƒOFHibernate‚ÍJNDI‚ª—§‚¿ã‚ª‚Á‚½Œã‚É
- SessionFactory ‚𶬂µ‚Ü‚·B
+ 自動JNDIãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ï¼šHibernateã¯JNDIãŒç«‹ã¡ä¸ŠãŒã£ãŸå¾Œã«
+ SessionFactory を生æˆã—ã¾ã™ã€‚
@@ -1423,12 +1425,12 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- JTAƒZƒbƒVƒ‡ƒ“ƒoƒCƒ“ƒfƒBƒ“ƒO F
- Hibernate Session ‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ÍJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B
- ’Pƒ‚É SessionFactory ‚ðJNDI‚©‚çlookup‚µ‚ÄA
- Œ»Ý‚Ì Session ‚ðŽæ“¾‚µ‚Ü‚·B
- JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹‚µ‚½‚Æ‚«‚ÉAHibernate‚ª Session ‚ðƒtƒ‰ƒbƒVƒ…‚µAƒNƒ[ƒY‚µ‚Ü‚·B
- EJBƒfƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Ì’†‚ÉAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ð錾‚µ‚Ü‚·B
+ JTAセッションãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚° :
+ Hibernate Session ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã¯JTAトランザクションã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚
+ å˜ç´”ã« SessionFactory ã‚’JNDIã‹ã‚‰lookupã—ã¦ã€
+ ç¾åœ¨ã® Session ã‚’å–å¾—ã—ã¾ã™ã€‚
+ JTAトランザクションãŒå®Œäº†ã—ãŸã¨ãã«ã€Hibernate㌠Session をフラッシュã—ã€ã‚¯ãƒãƒ¼ã‚ºã—ã¾ã™ã€‚
+ EJBデプãƒã‚¤ãƒ¡ãƒ³ãƒˆãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ã®ä¸ã«ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’宣言ã—ã¾ã™ã€‚
@@ -1436,85 +1438,85 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- JMXƒfƒvƒƒC: ‚à‚µJMX‚ªŽg—p‰Â”\‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒoi—Ⴆ‚ÎJBOSSj
- ‚ª‚ ‚éê‡AHibernate‚ðMBean‚Æ‚µ‚ăfƒvƒƒC‚·‚邱‚Æ‚ð‘I‚ׂ܂·B
- ‚±‚ê‚Í Configuration ‚©‚ç SessionFactory ‚ð
- ¶¬‚·‚éƒR[ƒh‚𖳂‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ƒRƒ“ƒeƒi‚Í HibernateService ‚ð‹N“®‚µA
- ƒT[ƒrƒX‚̈ˑ¶‚ð—‘z“I‚ÉŠÇ—‚µ‚Ü‚·iƒf[ƒ^ƒ\[ƒX‚ÍHibernate‚â‚»‚Ì‘¼‚ª‹N“®‚·‚é‘O‚É
- Žg—p‚Å‚«‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñjB
+ JMXデプãƒã‚¤: ã‚‚ã—JMXãŒä½¿ç”¨å¯èƒ½ãªã‚¢ãƒ—リケーションサーãƒï¼ˆä¾‹ãˆã°JBOSS)
+ ãŒã‚ã‚‹å ´åˆã€Hibernateã‚’MBeanã¨ã—ã¦ãƒ‡ãƒ—ãƒã‚¤ã™ã‚‹ã“ã¨ã‚’é¸ã¹ã¾ã™ã€‚
+ ã“れ㯠Configuration ã‹ã‚‰ SessionFactory ã‚’
+ 生æˆã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’ç„¡ãã™ã“ã¨ãŒã§ãã¾ã™ã€‚
+ コンテナ㯠HibernateService ã‚’èµ·å‹•ã—ã€
+ サービスã®ä¾å˜ã‚’ç†æƒ³çš„ã«ç®¡ç†ã—ã¾ã™ï¼ˆãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã¯Hibernateã‚„ãã®ä»–ãŒèµ·å‹•ã™ã‚‹å‰ã«
+ 使用ã§ãるよã†ã«ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“)。
- ŠÂ‹«‚Ɉˑ¶‚µ‚Ü‚·‚ªA‚à‚µAƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚ª"connection containment"‚Ì—áŠO‚ðƒXƒ[‚·‚é‚È‚ç
- Ý’è‚̃IƒvƒVƒ‡ƒ“ hibernate.connection.aggressive_release
- ‚ðtrue‚É‚µ‚Ä‚‚¾‚³‚¢B
+ 環境ã«ä¾å˜ã—ã¾ã™ãŒã€ã‚‚ã—ã€ã‚¢ãƒ—リケーションサーãƒãŒ"connection containment"ã®ä¾‹å¤–をスãƒãƒ¼ã™ã‚‹ãªã‚‰
+ è¨å®šã®ã‚ªãƒ—ション hibernate.connection.aggressive_release
+ ã‚’trueã«ã—ã¦ãã ã•ã„。
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“헪ݒè
+ トランザクション戦略è¨å®š
- Hibernate Session API‚ÍAƒA[ƒLƒeƒNƒ`ƒƒ“à‚̃VƒXƒeƒ€‚ÌŠÇŠ‚Å‚ ‚é
- ‚ ‚ç‚ä‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ɉˑ¶‚µ‚Ü‚¹‚ñB
- ‚à‚µƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ÌJDBC‚ð’¼ÚŽg‚¢‚½‚¢ê‡AJDBC API‚©‚ç
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŒÄ‚Ô‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚à‚µAJ2EEƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚Å“®ì‚³‚¹‚é‚È‚çABeanŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŽg‚¢A
- •K—v‚ɉž‚¶‚Ä UserTransaction ‚ðJTA API‚©‚çŒÄ‚Ô‚±‚Æ‚É‚È‚é‚Å‚µ‚傤B
+ Hibernate Session APIã¯ã€ã‚¢ãƒ¼ã‚テクãƒãƒ£å†…ã®ã‚·ã‚¹ãƒ†ãƒ ã®ç®¡è½„ã§ã‚ã‚‹
+ ã‚らゆるトランザクションã«ä¾å˜ã—ã¾ã›ã‚“。
+ ã‚‚ã—コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã®JDBCを直接使ã„ãŸã„å ´åˆã€JDBC APIã‹ã‚‰
+ トランザクションを呼ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã‚‚ã—ã€J2EEアプリケーションサーãƒã§å‹•ä½œã•ã›ã‚‹ãªã‚‰ã€Bean管ç†ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã„ã€
+ å¿…è¦ã«å¿œã˜ã¦ UserTransaction ã‚’JTA APIã‹ã‚‰å‘¼ã¶ã“ã¨ã«ãªã‚‹ã§ã—ょã†ã€‚
- 2‚Âi‚»‚êˆÈãj‚̊‹«‚Ō݊·«‚Ì‚ ‚éƒR[ƒh‚ðˆÛŽ‚·‚邽‚ß‚ÉAƒIƒvƒVƒ‡ƒ“‚Æ‚µ‚Ī–{“I‚ȃVƒXƒeƒ€‚ð
- ƒ‰ƒbƒsƒ“ƒO‚·‚éHibernate Transaction API‚ð„§‚µ‚Ü‚·B
- HibernateÝ’èƒvƒƒpƒeƒB‚Ì hibernate.transaction.factory_class ‚ðÝ’è‚·‚邱‚Æ‚Å
- ‚ ‚é“Á’è‚Ì Transaction ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðŽ‚‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ 2ã¤ï¼ˆãれ以上)ã®ç’°å¢ƒã§äº’æ›æ€§ã®ã‚るコードをç¶æŒã™ã‚‹ãŸã‚ã«ã€ã‚ªãƒ—ションã¨ã—ã¦æ ¹æœ¬çš„ãªã‚·ã‚¹ãƒ†ãƒ ã‚’
+ ラッピングã™ã‚‹Hibernate Transaction APIを推奨ã—ã¾ã™ã€‚
+ Hibernateè¨å®šãƒ—ãƒãƒ‘ティ㮠hibernate.transaction.factory_class ã‚’è¨å®šã™ã‚‹ã“ã¨ã§
+ ã‚る特定㮠Transaction クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’æŒã¤ã“ã¨ãŒã§ãã¾ã™ã€‚
- 3‚‚̊î–{“I‚ÈiŠù‚É‚ ‚éj‘I‘ð‚ð‹“‚°‚Ü‚·F
+ 3ã¤ã®åŸºæœ¬çš„ãªï¼ˆæ—¢ã«ã‚る)é¸æŠžã‚’挙ã’ã¾ã™ï¼š
org.hibernate.transaction.JDBCTransactionFactory
- ƒf[ƒ^ƒx[ƒX(JDBC)ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɈÏ÷‚µ‚Ü‚·iƒfƒtƒHƒ‹ƒgj
+ データベース(JDBC)トランザクションã«å§”è²ã—ã¾ã™ï¼ˆãƒ‡ãƒ•ã‚©ãƒ«ãƒˆï¼‰
org.hibernate.transaction.JTATransactionFactory
- ‚à‚µA‚±‚̃Rƒ“ƒeƒLƒXƒgi—Ⴆ‚ÎAEJBƒZƒbƒVƒ‡ƒ“Beanƒƒ\ƒbƒhj‚Åis’†‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª‘¶Ý‚·‚éA‚à‚µ‚‚Í
- V‚µ‚¢ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠJŽn‚³‚ê‚Ä‚¨‚èABeanŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŽg‚í‚ê‚Ä‚¢‚éê‡A
- ƒRƒ“ƒeƒiŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɈÏ÷‚µ‚Ü‚·B
+ ã‚‚ã—ã€ã“ã®ã‚³ãƒ³ãƒ†ã‚スト(例ãˆã°ã€EJBセッションBeanメソッド)ã§é€²è¡Œä¸ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒå˜åœ¨ã™ã‚‹ã€ã‚‚ã—ãã¯
+ æ–°ã—ã„トランザクションãŒé–‹å§‹ã•ã‚Œã¦ãŠã‚Šã€Bean管ç†ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒä½¿ã‚ã‚Œã¦ã„ã‚‹å ´åˆã€
+ コンテナ管ç†ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«å§”è²ã—ã¾ã™ã€‚
org.hibernate.transaction.CMTTransactionFactory
- ƒRƒ“ƒeƒiŠÇ—JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɈÏ÷‚µ‚Ü‚·
+ コンテナ管ç†JTAトランザクションã«å§”è²ã—ã¾ã™
- Ž©•ªŽ©g‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“í—ªi—Ⴆ‚ÎACORBAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒT[ƒrƒXj‚ð’è‹`‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ 自分自身ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³æˆ¦ç•¥ï¼ˆä¾‹ãˆã°ã€CORBAトランザクションサービス)を定義ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- Hibernate‚Ì‚¢‚‚‚©‚Ì‹@”\i—Ⴆ‚ÎA“ñŽŸƒLƒƒƒbƒVƒ…AJTA‚É‚æ‚éƒRƒ“ƒeƒLƒXƒgƒZƒbƒVƒ‡ƒ“ “™j‚Í
- ŠÇ—‚³‚ꂽŠÂ‹«‚Ì’†‚ÌJTA TransactionManager ‚ւ̃AƒNƒZƒX‚ð—v‹‚µ‚Ü‚·B
- J2EE‚ª‚ЂƂ‚̃ƒJƒjƒYƒ€‚É‹KŠi‰»‚³‚ê‚Ä‚¢‚È‚¢‚Ì‚ÅA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚É‚¨‚¢‚ÄAHibernate‚ª TransactionManager ‚̃Šƒtƒ@ƒŒƒ“ƒX
- ‚ðŽæ“¾‚·‚é•û–@‚𖾊m‚É‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+ Hibernateã®ã„ãã¤ã‹ã®æ©Ÿèƒ½ï¼ˆä¾‹ãˆã°ã€äºŒæ¬¡ã‚ャッシュã€JTAã«ã‚ˆã‚‹ã‚³ãƒ³ãƒ†ã‚ストセッション ç‰ï¼‰ã¯
+ 管ç†ã•ã‚ŒãŸç’°å¢ƒã®ä¸ã®JTA TransactionManager ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’è¦æ±‚ã—ã¾ã™ã€‚
+ J2EEãŒã²ã¨ã¤ã®ãƒ¡ã‚«ãƒ‹ã‚ºãƒ ã«è¦æ ¼åŒ–ã•ã‚Œã¦ã„ãªã„ã®ã§ã€
+ アプリケーションサーãƒã«ãŠã„ã¦ã€Hibernate㌠TransactionManager ã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹
+ ã‚’å–å¾—ã™ã‚‹æ–¹æ³•ã‚’明確ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
- JTA ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ}ƒl[ƒWƒƒ
+ JTA トランザクションマãƒãƒ¼ã‚¸ãƒ£
@@ -1572,95 +1574,95 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
- SessionFactory ‚ÌJNDI‚Ö‚Ì“o˜^
+ SessionFactory ã®JNDIã¸ã®ç™»éŒ²
- JNDI‚É“o˜^‚µ‚½Hibernate SessionFactory ‚Í’Pƒ‚É
- ƒtƒ@ƒNƒgƒŠ‚ðƒ‹ƒbƒNƒAƒbƒv‚µAV‚µ‚¢ Session ‚ðì‚è‚Ü‚·B
- ‚±‚ê‚ÍJNDI‚É“o˜^‚³‚ꂽ Datasource ‚É‚ÍŠÖ˜A‚¹‚¸A
- ‚¨ŒÝ‚¢‚ɃVƒ“ƒvƒ‹‚É‚±‚ê‚ç‚Ì“o˜^‚ðŽg‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ JNDIã«ç™»éŒ²ã—ãŸHibernate SessionFactory ã¯å˜ç´”ã«
+ ファクトリをルックアップã—ã€æ–°ã—ã„ Session を作りã¾ã™ã€‚
+ ã“ã‚Œã¯JNDIã«ç™»éŒ²ã•ã‚ŒãŸ Datasource ã«ã¯é–¢é€£ã›ãšã€
+ ãŠäº’ã„ã«ã‚·ãƒ³ãƒ—ルã«ã“れらã®ç™»éŒ²ã‚’使ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ‚à‚µ SessionFactory ‚ðJNDIƒl[ƒ€ƒXƒy[ƒX‚É“o˜^‚µ‚½‚¢ê‡A
- “Á•Ê‚È–¼‘Oi—Ⴆ‚ÎA java:hibernate/SessionFactory j‚ð
- hibernate.session_factory_name ƒvƒƒpƒeƒB‚ÉŽg‚Á‚Ä‚‚¾‚³‚¢
- ‚à‚µ‚±‚̃vƒƒpƒeƒB‚ðÈ—ª‚µ‚½ê‡A SessionFactory ‚Í
- JNDI‚É“o˜^‚³‚ê‚Ü‚¹‚ñBi‚±‚ê‚ÍTomcat‚̂悤‚ȃfƒtƒHƒ‹ƒgŽÀ‘•‚ÅJNDI‚ª“Ç‚Ý‚æ‚èê—p‚̊‹«‚ÌꇓÁ‚É•Ö—˜‚Å‚·Bj
+ ã‚‚ã— SessionFactory ã‚’JNDIãƒãƒ¼ãƒ スペースã«ç™»éŒ²ã—ãŸã„å ´åˆã€
+ 特別ãªåå‰ï¼ˆä¾‹ãˆã°ã€ java:hibernate/SessionFactory )を
+ hibernate.session_factory_name プãƒãƒ‘ティã«ä½¿ã£ã¦ãã ã•ã„
+ ã‚‚ã—ã“ã®ãƒ—ãƒãƒ‘ティをçœç•¥ã—ãŸå ´åˆã€ SessionFactory ã¯
+ JNDIã«ç™»éŒ²ã•ã‚Œã¾ã›ã‚“。(ã“ã‚Œã¯Tomcatã®ã‚ˆã†ãªãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå®Ÿè£…ã§JNDIãŒèªã¿ã‚ˆã‚Šå°‚用ã®ç’°å¢ƒã®å ´åˆç‰¹ã«ä¾¿åˆ©ã§ã™ã€‚)
- SessionFactory ‚ðJNDI‚É“o˜^‚·‚é‚Æ‚«AHibernate‚Í
- hibernate.jndi.url ‚Ì’l‚ðŽg—p‚µAhibernate.jndi.class
- ‚ðƒCƒjƒVƒƒƒ‹ƒRƒ“ƒeƒLƒXƒg‚Æ‚µ‚Ä‹ï‘̉»‚µ‚Ü‚·B
- ‚à‚µ‰½‚àݒ肵‚È‚¢ê‡‚ÍAƒfƒtƒHƒ‹ƒg‚Ì InitialContext ‚ðŽg—p‚µ‚Ü‚·B
+ SessionFactory ã‚’JNDIã«ç™»éŒ²ã™ã‚‹ã¨ãã€Hibernateã¯
+ hibernate.jndi.url ã®å€¤ã‚’使用ã—ã€hibernate.jndi.class
+ をイニシャルコンテã‚ストã¨ã—ã¦å…·ä½“化ã—ã¾ã™ã€‚
+ ã‚‚ã—何もè¨å®šã—ãªã„å ´åˆã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã® InitialContext を使用ã—ã¾ã™ã€‚
- cfg.buildSessionFactory() ‚ðƒR[ƒ‹Œã
- Hibernate‚ÍŽ©“®“I‚É SessionFactory ‚ðJNDI‚É”z’u‚µ‚Ü‚·B
- HibernateService ‚ƈê‚ÉJMXƒfƒvƒƒCƒƒ“ƒg‚ðŽg‚í‚È‚¢ŒÀ‚èA
- ‚±‚ê‚Í‚±‚̌ĂÑo‚µ‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚̉½‚ç‚©‚̃Xƒ^[ƒgƒAƒbƒvƒR[ƒhi‚à‚µ‚‚̓†[ƒeƒBƒŠƒeƒBƒNƒ‰ƒXj
- ‚É”z’u‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·BiŒã‚Å‹c˜_‚µ‚Ü‚·j
+ cfg.buildSessionFactory() をコール後
+ Hibernateã¯è‡ªå‹•çš„ã« SessionFactory ã‚’JNDIã«é…ç½®ã—ã¾ã™ã€‚
+ HibernateService ã¨ä¸€ç·’ã«JMXデプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚’使ã‚ãªã„é™ã‚Šã€
+ ã“ã‚Œã¯ã“ã®å‘¼ã³å‡ºã—をアプリケーション内ã®ä½•ã‚‰ã‹ã®ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—コード(もã—ãã¯ãƒ¦ãƒ¼ãƒ†ã‚£ãƒªãƒ†ã‚£ã‚¯ãƒ©ã‚¹ï¼‰
+ ã«é…ç½®ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚(後ã§è°è«–ã—ã¾ã™ï¼‰
- ‚à‚µJNDI SessionFactory ‚ðŽg‚¤ê‡AEJB‚⑼‚̃Nƒ‰ƒX‚Í
- JNDIƒ‹ƒbƒNƒAƒbƒv‚ðŽg‚Á‚Ä SessionFactory ‚ðŽæ“¾‚µ‚Ü‚·B
+ ã‚‚ã—JNDI SessionFactory を使ã†å ´åˆã€EJBã‚„ä»–ã®ã‚¯ãƒ©ã‚¹ã¯
+ JNDIルックアップを使ã£ã¦ SessionFactory ã‚’å–å¾—ã—ã¾ã™ã€‚
- ŠÇ—‚³‚ꂽŠÂ‹«‚Å‚Í SessionFactory ‚ðJNDI‚ɃoƒCƒ“ƒh‚µA
- ‚»‚¤‚Å‚È‚¯‚ê‚Î static ƒVƒ“ƒOƒ‹ƒgƒ“‚ðŽg‚¤‚±‚Æ‚ð„§‚µ‚Ü‚·B
- ‚±‚¤‚¢‚Á‚½Úׂ©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒR[ƒh‚ð•ÛŒì‚·‚邽‚ß‚ÉA
- HibernateUtil.getSessionFactory() ‚̂悤‚ȃwƒ‹ƒp[ƒNƒ‰ƒX‚Ì’†‚ÉA
- SessionFactory ‚ðƒ‹ƒbƒNƒAƒbƒv‚·‚éƒR[ƒh‚ð‰B‚·‚±‚Æ‚ð„§‚µ‚Ü‚·B
- ‚±‚̂悤‚ȃwƒ‹ƒp[ƒNƒ‰ƒX‚ÍHibernate‚ðŠJŽn‚·‚é•Ö—˜‚ÈŽè’i‚Å‚à‚ ‚è‚Ü‚·B
- —‚PÍ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 管ç†ã•ã‚ŒãŸç’°å¢ƒã§ã¯ SessionFactory ã‚’JNDIã«ãƒã‚¤ãƒ³ãƒ‰ã—ã€
+ ãã†ã§ãªã‘れ㰠static シングルトンを使ã†ã“ã¨ã‚’推奨ã—ã¾ã™ã€‚
+ ã“ã†ã„ã£ãŸè©³ç´°ã‹ã‚‰ã‚¢ãƒ—リケーションコードをä¿è·ã™ã‚‹ãŸã‚ã«ã€
+ HibernateUtil.getSessionFactory() ã®ã‚ˆã†ãªãƒ˜ãƒ«ãƒ‘ークラスã®ä¸ã«ã€
+ SessionFactory をルックアップã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’éš ã™ã“ã¨ã‚’推奨ã—ã¾ã™ã€‚
+ ã“ã®ã‚ˆã†ãªãƒ˜ãƒ«ãƒ‘ークラスã¯Hibernateを開始ã™ã‚‹ä¾¿åˆ©ãªæ‰‹æ®µã§ã‚‚ã‚ã‚Šã¾ã™ã€‚
+ —ï¼‘ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- JTA‚É‚æ‚錻݂̃ZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgƒ}ƒl[ƒWƒƒ“ƒg
+ JTAã«ã‚ˆã‚‹ç¾åœ¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒ†ã‚ストマãƒãƒ¼ã‚¸ãƒ¡ãƒ³ãƒˆ
- ‚à‚Á‚Æ‚àŠÈ’P‚É Session ‚ƃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðˆµ‚¤•û–@‚ÍA
- Hibernate‚ªŽ©“®“I‚ÉuŒ»Ý‚Ìv Session ‚ðŠÇ—‚·‚邱‚Æ‚Å‚·B
- ƒJƒŒƒ“ƒgƒZƒbƒVƒ‡ƒ“ ‚Ìà–¾‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
- ‚à‚µ uJTAv ƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒg‚ðŽg‚Á‚½ã‚ÅA
- Œ»Ý‚ÌJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÆHibernate Session ‚ªŠÖ˜A‚µ‚Ä‚¢‚È‚¢ê‡‚ÍA
- ʼn‚É sessionFactory.getCurrentSession() ‚ðƒR[ƒ‹‚µA
- JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Æ‚ÌŠÖ˜A•t‚¯‚ðs‚Á‚Ä‚‚¾‚³‚¢B
- uJTAv ƒRƒ“ƒeƒLƒXƒg‚Ì getCurrentSession() ‚ð
- ’Ê‚¶‚Ď擾‚µ‚½ Session ‚ÍAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹‚·‚é‘O‚É
- Ž©“®“I‚Ƀtƒ‰ƒbƒVƒ…‚µAŠ®—¹‚µ‚½Œã‚É‚ÍŽ©“®“I‚ɃNƒ[ƒY‚µ‚Ü‚·B
- ‚Ü‚½AŠeƒXƒe[ƒgƒƒ“ƒgŒã‚ÉJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðÏ‹É“I‚ɃŠƒŠ[ƒX‚µ‚Ü‚·B
- ‚±‚ê‚É‚æ‚èJTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃‰ƒCƒtƒTƒCƒNƒ‹‚Å Session ‚ðŠÇ—‚·‚邱‚Æ‚ª‚Å‚«A
- ƒ†[ƒU[‚̃R[ƒh‚©‚ç‚»‚̂悤‚ÈŠÇ—‚ð‚·‚éƒR[ƒh‚ð”rœ‚Å‚«‚Ü‚·B
- UserTransaction ‚ð’Ê‚¶‚ÄJTA‚ðƒvƒƒOƒ‰ƒ€‚ÅŠÇ—‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚Ü‚½‚ÍAiƒ|[ƒ^ƒuƒ‹‚ȃR[ƒh‚Å‚ ‚ê‚ÎjHibernate Transaction API‚ð
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
- EJBƒRƒ“ƒeƒi‚ðŽg‚¤‚Æ‚«‚ÍACMT‚É‚æ‚é錾“Iƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ªD‚Ü‚µ‚¢‚Å‚·B
+ ã‚‚ã£ã¨ã‚‚ç°¡å˜ã« Session ã¨ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’扱ã†æ–¹æ³•ã¯ã€
+ HibernateãŒè‡ªå‹•çš„ã«ã€Œç¾åœ¨ã®ã€ Session を管ç†ã™ã‚‹ã“ã¨ã§ã™ã€‚
+ カレントセッション ã®èª¬æ˜Žã‚’å‚ç…§ã—ã¦ãã ã•ã„。
+ も㗠「JTA〠セッションコンテã‚ストを使ã£ãŸä¸Šã§ã€
+ ç¾åœ¨ã®JTAトランザクションã¨Hibernate Session ãŒé–¢é€£ã—ã¦ã„ãªã„å ´åˆã¯ã€
+ 最åˆã« sessionFactory.getCurrentSession() をコールã—ã€
+ JTAトランザクションã¨ã®é–¢é€£ä»˜ã‘ã‚’è¡Œã£ã¦ãã ã•ã„。
+ 「JTA〠コンテã‚スト㮠getCurrentSession() ã‚’
+ 通ã˜ã¦å–å¾—ã—㟠Session ã¯ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒå®Œäº†ã™ã‚‹å‰ã«
+ 自動的ã«ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã—ã€å®Œäº†ã—ãŸå¾Œã«ã¯è‡ªå‹•çš„ã«ã‚¯ãƒãƒ¼ã‚ºã—ã¾ã™ã€‚
+ ã¾ãŸã€å„ステートメント後ã«JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ç©æ¥µçš„ã«ãƒªãƒªãƒ¼ã‚¹ã—ã¾ã™ã€‚
+ ã“ã‚Œã«ã‚ˆã‚ŠJTAトランザクションã®ãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«ã§ Session を管ç†ã™ã‚‹ã“ã¨ãŒã§ãã€
+ ユーザーã®ã‚³ãƒ¼ãƒ‰ã‹ã‚‰ãã®ã‚ˆã†ãªç®¡ç†ã‚’ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’排除ã§ãã¾ã™ã€‚
+ UserTransaction を通ã˜ã¦JTAをプãƒã‚°ãƒ©ãƒ ã§ç®¡ç†ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã¾ãŸã¯ã€ï¼ˆãƒãƒ¼ã‚¿ãƒ–ルãªã‚³ãƒ¼ãƒ‰ã§ã‚ã‚Œã°ï¼‰Hibernate Transaction APIã‚’
+ トランザクション境界ã¨ã—ã¦ä½¿ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ EJBコンテナを使ã†ã¨ãã¯ã€CMTã«ã‚ˆã‚‹å®£è¨€çš„トランザクション境界ãŒå¥½ã¾ã—ã„ã§ã™ã€‚
- JMXƒfƒvƒƒCƒƒ“ƒg
+ JMXデプãƒã‚¤ãƒ¡ãƒ³ãƒˆ
- SessionFactory ‚ðJNDI‚©‚çŽæ“¾‚·‚邽‚ß‚É‚Í
- cfg.buildSessionFactory() s‚ð‚Ç‚±‚©‚ÅŽÀs‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚ ‚È‚½‚Í‚±‚ê‚ðAstatic ‰Šú‰»ƒuƒƒbƒN“ài HibernateUtil ‚̂悤‚Èj‚©
- managed service ‚Æ‚µ‚ÄHibernate‚ðƒfƒvƒƒC‚·‚é‚©A‚Ç‚¿‚ç‚©‚ÅŽÀs‚Å‚«‚Ü‚·B
+ SessionFactory ã‚’JNDIã‹ã‚‰å–å¾—ã™ã‚‹ãŸã‚ã«ã¯
+ cfg.buildSessionFactory() 行をã©ã“ã‹ã§å®Ÿè¡Œã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã‚ãªãŸã¯ã“れをã€static åˆæœŸåŒ–ブãƒãƒƒã‚¯å†…( HibernateUtil ã®ã‚ˆã†ãªï¼‰ã‹
+ managed service ã¨ã—ã¦Hibernateをデプãƒã‚¤ã™ã‚‹ã‹ã€ã©ã¡ã‚‰ã‹ã§å®Ÿè¡Œã§ãã¾ã™ã€‚
- JBOSS‚̂悤‚ÈJMX‚Ì‹@”\‚ŃAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚ɃfƒvƒƒC‚·‚邽‚ß‚É
- org.hibernate.jmx.HibernateService ‚ðŽg‚Á‚ÄA”z’u‚µ‚Ü‚·B
- ŽÀۂ̃fƒvƒƒCƒƒ“ƒg‚ÆÝ’è‚̓xƒ“ƒ_[“Á—L‚Å‚·B
- ‚±‚±‚Å—á‚Æ‚µ‚ÄJBOSS 4.0.x—p‚Ì jboss-service.xml ‚ðŽ¦‚µ‚Ü‚·B
+ JBOSSã®ã‚ˆã†ãªJMXã®æ©Ÿèƒ½ã§ã‚¢ãƒ—リケーションサーãƒã«ãƒ‡ãƒ—ãƒã‚¤ã™ã‚‹ãŸã‚ã«
+ org.hibernate.jmx.HibernateService を使ã£ã¦ã€é…ç½®ã—ã¾ã™ã€‚
+ 実際ã®ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆã¨è¨å®šã¯ãƒ™ãƒ³ãƒ€ãƒ¼ç‰¹æœ‰ã§ã™ã€‚
+ ã“ã“ã§ä¾‹ã¨ã—ã¦JBOSS 4.0.x用㮠jboss-service.xml を示ã—ã¾ã™ã€‚
@@ -1707,14 +1709,14 @@ hibernate.dialect = org.hibernate.dialect.PostgreSQLDialect]]>
]]>
- ‚±‚̃tƒ@ƒCƒ‹‚Í META-INF ƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚³‚êA
- JARƒtƒ@ƒCƒ‹‚ðŠg’£‚µ‚½ .sar (service archive)‚ŃpƒbƒP[ƒW‰»‚³‚ê‚Ü‚·B
- “¯—l‚ÉHibernateƒpƒbƒP[ƒW‚à•K—v‚Å‚·B‚Ü‚½AHibernate‚̓T[ƒhƒp[ƒeƒB‚̃‰ƒCƒuƒ‰ƒŠ‚à—v‹‚µ‚Ü‚·B
- ƒRƒ“ƒpƒCƒ‹‚µ‚½‰i‘±‰»ƒNƒ‰ƒX‚Æ‚»‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚à“¯—l‚ɃA[ƒJƒCƒui.sarƒtƒ@ƒCƒ‹j‚É“ü‚ê‚Ü‚·B
- ƒGƒ“ƒ^[ƒvƒ‰ƒCƒYbeani’Êí‚̓ZƒbƒVƒ‡ƒ“beanj‚ÍŽ©g‚ÌJARƒtƒ@ƒCƒ‹‚ð•ÛŽ‚µ‚Ü‚·‚ªA
- 1‰ñ‚ÅiƒzƒbƒgjƒfƒvƒƒC‰Â”\‚ȃ†ƒjƒbƒg‚Ì‚½‚߂ɃƒCƒ“ƒT[ƒrƒXƒA[ƒJƒCƒu‚Æ‚µ‚Ä‚±‚ÌEJB JARƒtƒ@ƒCƒ‹‚ðƒCƒ“ƒNƒ‹[ƒh‚·‚é
- ‚±‚Æ‚ª‚Å‚«‚Ü‚·BJBossƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo‚̃hƒLƒ…ƒƒ“ƒg‚ÉJXMƒT[ƒrƒX‚Æ
- EJBƒfƒvƒƒCƒƒ“ƒg‚Ì‚æ‚葽‚‚Ìî•ñ‚ª‚ ‚è‚Ü‚·B
+ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ META-INF ディレクトリã«é…ç½®ã•ã‚Œã€
+ JARファイルを拡張ã—㟠.sar (service archive)ã§ãƒ‘ッケージ化ã•ã‚Œã¾ã™ã€‚
+ åŒæ§˜ã«Hibernateパッケージも必è¦ã§ã™ã€‚ã¾ãŸã€Hibernateã¯ã‚µãƒ¼ãƒ‰ãƒ‘ーティã®ãƒ©ã‚¤ãƒ–ラリもè¦æ±‚ã—ã¾ã™ã€‚
+ コンパイルã—ãŸæ°¸ç¶šåŒ–クラスã¨ãã®ãƒžãƒƒãƒ”ングファイルもåŒæ§˜ã«ã‚¢ãƒ¼ã‚«ã‚¤ãƒ–(.sarファイル)ã«å…¥ã‚Œã¾ã™ã€‚
+ エンタープライズbean(通常ã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³bean)ã¯è‡ªèº«ã®JARファイルをä¿æŒã—ã¾ã™ãŒã€
+ 1回ã§ï¼ˆãƒ›ãƒƒãƒˆï¼‰ãƒ‡ãƒ—ãƒã‚¤å¯èƒ½ãªãƒ¦ãƒ‹ãƒƒãƒˆã®ãŸã‚ã«ãƒ¡ã‚¤ãƒ³ã‚µãƒ¼ãƒ“スアーカイブã¨ã—ã¦ã“ã®EJB JARファイルをインクルードã™ã‚‹
+ ã“ã¨ãŒã§ãã¾ã™ã€‚JBossアプリケーションサーãƒã®ãƒ‰ã‚ュメントã«JXMサービスã¨
+ EJBデプãƒã‚¤ãƒ¡ãƒ³ãƒˆã®ã‚ˆã‚Šå¤šãã®æƒ…å ±ãŒã‚ã‚Šã¾ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/events.xml b/documentation/manual/ja-JP/src/main/docbook/content/events.xml
index d24f7833fd..b6f06a8558 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/events.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/events.xml
@@ -1,31 +1,33 @@
-
+
+
+
- ƒCƒ“ƒ^[ƒZƒvƒ^‚ƃCƒxƒ“ƒg
+ インターセプタã¨ã‚¤ãƒ™ãƒ³ãƒˆ
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªHibernate‚Ì“à•”‚Å”¶‚·‚éƒCƒxƒ“ƒg‚ɑΉž‚Å‚«‚é‚Æ–ð‚É—§‚‚±‚Æ‚ª‚ ‚è‚Ü‚·B
- ‚ ‚éŽí‚̈ê”Ê“I‚È‹@”\‚ðŽÀ‘•‚Å‚«‚é‚悤‚É‚È‚èA
- ‚Ü‚½Hibernate‚Ì‹@”\‚ðŠg’£‚·‚邱‚Æ‚à‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
+ アプリケーションãŒHibernateã®å†…部ã§ç™ºç”Ÿã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã«å¯¾å¿œã§ãã‚‹ã¨å½¹ã«ç«‹ã¤ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
+ ã‚る種ã®ä¸€èˆ¬çš„ãªæ©Ÿèƒ½ã‚’実装ã§ãるよã†ã«ãªã‚Šã€
+ ã¾ãŸHibernateã®æ©Ÿèƒ½ã‚’æ‹¡å¼µã™ã‚‹ã“ã¨ã‚‚ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
- ƒCƒ“ƒ^[ƒZƒvƒ^
+ インターセプタ
- Interceptor ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg‚Á‚ÄA
- ƒZƒbƒVƒ‡ƒ“‚©‚çƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÖƒR[ƒ‹ƒoƒbƒN‚ð‚·‚é‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚±‚ê‚É‚æ‚è‰i‘±ƒIƒuƒWƒFƒNƒg‚Ì•Û‘¶AXVAíœA“Ç‚Ýž‚Ý‚Ì‘O‚ÉA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒvƒƒpƒeƒB‚ðŒŸ¸‚µ‚½‚葀삵‚½‚è‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
- ‚±‚ê‚͊ĸî•ñ‚Ì’ÇÕ‚É—˜—p‚Å‚«‚Ü‚·B
- ‰º‚Ì—á‚Å Interceptor ‚Í Auditable
- ‚ªì¬‚³‚ê‚é‚ÆŽ©“®“I‚É createTimestamp ‚ðݒ肵A
- Auditable ‚ªXV‚³‚ê‚é‚ÆŽ©“®“I‚É
- lastUpdateTimestamp ƒvƒƒpƒeƒB‚ðXV‚µ‚Ü‚·B
+ Interceptor インターフェイスを使ã£ã¦ã€
+ セッションã‹ã‚‰ã‚¢ãƒ—リケーションã¸ã‚³ãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã“ã‚Œã«ã‚ˆã‚Šæ°¸ç¶šã‚ªãƒ–ジェクトã®ä¿å˜ã€æ›´æ–°ã€å‰Šé™¤ã€èªã¿è¾¼ã¿ã®å‰ã«ã€
+ アプリケーションãŒãƒ—ãƒãƒ‘ティを検査ã—ãŸã‚Šæ“作ã—ãŸã‚Šã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¯ç›£æŸ»æƒ…å ±ã®è¿½è·¡ã«åˆ©ç”¨ã§ãã¾ã™ã€‚
+ 下ã®ä¾‹ã§ Interceptor 㯠Auditable
+ ãŒä½œæˆã•ã‚Œã‚‹ã¨è‡ªå‹•çš„ã« createTimestamp ã‚’è¨å®šã—ã€
+ Auditable ãŒæ›´æ–°ã•ã‚Œã‚‹ã¨è‡ªå‹•çš„ã«
+ lastUpdateTimestamp プãƒãƒ‘ティを更新ã—ã¾ã™ã€‚
- Interceptor ‚ð’¼ÚŽÀ‘•‚µ‚½‚èA
- i‚³‚ç‚É‚æ‚¢‚Ì‚ÍjEmptyInterceptor ‚ðŠg’£‚µ‚½‚è‚Å‚«‚Ü‚·B
+ Interceptor を直接実装ã—ãŸã‚Šã€
+ (ã•ã‚‰ã«ã‚ˆã„ã®ã¯ï¼‰EmptyInterceptor ã‚’æ‹¡å¼µã—ãŸã‚Šã§ãã¾ã™ã€‚
- ƒCƒ“ƒ^[ƒZƒvƒ^‚É‚Í“ñŽí—Þ‚ ‚è‚Ü‚·F
- Session ƒXƒR[ƒv‚Ì‚à‚Ì‚Æ
- SessionFactory ƒXƒR[ƒv‚Ì‚à‚Ì‚Å‚·B
+ インターセプタã«ã¯äºŒç¨®é¡žã‚ã‚Šã¾ã™ï¼š
+ Session スコープã®ã‚‚ã®ã¨
+ SessionFactory スコープã®ã‚‚ã®ã§ã™ã€‚
- Session ƒXƒR[ƒv‚̃Cƒ“ƒ^[ƒZƒvƒ^‚ÍA
- ƒZƒbƒVƒ‡ƒ“‚ðƒI[ƒvƒ“‚·‚é‚Æ‚«‚ÉŽw’肵‚Ü‚·B
- Interceptor ‚ðˆø”‚ÉŽæ‚éSessionFactory.openSession()
- ‚̃I[ƒo[ƒ[ƒhƒƒ\ƒbƒh‚̈ê‚‚ðŽg‚¢‚Ü‚·B
+ Session スコープã®ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—ã‚¿ã¯ã€
+ セッションをオープンã™ã‚‹ã¨ãã«æŒ‡å®šã—ã¾ã™ã€‚
+ Interceptor を引数ã«å–ã‚‹SessionFactory.openSession()
+ ã®ã‚ªãƒ¼ãƒãƒ¼ãƒãƒ¼ãƒ‰ãƒ¡ã‚½ãƒƒãƒ‰ã®ä¸€ã¤ã‚’使ã„ã¾ã™ã€‚
- SessionFactory ƒXƒR[ƒv‚̃Cƒ“ƒ^[ƒZƒvƒ^‚Í Configuration
- ƒIƒuƒWƒFƒNƒg‚ðŽg‚Á‚Ä“o˜^‚µ‚Ü‚·B
- ‚±‚ê‚Í SessionFactory ‚Ì\’z‚æ‚è‚à—D悳‚ê‚Ü‚·B
- ‚±‚Ìê‡A’ñ‹Ÿ‚³‚ê‚éƒCƒ“ƒ^[ƒZƒvƒ^‚Í SessionFactory
- ‚©‚çƒI[ƒvƒ“‚³‚ꂽ‚·‚ׂẴZƒbƒVƒ‡ƒ“‚É“K—p‚³‚ê‚Ü‚·B
- ‚±‚ê‚ÍŽg—p‚·‚éƒCƒ“ƒ^[ƒZƒvƒ^‚𖾎¦“I‚ÉŽw’肵‚ăZƒbƒVƒ‡ƒ“‚ðƒI[ƒvƒ“‚µ‚È‚¢ŒÀ‚èA‚»‚¤‚È‚è‚Ü‚·B
- SessionFactory ƒXƒR[ƒv‚̃Cƒ“ƒ^[ƒZƒvƒ^‚̓XƒŒƒbƒhƒZ[ƒt‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- •¡”‚̃ZƒbƒVƒ‡ƒ“‚ªiöÝ“I‚Éj‚±‚̃Cƒ“ƒ^[ƒZƒvƒ^‚𓯎ž•Às‚ÅŽg—p‚·‚邱‚ƂɂȂ邽‚ßA
- ƒZƒbƒVƒ‡ƒ“ŒÅ—L‚Ìó‘Ô‚ðŠi”[‚µ‚È‚¢‚悤‚É‹C‚ð‚‚¯‚Ä‚‚¾‚³‚¢B
+ SessionFactory スコープã®ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—タ㯠Configuration
+ オブジェクトを使ã£ã¦ç™»éŒ²ã—ã¾ã™ã€‚
+ ã“れ㯠SessionFactory ã®æ§‹ç¯‰ã‚ˆã‚Šã‚‚優先ã•ã‚Œã¾ã™ã€‚
+ ã“ã®å ´åˆã€æä¾›ã•ã‚Œã‚‹ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—タ㯠SessionFactory
+ ã‹ã‚‰ã‚ªãƒ¼ãƒ—ンã•ã‚ŒãŸã™ã¹ã¦ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«é©ç”¨ã•ã‚Œã¾ã™ã€‚
+ ã“ã‚Œã¯ä½¿ç”¨ã™ã‚‹ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—タを明示的ã«æŒ‡å®šã—ã¦ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’オープンã—ãªã„é™ã‚Šã€ãã†ãªã‚Šã¾ã™ã€‚
+ SessionFactory スコープã®ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—ã‚¿ã¯ã‚¹ãƒ¬ãƒƒãƒ‰ã‚»ãƒ¼ãƒ•ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ 複数ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒï¼ˆæ½œåœ¨çš„ã«ï¼‰ã“ã®ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—ã‚¿ã‚’åŒæ™‚並行ã§ä½¿ç”¨ã™ã‚‹ã“ã¨ã«ãªã‚‹ãŸã‚ã€
+ セッション固有ã®çŠ¶æ…‹ã‚’æ ¼ç´ã—ãªã„よã†ã«æ°—ã‚’ã¤ã‘ã¦ãã ã•ã„。
@@ -143,46 +145,46 @@ public class AuditInterceptor extends EmptyInterceptor {
- ƒCƒxƒ“ƒgƒVƒXƒeƒ€
+ イベントシステãƒ
- ‰i‘±‰»‘w‚Å“Á’è‚̃Cƒxƒ“ƒg‚ɑΉž‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢ê‡A
- Hibernate3‚Ì ƒCƒxƒ“ƒg ƒA[ƒLƒeƒNƒ`ƒƒ‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
- ƒCƒxƒ“ƒgƒVƒXƒeƒ€‚̓Cƒ“ƒ^[ƒZƒvƒ^‚ƈê‚ÉŽg‚¤‚©A‚Ü‚½‚̓Cƒ“ƒ^[ƒZƒvƒ^‚Ì‘ã‚í‚è‚Æ‚µ‚ÄŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ 永続化層ã§ç‰¹å®šã®ã‚¤ãƒ™ãƒ³ãƒˆã«å¯¾å¿œã—ãªã‘ã‚Œã°ãªã‚‰ãªã„å ´åˆã€
+ Hibernate3㮠イベント アーã‚テクãƒãƒ£ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ イベントシステムã¯ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—ã‚¿ã¨ä¸€ç·’ã«ä½¿ã†ã‹ã€ã¾ãŸã¯ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—ã‚¿ã®ä»£ã‚ã‚Šã¨ã—ã¦ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
- –{Ž¿“I‚É Session ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Ì‚·‚ׂẴƒ\ƒbƒh‚ÍA
- 1ŒÂ‚̃Cƒxƒ“ƒg‚Æ‘ŠŒÝ‚ÉŠÖ˜A‚µ‚Ü‚·B
- —Ⴆ‚Î LoadEventAFlushEvent ‚È‚Ç‚ª‚ ‚è‚Ü‚·
- i’è‹`ς݂̃Cƒxƒ“ƒgŒ^‚̈ꗗ‚ɂ‚¢‚Ä‚ÍAXMLÝ’èƒtƒ@ƒCƒ‹‚ÌDTD‚â
- org.hibernate.event ƒpƒbƒP[ƒW‚𒲂ׂĂ‚¾‚³‚¢jB
- ƒŠƒNƒGƒXƒg‚ª‚±‚ê‚ç‚̃ƒ\ƒbƒh‚Ì1‚‚©‚çì‚ç‚ê‚é‚Æ‚«A
- Hibernate‚Ì Session ‚Í“K؂ȃCƒxƒ“ƒg‚𶬂µA
- ‚»‚̃Cƒxƒ“ƒgŒ^‚Éݒ肳‚ꂽƒCƒxƒ“ƒgƒŠƒXƒi‚É“n‚µ‚Ü‚·B
- ‚·‚΂炵‚¢‚±‚Æ‚ÉA‚±‚ê‚ç‚̃ŠƒXƒi‚Í‚»‚̃ƒ\ƒbƒh‚Æ“¯‚¶ˆ—‚ðŽÀ‘•‚µ‚Ü‚·B
- ‚Æ‚Í‚¢‚¦AƒŠƒXƒiƒCƒ“ƒ^[ƒtƒFƒCƒX‚̈ê‚Â‚ðŽ©—R‚ɃJƒXƒ^ƒ€ŽÀ‘•‚Å‚«‚Ü‚·
- i‚‚܂èALoadEvent ‚Í“o˜^‚³‚ꂽ LoadEventListener
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌŽÀ‘•‚É‚æ‚舗‚³‚ê‚Ü‚·jB
- ‚»‚Ìê‡A‚»‚ÌŽÀ‘•‚É‚Í Session ‚©‚çì‚ç‚ꂽ‚ǂ̂悤‚È load()
- ƒŠƒNƒGƒXƒg‚ð‚àˆ—‚·‚éÓ”C‚ª‚ ‚è‚Ü‚·B
+ 本質的㫠Session インターフェイスã®ã™ã¹ã¦ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
+ 1個ã®ã‚¤ãƒ™ãƒ³ãƒˆã¨ç›¸äº’ã«é–¢é€£ã—ã¾ã™ã€‚
+ 例ãˆã° LoadEventã€FlushEvent ãªã©ãŒã‚ã‚Šã¾ã™
+ (定義済ã¿ã®ã‚¤ãƒ™ãƒ³ãƒˆåž‹ã®ä¸€è¦§ã«ã¤ã„ã¦ã¯ã€XMLè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã®DTDã‚„
+ org.hibernate.event パッケージを調ã¹ã¦ãã ã•ã„)。
+ リクエストãŒã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã®1ã¤ã‹ã‚‰ä½œã‚‰ã‚Œã‚‹ã¨ãã€
+ Hibernateã® Session ã¯é©åˆ‡ãªã‚¤ãƒ™ãƒ³ãƒˆã‚’生æˆã—ã€
+ ãã®ã‚¤ãƒ™ãƒ³ãƒˆåž‹ã«è¨å®šã•ã‚ŒãŸã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠã«æ¸¡ã—ã¾ã™ã€‚
+ ã™ã°ã‚‰ã—ã„ã“ã¨ã«ã€ã“れらã®ãƒªã‚¹ãƒŠã¯ãã®ãƒ¡ã‚½ãƒƒãƒ‰ã¨åŒã˜å‡¦ç†ã‚’実装ã—ã¾ã™ã€‚
+ ã¨ã¯ã„ãˆã€ãƒªã‚¹ãƒŠã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã®ä¸€ã¤ã‚’自由ã«ã‚«ã‚¹ã‚¿ãƒ 実装ã§ãã¾ã™
+ (ã¤ã¾ã‚Šã€LoadEvent ã¯ç™»éŒ²ã•ã‚ŒãŸ LoadEventListener
+ インターフェイスã®å®Ÿè£…ã«ã‚ˆã‚Šå‡¦ç†ã•ã‚Œã¾ã™ï¼‰ã€‚
+ ãã®å ´åˆã€ãã®å®Ÿè£…ã«ã¯ Session ã‹ã‚‰ä½œã‚‰ã‚ŒãŸã©ã®ã‚ˆã†ãª load()
+ リクエストをも処ç†ã™ã‚‹è²¬ä»»ãŒã‚ã‚Šã¾ã™ã€‚
- ƒŠƒXƒi‚ÍŽ–ŽÀãƒVƒ“ƒOƒ‹ƒgƒ“‚Å‚ ‚é‚ÆŒ©‚È‚¹‚Ü‚·B
- ‚‚܂胊ƒXƒi‚̓ŠƒNƒGƒXƒgŠÔ‚Å‹¤—L‚³‚ê‚邽‚ßA
- ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚Æ‚µ‚Äó‘Ô‚ð•ÛŽ‚·‚é‚ׂ«‚Å‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+ リスナã¯äº‹å®Ÿä¸Šã‚·ãƒ³ã‚°ãƒ«ãƒˆãƒ³ã§ã‚ã‚‹ã¨è¦‹ãªã›ã¾ã™ã€‚
+ ã¤ã¾ã‚Šãƒªã‚¹ãƒŠã¯ãƒªã‚¯ã‚¨ã‚¹ãƒˆé–“ã§å…±æœ‰ã•ã‚Œã‚‹ãŸã‚ã€
+ インスタンス変数ã¨ã—ã¦çŠ¶æ…‹ã‚’ä¿æŒã™ã‚‹ã¹ãã§ã¯ãªã„ã¨ã„ã†ã“ã¨ã§ã™ã€‚
- ƒJƒXƒ^ƒ€ƒŠƒXƒi‚͈—‚µ‚½‚¢ƒCƒxƒ“ƒg‚ɂ‚¢‚Ä“K؂ȃCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚·‚é‚ׂ«‚Å‚·B
- •Ö—˜‚ÈŠî’êƒNƒ‰ƒX‚Ì‚¤‚¿‚̈ê‚‚ðŒp³‚µ‚Ä‚à‚æ‚¢‚Å‚·
- i‚Ü‚½‚ÍHibernate‚ªƒfƒtƒHƒ‹ƒg‚ÅŽg—p‚·‚éƒCƒxƒ“ƒgƒŠƒXƒi‚ðŒp³‚µ‚Ä‚à‚æ‚¢‚Å‚·B
- ‚·‚΂炵‚¢‚±‚Æ‚ÉA‚±‚Ì–Ú“I‚Ì‚½‚ß‚É”ñfinal‚Æ‚µ‚Ä錾‚³‚ê‚Ä‚¢‚Ü‚·jB
- ƒJƒXƒ^ƒ€ƒŠƒXƒi‚Í Configuration ƒIƒuƒWƒFƒNƒg‚ðŽg‚Á‚ăvƒƒOƒ‰ƒ€‚©‚ç“o˜^‚·‚é‚©A
- Hibernate‚ÌXMLÝ’èƒtƒ@ƒCƒ‹‚ÅŽw’è‚Å‚«‚Ü‚·
- iƒvƒƒpƒeƒBƒtƒ@ƒCƒ‹‚Å錾“I‚ÉÝ’è‚·‚é•û–@‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñjB
- ƒJƒXƒ^ƒ€ƒ[ƒhƒCƒxƒ“ƒgƒŠƒXƒi‚Ì—á‚ðŽ¦‚µ‚Ü‚·B
+ カスタムリスナã¯å‡¦ç†ã—ãŸã„イベントã«ã¤ã„ã¦é©åˆ‡ãªã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’実装ã™ã‚‹ã¹ãã§ã™ã€‚
+ 便利ãªåŸºåº•ã‚¯ãƒ©ã‚¹ã®ã†ã¡ã®ä¸€ã¤ã‚’継承ã—ã¦ã‚‚よã„ã§ã™
+ (ã¾ãŸã¯HibernateãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ä½¿ç”¨ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠã‚’継承ã—ã¦ã‚‚よã„ã§ã™ã€‚
+ ã™ã°ã‚‰ã—ã„ã“ã¨ã«ã€ã“ã®ç›®çš„ã®ãŸã‚ã«éžfinalã¨ã—ã¦å®£è¨€ã•ã‚Œã¦ã„ã¾ã™ï¼‰ã€‚
+ カスタムリスナ㯠Configuration オブジェクトを使ã£ã¦ãƒ—ãƒã‚°ãƒ©ãƒ ã‹ã‚‰ç™»éŒ²ã™ã‚‹ã‹ã€
+ Hibernateã®XMLè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã§æŒ‡å®šã§ãã¾ã™
+ (プãƒãƒ‘ティファイルã§å®£è¨€çš„ã«è¨å®šã™ã‚‹æ–¹æ³•ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“)。
+ カスタムãƒãƒ¼ãƒ‰ã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠã®ä¾‹ã‚’示ã—ã¾ã™ã€‚
- ƒfƒtƒHƒ‹ƒgƒŠƒXƒiˆÈŠO‚̃ŠƒXƒi‚ðŽg‚¤‚É‚ÍAHibernate‚Ö‚ÌÝ’è‚à•K—v‚Å‚·F
+ デフォルトリスナ以外ã®ãƒªã‚¹ãƒŠã‚’使ã†ã«ã¯ã€Hibernateã¸ã®è¨å®šã‚‚å¿…è¦ã§ã™ï¼š
@@ -210,7 +212,7 @@ public class AuditInterceptor extends EmptyInterceptor {
]]>
- ‚Ü‚½‚»‚Ì‘¼‚ÉAƒvƒƒOƒ‰ƒ€‚Å“o˜^‚·‚é•û–@‚à‚ ‚è‚Ü‚·F
+ ã¾ãŸãã®ä»–ã«ã€ãƒ—ãƒã‚°ãƒ©ãƒ ã§ç™»éŒ²ã™ã‚‹æ–¹æ³•ã‚‚ã‚ã‚Šã¾ã™ï¼š
- ƒŠƒXƒi‚ð錾“I‚É“o˜^‚·‚é‚ÆA‚»‚̃ŠƒXƒi‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚Å‚«‚Ü‚¹‚ñB
- •¡”‚Ì <listener/> —v‘f‚Å“¯‚¶ƒNƒ‰ƒX–¼‚ªŽg‚í‚ê‚é‚ÆA
- ‚»‚ꂼ‚ê‚ÌŽQÆ‚Í‚»‚̃Nƒ‰ƒX‚Ì•ÊX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðŽw‚·‚±‚Æ‚É‚È‚è‚Ü‚·B
- ƒŠƒXƒiŒ^‚̊ԂŃŠƒXƒiƒCƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚·‚é•K—v‚ª‚ ‚ê‚ÎA
- ƒvƒƒOƒ‰ƒ€‚Å“o˜^‚·‚é•û–@‚ðÌ‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ リスナを宣言的ã«ç™»éŒ²ã™ã‚‹ã¨ã€ãã®ãƒªã‚¹ãƒŠã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’共有ã§ãã¾ã›ã‚“。
+ 複数㮠<listener/> è¦ç´ ã§åŒã˜ã‚¯ãƒ©ã‚¹åãŒä½¿ã‚れるã¨ã€
+ ãã‚Œãžã‚Œã®å‚ç…§ã¯ãã®ã‚¯ãƒ©ã‚¹ã®åˆ¥ã€…ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’指ã™ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ リスナ型ã®é–“ã§ãƒªã‚¹ãƒŠã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’共有ã™ã‚‹å¿…è¦ãŒã‚ã‚Œã°ã€
+ プãƒã‚°ãƒ©ãƒ ã§ç™»éŒ²ã™ã‚‹æ–¹æ³•ã‚’採らãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ‚È‚ºƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚ÄA“Á‰»‚µ‚½Œ^‚ðݒ莞‚ÉŽw’è‚·‚é‚Ì‚Å‚µ‚傤‚©H
- ƒŠƒXƒi‚ÌŽÀ‘•ƒNƒ‰ƒX‚ÉA•¡”‚̃Cƒxƒ“ƒgƒŠƒXƒiƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚Å‚«‚é‚©‚ç‚Å‚·B
- “o˜^Žž‚ɒljÁ‚ÅŒ^‚ðŽw’è‚·‚邱‚Æ‚ÅAƒJƒXƒ^ƒ€ƒŠƒXƒi‚Ìon/off‚ðݒ莞‚ÉŠÈ’P‚ÉØ‚è‘Ö‚¦‚ç‚ê‚Ü‚·B
+ ãªãœã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’実装ã—ã¦ã€ç‰¹åŒ–ã—ãŸåž‹ã‚’è¨å®šæ™‚ã«æŒ‡å®šã™ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ
+ リスナã®å®Ÿè£…クラスã«ã€è¤‡æ•°ã®ã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’実装ã§ãã‚‹ã‹ã‚‰ã§ã™ã€‚
+ 登録時ã«è¿½åŠ ã§åž‹ã‚’指定ã™ã‚‹ã“ã¨ã§ã€ã‚«ã‚¹ã‚¿ãƒ リスナã®on/offã‚’è¨å®šæ™‚ã«ç°¡å˜ã«åˆ‡ã‚Šæ›¿ãˆã‚‰ã‚Œã¾ã™ã€‚
- Hibernate‚Ì錾“I‚ȃZƒLƒ…ƒŠƒeƒB
+ Hibernateã®å®£è¨€çš„ãªã‚»ã‚ュリティ
- ˆê”Ê“I‚ÉHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì錾“I‚ȃZƒLƒ…ƒŠƒeƒB‚ÍAƒZƒbƒVƒ‡ƒ“ƒtƒ@ƒT[ƒh‘w‚ÅŠÇ—‚µ‚Ü‚·B
- Œ»ÝAHiberenate3‚ÍJACC‚Å‹–‰Â‚µ‚©‚ÂAJAAS‚Å”FØ‚µ‚½ƒAƒNƒVƒ‡ƒ“‚ð‹–‚µ‚Ä‚¢‚Ü‚·B
- ‚±‚ê‚̓Cƒxƒ“ƒgƒA[ƒLƒeƒNƒ`ƒƒ‚ÌÅãˆÊ‚É‘g‚Ýž‚Ü‚ê‚Ä‚¢‚éƒIƒvƒVƒ‡ƒ“‚Ì‹@”\‚Å‚·B
+ 一般的ã«Hibernateアプリケーションã®å®£è¨€çš„ãªã‚»ã‚ュリティã¯ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ•ã‚¡ã‚µãƒ¼ãƒ‰å±¤ã§ç®¡ç†ã—ã¾ã™ã€‚
+ ç¾åœ¨ã€Hiberenate3ã¯JACCã§è¨±å¯ã—ã‹ã¤ã€JAASã§èªè¨¼ã—ãŸã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’許ã—ã¦ã„ã¾ã™ã€‚
+ ã“ã‚Œã¯ã‚¤ãƒ™ãƒ³ãƒˆã‚¢ãƒ¼ã‚テクãƒãƒ£ã®æœ€ä¸Šä½ã«çµ„ã¿è¾¼ã¾ã‚Œã¦ã„るオプションã®æ©Ÿèƒ½ã§ã™ã€‚
- ‚Ü‚¸Å‰‚ÉA“K؂ȃCƒxƒ“ƒgƒŠƒXƒi‚ðݒ肵‚ÄJAAS”FØ‚ðŽg‚¦‚é‚悤‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ ã¾ãšæœ€åˆã«ã€é©åˆ‡ãªã‚¤ãƒ™ãƒ³ãƒˆãƒªã‚¹ãƒŠã‚’è¨å®šã—ã¦JAASèªè¨¼ã‚’使ãˆã‚‹ã‚ˆã†ã«ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
@@ -251,21 +253,21 @@ cfg.EventListeners().setLoadEventListeners(stack);]]>
]]>
- “Á’è‚̃Cƒxƒ“ƒgŒ^‚ɑ΂µ‚Ä‚¿‚傤‚Ljê‚‚̃ŠƒXƒi‚ª‚ ‚é‚Æ‚«A
+ 特定ã®ã‚¤ãƒ™ãƒ³ãƒˆåž‹ã«å¯¾ã—ã¦ã¡ã‚‡ã†ã©ä¸€ã¤ã®ãƒªã‚¹ãƒŠãŒã‚ã‚‹ã¨ãã€
<listener type="..." class="..."/>
- ‚Í <event type="..."><listener class="..."/></event>
- ‚ÌŠÈ—ªŒ`‚ɉ߂¬‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 㯠<event type="..."><listener class="..."/></event>
+ ã®ç°¡ç•¥å½¢ã«éŽãŽãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ŽŸ‚ÉA“¯‚¶‚ hibernate.cfg.xml ‚Ń[ƒ‹‚Ƀp[ƒ~ƒbƒVƒ‡ƒ“‚ð—^‚¦‚Ä‚‚¾‚³‚¢F
+ 次ã«ã€åŒã˜ã hibernate.cfg.xml ã§ãƒãƒ¼ãƒ«ã«ãƒ‘ーミッションを与ãˆã¦ãã ã•ã„:
]]>
- ‚±‚̃[ƒ‹–¼‚ÍŽg—p‚·‚éJACCƒvƒƒoƒCƒ_‚É—‰ð‚³‚ê‚éƒ[ƒ‹‚Å‚·B
+ ã“ã®ãƒãƒ¼ãƒ«åã¯ä½¿ç”¨ã™ã‚‹JACCプãƒãƒã‚¤ãƒ€ã«ç†è§£ã•ã‚Œã‚‹ãƒãƒ¼ãƒ«ã§ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml b/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml
index 65fff8c111..91938d1c51 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/example_mappings.xml
@@ -1,22 +1,22 @@
-
+
- —áF‚¢‚ë‚¢‚ë‚ȃ}ƒbƒsƒ“ƒO
+ 例:ã„ã‚ã„ã‚ãªãƒžãƒƒãƒ”ング
- ‚±‚ÌÍ‚Å‚ÍA‚æ‚è•¡ŽG‚ÈŠÖ˜A‚̃}ƒbƒsƒ“ƒO‚ð‚¢‚‚‚©Ð‰î‚µ‚Ü‚·B
+ ã“ã®ç« ã§ã¯ã€ã‚ˆã‚Šè¤‡é›‘ãªé–¢é€£ã®ãƒžãƒƒãƒ”ングをã„ãã¤ã‹ç´¹ä»‹ã—ã¾ã™ã€‚
- ŒÙ—pŽÒ/]‹Æˆõ
+ 雇用者/従æ¥å“¡
- Employer ‚Æ Employee ‚ÌŠÖŒW‚ð•\‚·ˆÈ‰º‚̃‚ƒfƒ‹‚ÍA
- ŠÖ˜A‚Ì•\Œ»‚ÉŽÀۂ̃Gƒ“ƒeƒBƒeƒBƒNƒ‰ƒXi Employment j
- ‚ðŽg‚¢‚Ü‚·B
- ‚È‚º‚È‚çA“¯‚¶2‚‚̃p[ƒeƒB‚É•¡”‚ÌŠúŠÔŒÙ—p‚³‚ê‚é‚Æ‚¢‚¤‚±‚Æ‚ª‚ ‚肦‚é‚©‚ç‚Å‚·B
- ‚¨‹à‚Ì’l‚Æ]‹Æˆõ‚Ì–¼‘O‚ðƒ‚ƒfƒ‹‰»‚·‚邽‚߂ɃRƒ“ƒ|[ƒlƒ“ƒg‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
+ Employer 㨠Employee ã®é–¢ä¿‚を表ã™ä»¥ä¸‹ã®ãƒ¢ãƒ‡ãƒ«ã¯ã€
+ 関連ã®è¡¨ç¾ã«å®Ÿéš›ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¯ãƒ©ã‚¹ï¼ˆ Employment )
+ を使ã„ã¾ã™ã€‚
+ ãªãœãªã‚‰ã€åŒã˜2ã¤ã®ãƒ‘ーティã«è¤‡æ•°ã®æœŸé–“雇用ã•ã‚Œã‚‹ã¨ã„ã†ã“ã¨ãŒã‚ã‚Šãˆã‚‹ã‹ã‚‰ã§ã™ã€‚
+ ãŠé‡‘ã®å€¤ã¨å¾“æ¥å“¡ã®åå‰ã‚’モデル化ã™ã‚‹ãŸã‚ã«ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚’使ã£ã¦ã„ã¾ã™ã€‚
@@ -29,7 +29,7 @@
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̈ê—á‚Å‚·F
+ マッピングドã‚ュメントã®ä¸€ä¾‹ã§ã™ï¼š
@@ -82,7 +82,7 @@
]]>
- SchemaExport ‚Ŷ¬‚µ‚½ƒe[ƒuƒ‹ƒXƒL[ƒ}‚Å‚·B
+ SchemaExport ã§ç”Ÿæˆã—ãŸãƒ†ãƒ¼ãƒ–ルスã‚ーマã§ã™ã€‚
- ìŽÒ/ì•i
+ 作者/作å“
- Work , Author ‚»‚µ‚Ä Person
- ‚ÌŠÖŒW‚ð•\‚·ˆÈ‰º‚̃‚ƒfƒ‹‚ðl‚¦‚Ä‚Ý‚Ä‚‚¾‚³‚¢B
- Work ‚Æ Author ‚ÌŠÖŒW‚𑽑Α½ŠÖ˜A‚Å•\‚µ‚Ä‚¢‚Ü‚·B
- Author ‚Æ Person ‚ÌŠÖŒW‚͈ê‘ΈêŠÖ˜A‚Æ‚µ‚Ä•\‚µ‚Ä‚¢‚Ü‚·B
- ‘¼‚É‚Í Author ‚ª Person ‚ðŠg’£‚·‚é‚Æ‚¢‚¤•û–@‚à‚ ‚è‚Ü‚·B
+ Work , Author ãã—㦠Person
+ ã®é–¢ä¿‚を表ã™ä»¥ä¸‹ã®ãƒ¢ãƒ‡ãƒ«ã‚’考ãˆã¦ã¿ã¦ãã ã•ã„。
+ Work 㨠Author ã®é–¢ä¿‚を多対多関連ã§è¡¨ã—ã¦ã„ã¾ã™ã€‚
+ Author 㨠Person ã®é–¢ä¿‚ã¯ä¸€å¯¾ä¸€é–¢é€£ã¨ã—ã¦è¡¨ã—ã¦ã„ã¾ã™ã€‚
+ ä»–ã«ã¯ Author ㌠Person ã‚’æ‹¡å¼µã™ã‚‹ã¨ã„ã†æ–¹æ³•ã‚‚ã‚ã‚Šã¾ã™ã€‚
@@ -142,7 +142,7 @@ create sequence employer_id_seq]]>
- ˆÈ‰º‚̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Í‚±‚̂悤‚ÈŠÖŒW‚ð³Šm‚É•\Œ»‚µ‚Ä‚¢‚Ü‚·B
+ 以下ã®ãƒžãƒƒãƒ”ングドã‚ュメントã¯ã“ã®ã‚ˆã†ãªé–¢ä¿‚ã‚’æ£ç¢ºã«è¡¨ç¾ã—ã¦ã„ã¾ã™ã€‚
@@ -198,11 +198,11 @@ create sequence employer_id_seq]]>
]]>
- ‚±‚̃}ƒbƒsƒ“ƒO‚É‚Í4‚‚̃e[ƒuƒ‹‚ª‚ ‚è‚Ü‚·B
+ ã“ã®ãƒžãƒƒãƒ”ングã«ã¯4ã¤ã®ãƒ†ãƒ¼ãƒ–ルãŒã‚ã‚Šã¾ã™ã€‚
works , authors , persons
- ‚Í‚»‚ꂼ‚êAŽdŽ–AìŽÒAl‚̃f[ƒ^‚ð•ÛŽ‚µ‚Ü‚·B
- author_work ‚ÍìŽÒ‚Æì•i‚ðƒŠƒ“ƒN‚·‚éŠÖ˜Aƒe[ƒuƒ‹‚Å‚·B
- ˆÈ‰º‚Í SchemaExport ‚Ŷ¬‚µ‚½ƒe[ƒuƒ‹ƒXƒL[ƒ}‚Å‚·B
+ ã¯ãã‚Œãžã‚Œã€ä»•äº‹ã€ä½œè€…ã€äººã®ãƒ‡ãƒ¼ã‚¿ã‚’ä¿æŒã—ã¾ã™ã€‚
+ author_work ã¯ä½œè€…ã¨ä½œå“をリンクã™ã‚‹é–¢é€£ãƒ†ãƒ¼ãƒ–ルã§ã™ã€‚
+ 以下㯠SchemaExport ã§ç”Ÿæˆã—ãŸãƒ†ãƒ¼ãƒ–ルスã‚ーマã§ã™ã€‚
- ŒÚ‹q/’•¶/»•i
+ 顧客/注文/製å“
- ‚³‚ÄA Customer , Order , LineItem
- Product ‚ÌŠÖŒW‚ð•\‚·ƒ‚ƒfƒ‹‚ðl‚¦‚Ä‚Ý‚Ü‚µ‚傤B
- Customer ‚Æ Order ‚͈ê‘Α½‚ÌŠÖ˜A‚Å‚·‚ªA
+ ã•ã¦ã€ Customer , Order , LineItem
+ Product ã®é–¢ä¿‚を表ã™ãƒ¢ãƒ‡ãƒ«ã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚
+ Customer 㨠Order ã¯ä¸€å¯¾å¤šã®é–¢é€£ã§ã™ãŒã€
Order / LineItem / Product
- ‚͂ǂ̂悤‚É•\Œ»‚·‚é‚ׂ«‚Å‚µ‚傤‚©H
- LineItem ‚ðAOrder ‚Æ Product
- ‚Ì‘½‘Α½ŠÖ˜A‚ð•\Œ»‚·‚éŠÖ˜AƒNƒ‰ƒX‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚½B
- Hibernate‚Å‚Í‚±‚ê‚ðƒRƒ“ƒ|ƒWƒbƒg—v‘f‚ƌĂт܂·B
+ ã¯ã©ã®ã‚ˆã†ã«è¡¨ç¾ã™ã‚‹ã¹ãã§ã—ょã†ã‹ï¼Ÿ
+ LineItem ã‚’ã€Order 㨠Product
+ ã®å¤šå¯¾å¤šé–¢é€£ã‚’表ç¾ã™ã‚‹é–¢é€£ã‚¯ãƒ©ã‚¹ã¨ã—ã¦ãƒžãƒƒãƒ”ングã—ã¾ã—ãŸã€‚
+ Hibernateã§ã¯ã“れをコンãƒã‚¸ãƒƒãƒˆè¦ç´ ã¨å‘¼ã³ã¾ã™ã€‚
@@ -266,7 +266,7 @@ alter table author_work
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒgF
+ マッピングドã‚ュメント:
@@ -309,8 +309,8 @@ alter table author_work
customers , orders , line_items ,
- products ‚Í‚»‚ꂼ‚êAŒÚ‹qA’•¶A’•¶–¾×A»•i‚̃f[ƒ^‚ð•ÛŽ‚µ‚Ü‚·B
- line_items ‚Í’•¶‚Æ»•i‚ðƒŠƒ“ƒN‚·‚éŠÖ˜Aƒe[ƒuƒ‹‚Æ‚µ‚Ä‚à“‚«‚Ü‚·B
+ products ã¯ãã‚Œãžã‚Œã€é¡§å®¢ã€æ³¨æ–‡ã€æ³¨æ–‡æ˜Žç´°ã€è£½å“ã®ãƒ‡ãƒ¼ã‚¿ã‚’ä¿æŒã—ã¾ã™ã€‚
+ line_items ã¯æ³¨æ–‡ã¨è£½å“をリンクã™ã‚‹é–¢é€£ãƒ†ãƒ¼ãƒ–ルã¨ã—ã¦ã‚‚åƒãã¾ã™ã€‚
- ŽíXŽG‘½‚ȃ}ƒbƒsƒ“ƒO—á
+ 種々雑多ãªãƒžãƒƒãƒ”ング例
- ‚±‚±‚É‚ ‚é—á‚Í‚·‚ׂÄHibernate‚̃eƒXƒgƒXƒC[ƒg‚©‚çŽæ‚è‚Ü‚µ‚½B
- ‚»‚±‚É‚ÍA‘¼‚É‚à‚½‚‚³‚ñ‚̃}ƒbƒsƒ“ƒO‚̗Ⴊ‚ ‚è‚Ü‚·B
- HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì test ƒtƒHƒ‹ƒ_‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ ã“ã“ã«ã‚る例ã¯ã™ã¹ã¦Hibernateã®ãƒ†ã‚¹ãƒˆã‚¹ã‚¤ãƒ¼ãƒˆã‹ã‚‰å–ã‚Šã¾ã—ãŸã€‚
+ ãã“ã«ã¯ã€ä»–ã«ã‚‚ãŸãã•ã‚“ã®ãƒžãƒƒãƒ”ングã®ä¾‹ãŒã‚ã‚Šã¾ã™ã€‚
+ Hibernateディストリビューション㮠test フォルダを見ã¦ãã ã•ã„。
- TODO: ‚±‚±‚É•¶Í‚ð–„‚ß‚é
+ TODO: ã“ã“ã«æ–‡ç« を埋ã‚ã‚‹
- uŒ^•t‚¯‚³‚ꂽvˆê‘ΈêŠÖ˜A
+ 「型付ã‘ã•ã‚ŒãŸã€ä¸€å¯¾ä¸€é–¢é€£
- •¡‡ƒL[‚Ì—á
+ 複åˆã‚ーã®ä¾‹
- •¡‡ƒL[‘®«‚ð‹¤—L‚·‚鑽‘Α½
+ 複åˆã‚ー属性を共有ã™ã‚‹å¤šå¯¾å¤š
@@ -547,7 +547,7 @@ alter table line_items
- discrimination‚ÉŠî‚“à—e
+ discriminationã«åŸºã¥ã内容
@@ -601,7 +601,7 @@ alter table line_items
- ‘ã‘ÖƒL[‚ÌŠÖ˜A
+ 代替ã‚ーã®é–¢é€£
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml b/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml
index 44aa4d714b..3722d3d9a5 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/example_parentchild.xml
@@ -1,70 +1,72 @@
-
+
+
+
- —áFe/Žq‹Ÿ
+ 例:親/åä¾›
- V‹Kƒ†[ƒU‚ªHibernate‚ðŽg‚Á‚Ä‚Ü‚¸Å‰‚Ɉµ‚¤ƒ‚ƒfƒ‹‚̈ê‚‚ÉAeŽqŒ^‚̃‚ƒfƒ‹‰»‚ª‚ ‚è‚Ü‚·B
- ‚±‚̃‚ƒfƒ‹‰»‚É‚Í“ñ‚‚̃Aƒvƒ[ƒ`‚ª‘¶Ý‚µ‚Ü‚·B‚Æ‚è‚킯V‹Kƒ†[ƒU‚É‚Æ‚Á‚ÄA
- ‚³‚Ü‚´‚Ü‚È——R‚©‚çÅ‚à•Ö—˜‚¾‚ÆŽv‚í‚ê‚éƒAƒvƒ[ƒ`‚ÍAe ‚©‚ç Žq‹Ÿ
- ‚Ö‚Ì <one-to-many> ŠÖ˜A‚É‚æ‚è e ‚Æ Žq‹Ÿ
- ‚Ì—¼•û‚ðƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚Æ‚µ‚ă‚ƒfƒŠƒ“ƒO‚·‚é•û–@‚Å‚·
- i‚à‚¤ˆê‚‚̕û–@‚ÍAŽq‹Ÿ ‚ð <composite-element> ‚Æ‚µ‚Ä’è‹`‚·‚é‚à‚Ì‚Å‚·jB
- ‚±‚ê‚ÅiHibernate‚É‚¨‚¯‚éjˆê‘Α½ŠÖ˜A‚̃fƒtƒHƒ‹ƒg‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ªA’Êí‚Ì•¡‡—v‘f‚̃}ƒbƒsƒ“ƒO‚æ‚è‚àA
- eŽqŠÖŒW‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚©‚牓‚¢‚±‚Æ‚ª‚í‚©‚è‚Ü‚·B
- ‚»‚ê‚Å‚ÍeŽqŠÖŒW‚ðŒø—¦“I‚©‚ƒGƒŒƒKƒ“ƒg‚Ƀ‚ƒfƒŠƒ“ƒO‚·‚邽‚ß‚ÉA
- ƒJƒXƒP[ƒh‘€ì‚ðŽg‚Á‚½‘o•ûŒüˆê‘Α½ŠÖ˜A ‚̈µ‚¢•û‚ðà–¾‚µ‚Ü‚·B‚±‚ê‚Í‚Ü‚Á‚½‚“‚¢‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+ æ–°è¦ãƒ¦ãƒ¼ã‚¶ãŒHibernateを使ã£ã¦ã¾ãšæœ€åˆã«æ‰±ã†ãƒ¢ãƒ‡ãƒ«ã®ä¸€ã¤ã«ã€è¦ªååž‹ã®ãƒ¢ãƒ‡ãƒ«åŒ–ãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã®ãƒ¢ãƒ‡ãƒ«åŒ–ã«ã¯äºŒã¤ã®ã‚¢ãƒ—ãƒãƒ¼ãƒãŒå˜åœ¨ã—ã¾ã™ã€‚ã¨ã‚Šã‚ã‘æ–°è¦ãƒ¦ãƒ¼ã‚¶ã«ã¨ã£ã¦ã€
+ ã•ã¾ã–ã¾ãªç†ç”±ã‹ã‚‰æœ€ã‚‚便利ã ã¨æ€ã‚れるアプãƒãƒ¼ãƒã¯ã€è¦ª ã‹ã‚‰ åä¾›
+ ã¸ã® <one-to-many> 関連ã«ã‚ˆã‚Š 親 㨠åä¾›
+ ã®ä¸¡æ–¹ã‚’エンティティクラスã¨ã—ã¦ãƒ¢ãƒ‡ãƒªãƒ³ã‚°ã™ã‚‹æ–¹æ³•ã§ã™
+ (もã†ä¸€ã¤ã®æ–¹æ³•ã¯ã€åä¾› ã‚’ <composite-element> ã¨ã—ã¦å®šç¾©ã™ã‚‹ã‚‚ã®ã§ã™ï¼‰ã€‚
+ ã“ã‚Œã§ï¼ˆHibernateã«ãŠã‘る)一対多関連ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ãŒã€é€šå¸¸ã®è¤‡åˆè¦ç´ ã®ãƒžãƒƒãƒ”ングよりもã€
+ 親å関係ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã‹ã‚‰é ã„ã“ã¨ãŒã‚ã‹ã‚Šã¾ã™ã€‚
+ ãã‚Œã§ã¯è¦ªå関係を効率的ã‹ã¤ã‚¨ãƒ¬ã‚¬ãƒ³ãƒˆã«ãƒ¢ãƒ‡ãƒªãƒ³ã‚°ã™ã‚‹ãŸã‚ã«ã€
+ カスケードæ“作を使ã£ãŸåŒæ–¹å‘一対多関連 ã®æ‰±ã„方を説明ã—ã¾ã™ã€‚ã“ã‚Œã¯ã¾ã£ãŸã難ã—ã„ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÉŠÖ‚·‚é’ˆÓ
+ コレクションã«é–¢ã™ã‚‹æ³¨æ„
- Hibernate‚̃RƒŒƒNƒVƒ‡ƒ“‚ÍŽ©g‚̃Gƒ“ƒeƒBƒeƒB‚̘_—“I‚È•”•ª‚Æl‚¦‚ç‚êA
- Œˆ‚µ‚Ä•ïŠÜ‚·‚éƒGƒ“ƒeƒBƒeƒB‚Ì‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚±‚ê‚Í’v–½“I‚ȈႢ‚Å‚·I
- ‚±‚ê‚͈ȉº‚̂悤‚ÈŒ‹‰Ê‚É‚È‚è‚Ü‚·F
+ Hibernateã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯è‡ªèº«ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®è«–ç†çš„ãªéƒ¨åˆ†ã¨è€ƒãˆã‚‰ã‚Œã€
+ 決ã—ã¦åŒ…å«ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ã“ã‚Œã¯è‡´å‘½çš„ãªé•ã„ã§ã™ï¼
+ ã“ã‚Œã¯ä»¥ä¸‹ã®ã‚ˆã†ãªçµæžœã«ãªã‚Šã¾ã™ï¼š
- ƒIƒuƒWƒFƒNƒg‚ðƒRƒŒƒNƒVƒ‡ƒ“‚©‚çíœA‚Ü‚½‚̓RƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚·‚é‚Æ‚«A
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃I[ƒi[‚̃o[ƒWƒ‡ƒ“”Ô†‚̓Cƒ“ƒNƒŠƒƒ“ƒg‚³‚ê‚Ü‚·B
+ オブジェクトをコレクションã‹ã‚‰å‰Šé™¤ã€ã¾ãŸã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«è¿½åŠ ã™ã‚‹ã¨ãã€
+ コレクションã®ã‚ªãƒ¼ãƒŠãƒ¼ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã¯ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã•ã‚Œã¾ã™ã€‚
- ‚à‚µƒRƒŒƒNƒVƒ‡ƒ“‚©‚ç휂³‚ꂽƒIƒuƒWƒFƒNƒg‚ª’lŒ^‚̃Cƒ“ƒXƒ^ƒ“ƒX
- i—Ⴆ‚΃Rƒ“ƒ|ƒWƒbƒgƒGƒŒƒƒ“ƒg)‚¾‚Á‚½‚È‚ç‚ÎA‚»‚̃IƒuƒWƒFƒNƒg‚͉i‘±“I‚Å‚Í‚È‚‚È‚èA
- ‚»‚Ìó‘Ԃ̓f[ƒ^ƒx[ƒX‚©‚犮‘S‚É휂³‚ê‚Ü‚·B
- “¯‚¶‚悤‚ÉA’lŒ^‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚·‚é‚ÆA‚»‚Ìó‘Ô‚Í‚·‚®‚ɉi‘±“I‚É‚È‚è‚Ü‚·B
+ ã‚‚ã—コレクションã‹ã‚‰å‰Šé™¤ã•ã‚ŒãŸã‚ªãƒ–ジェクトãŒå€¤åž‹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹
+ (例ãˆã°ã‚³ãƒ³ãƒã‚¸ãƒƒãƒˆã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆ)ã ã£ãŸãªã‚‰ã°ã€ãã®ã‚ªãƒ–ジェクトã¯æ°¸ç¶šçš„ã§ã¯ãªããªã‚Šã€
+ ãã®çŠ¶æ…‹ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰å®Œå…¨ã«å‰Šé™¤ã•ã‚Œã¾ã™ã€‚
+ åŒã˜ã‚ˆã†ã«ã€å€¤åž‹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’コレクションã«è¿½åŠ ã™ã‚‹ã¨ã€ãã®çŠ¶æ…‹ã¯ã™ãã«æ°¸ç¶šçš„ã«ãªã‚Šã¾ã™ã€‚
- ˆê•ûA‚à‚µƒGƒ“ƒeƒBƒeƒB‚ªƒRƒŒƒNƒVƒ‡ƒ“iˆê‘Α½‚Ü‚½‚Í‘½‘Α½ŠÖ˜A)‚©‚ç휂³‚ê‚Ä‚àA
- ƒfƒtƒHƒ‹ƒg‚Å‚Í‚»‚ê‚Í휂³‚ê‚Ü‚¹‚ñB‚±‚Ì“®ì‚ÍŠ®‘S‚ɈêŠÑ‚µ‚Ä‚¢‚Ü‚·B
- ‚·‚È‚í‚¿A‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ì“à•”ó‘Ô‚ð•ÏX‚µ‚Ä‚àAŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚ªÁ–Å‚·‚ׂ«‚Å‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- “¯—l‚ÉAƒGƒ“ƒeƒBƒeƒB‚ªƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚³‚ê‚Ä‚àAƒfƒtƒHƒ‹ƒg‚Å‚Í‚»‚̃Gƒ“ƒeƒBƒeƒB‚͉i‘±“I‚É‚Í‚È‚è‚Ü‚¹‚ñB
+ 一方ã€ã‚‚ã—エンティティãŒã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆä¸€å¯¾å¤šã¾ãŸã¯å¤šå¯¾å¤šé–¢é€£)ã‹ã‚‰å‰Šé™¤ã•ã‚Œã¦ã‚‚ã€
+ デフォルトã§ã¯ãã‚Œã¯å‰Šé™¤ã•ã‚Œã¾ã›ã‚“。ã“ã®å‹•ä½œã¯å®Œå…¨ã«ä¸€è²«ã—ã¦ã„ã¾ã™ã€‚
+ ã™ãªã‚ã¡ã€ä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®å†…部状態を変更ã—ã¦ã‚‚ã€é–¢é€£ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãŒæ¶ˆæ»…ã™ã¹ãã§ã¯ãªã„ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ åŒæ§˜ã«ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãŒã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«è¿½åŠ ã•ã‚Œã¦ã‚‚ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ãã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯æ°¸ç¶šçš„ã«ã¯ãªã‚Šã¾ã›ã‚“。
- ‚»‚Ì‘ã‚í‚è‚ÉAƒfƒtƒHƒ‹ƒg‚Ì“®ì‚Å‚ÍAƒGƒ“ƒeƒBƒeƒB‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚·‚é‚Æ’P‚É“ñ‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚̃Šƒ“ƒN‚ð쬂µA
- ˆê•ûƒGƒ“ƒeƒBƒeƒB‚ð휂·‚é‚ƃŠƒ“ƒN‚à휂µ‚Ü‚·B‚±‚ê‚Í‚·‚ׂẴP[ƒX‚É‚¨‚¢‚Ä”ñí‚É“KØ‚Å‚·B
- ‚±‚ꂪ“KØ‚Å‚È‚¢‚Ì‚Íe/ŽqŠÖŒW‚Ìꇂł·B‚±‚Ìꇎq‹Ÿ‚̶‘¶‚Íe‚̃‰ƒCƒtƒTƒCƒNƒ‹‚ɧŒÀ‚³‚ê‚é‚©‚ç‚Å‚·B
+ ãã®ä»£ã‚ã‚Šã«ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®å‹•ä½œã§ã¯ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’コレクションã«è¿½åŠ ã™ã‚‹ã¨å˜ã«äºŒã¤ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£é–“ã®ãƒªãƒ³ã‚¯ã‚’作æˆã—ã€
+ 一方エンティティを削除ã™ã‚‹ã¨ãƒªãƒ³ã‚¯ã‚‚削除ã—ã¾ã™ã€‚ã“ã‚Œã¯ã™ã¹ã¦ã®ã‚±ãƒ¼ã‚¹ã«ãŠã„ã¦éžå¸¸ã«é©åˆ‡ã§ã™ã€‚
+ ã“ã‚ŒãŒé©åˆ‡ã§ãªã„ã®ã¯è¦ª/å関係ã®å ´åˆã§ã™ã€‚ã“ã®å ´åˆåä¾›ã®ç”Ÿå˜ã¯è¦ªã®ãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«ã«åˆ¶é™ã•ã‚Œã‚‹ã‹ã‚‰ã§ã™ã€‚
- ‘o•ûŒüˆê‘Α½
+ åŒæ–¹å‘一対多
- Parent ‚©‚ç Child ‚Ö‚Ì’Pƒ‚È <one-to-many> ŠÖ˜A‚©‚çŽn‚ß‚é‚Æ‚µ‚Ü‚·B
+ Parent ã‹ã‚‰ Child ã¸ã®å˜ç´”㪠<one-to-many> 関連ã‹ã‚‰å§‹ã‚ã‚‹ã¨ã—ã¾ã™ã€‚
@@ -73,7 +75,7 @@
]]>
- ˆÈ‰º‚̃R[ƒh‚ðŽÀs‚·‚é‚ÆA
+ 以下ã®ã‚³ãƒ¼ãƒ‰ã‚’実行ã™ã‚‹ã¨ã€
- Hibernate‚Í“ñ‚‚ÌSQL•¶‚ð”s‚µ‚Ü‚·:
+ Hibernateã¯äºŒã¤ã®SQL文を発行ã—ã¾ã™:
- c‚ɑ΂·‚郌ƒR[ƒh‚𶬂·‚éINSERT
+ cã«å¯¾ã™ã‚‹ãƒ¬ã‚³ãƒ¼ãƒ‰ã‚’生æˆã™ã‚‹INSERT
- p‚©‚çc‚ւ̃Šƒ“ƒN‚ð쬂·‚éUPDATE
+ pã‹ã‚‰cã¸ã®ãƒªãƒ³ã‚¯ã‚’作æˆã™ã‚‹UPDATE
- ‚±‚ê‚Í”ñŒø—¦“I‚È‚¾‚¯‚Å‚Í‚È‚Aparent_id ƒJƒ‰ƒ€‚É‚¨‚¢‚Ä NOT NULL §–ñ‚Ɉᔽ‚µ‚Ü‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Å not-null="true" ‚ÆŽw’è‚·‚邱‚Æ‚ÅAnull§–ñˆá”½‚ð‰ðŒˆ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·:
+ ã“ã‚Œã¯éžåŠ¹çŽ‡çš„ãªã ã‘ã§ã¯ãªãã€parent_id カラムã«ãŠã„㦠NOT NULL 制約ã«é•åã—ã¾ã™ã€‚
+ コレクションã®ãƒžãƒƒãƒ”ング㧠not-null="true" ã¨æŒ‡å®šã™ã‚‹ã“ã¨ã§ã€null制約é•åを解決ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™:
@@ -110,24 +112,24 @@ session.flush();]]>
]]>
- ‚µ‚©‚µ‚±‚̉ðŒˆô‚Í„§‚Å‚«‚Ü‚¹‚ñB
+ ã—ã‹ã—ã“ã®è§£æ±ºç–ã¯æŽ¨å¥¨ã§ãã¾ã›ã‚“。
- ‚±‚Ì“®ì‚̪–{“I‚ÈŒ´ˆö‚ÍAp ‚©‚ç c ‚ւ̃Šƒ“ƒN
- iŠO•”ƒL[ parent_id)‚Í Child ƒIƒuƒWƒFƒNƒg‚Ìó‘Ԃ̈ꕔ‚Æ‚Íl‚¦‚ç‚ꂸA
- ‚»‚Ì‚½‚ß INSERT ‚É‚æ‚Á‚ăŠƒ“ƒN‚ª¶¬‚³‚ê‚È‚¢‚±‚Æ‚Å‚·B
- ‚Å‚·‚©‚çA‰ðŒˆô‚̓Šƒ“ƒN‚ðChildƒ}ƒbƒsƒ“ƒO‚̈ꕔ‚É‚·‚邱‚Æ‚Å‚·B
+ ã“ã®å‹•ä½œã®æ ¹æœ¬çš„ãªåŽŸå› ã¯ã€p ã‹ã‚‰ c ã¸ã®ãƒªãƒ³ã‚¯
+ (外部ã‚ー parent_id)㯠Child オブジェクトã®çŠ¶æ…‹ã®ä¸€éƒ¨ã¨ã¯è€ƒãˆã‚‰ã‚Œãšã€
+ ãã®ãŸã‚ INSERT ã«ã‚ˆã£ã¦ãƒªãƒ³ã‚¯ãŒç”Ÿæˆã•ã‚Œãªã„ã“ã¨ã§ã™ã€‚
+ ã§ã™ã‹ã‚‰ã€è§£æ±ºç–ã¯ãƒªãƒ³ã‚¯ã‚’Childマッピングã®ä¸€éƒ¨ã«ã™ã‚‹ã“ã¨ã§ã™ã€‚
]]>
- (‚Ü‚½ Child ƒNƒ‰ƒX‚É parent ƒvƒƒpƒeƒB‚ð’ljÁ‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B)
+ (ã¾ãŸ Child クラス㫠parent プãƒãƒ‘ãƒ†ã‚£ã‚’è¿½åŠ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚)
- ‚»‚ê‚Å‚Í Child ƒGƒ“ƒeƒBƒeƒB‚ªƒŠƒ“ƒN‚Ìó‘Ô‚ð§Œä‚·‚é‚悤‚É‚È‚Á‚½‚Ì‚ÅA
- ƒRƒŒƒNƒVƒ‡ƒ“‚ªƒŠƒ“ƒN‚ðXV‚µ‚È‚¢‚悤‚É‚µ‚Ü‚µ‚傤B‚»‚ê‚É‚Í inverse ‘®«‚ðŽg‚¢‚Ü‚·B
+ ãã‚Œã§ã¯ Child エンティティãŒãƒªãƒ³ã‚¯ã®çŠ¶æ…‹ã‚’制御ã™ã‚‹ã‚ˆã†ã«ãªã£ãŸã®ã§ã€
+ コレクションãŒãƒªãƒ³ã‚¯ã‚’æ›´æ–°ã—ãªã„よã†ã«ã—ã¾ã—ょã†ã€‚ãã‚Œã«ã¯ inverse 属性を使ã„ã¾ã™ã€‚
@@ -136,7 +138,7 @@ session.flush();]]>
]]>
- ˆÈ‰º‚̃R[ƒh‚ðŽg‚¦‚ÎAV‚µ‚¢ Child ‚ð’ljÁ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ 以下ã®ã‚³ãƒ¼ãƒ‰ã‚’使ãˆã°ã€æ–°ã—ã„ Child ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ‚±‚ê‚É‚æ‚èASQL‚Ì INSERT •¶‚ªˆê‚‚¾‚¯‚ª”s‚³‚ê‚é‚悤‚É‚È‚è‚Ü‚µ‚½I
+ ã“ã‚Œã«ã‚ˆã‚Šã€SQLã® INSERT æ–‡ãŒä¸€ã¤ã ã‘ãŒç™ºè¡Œã•ã‚Œã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã—ãŸï¼
- ‚à‚¤‚µ‹‰»‚·‚é‚É‚ÍAParent ‚Ì addChild() ƒƒ\ƒbƒh‚ð쬂µ‚Ü‚·B
+ ã‚‚ã†å°‘ã—強化ã™ã‚‹ã«ã¯ã€Parent ã® addChild() メソッドを作æˆã—ã¾ã™ã€‚
}]]>
- Child ‚ð’ljÁ‚·‚éƒR[ƒh‚Í‚±‚̂悤‚É‚È‚è‚Ü‚·B
+ Child ã‚’è¿½åŠ ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã¯ã“ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
- ƒ‰ƒCƒtƒTƒCƒNƒ‹‚̃JƒXƒP[ƒh
+ ライフサイクルã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰
- –¾Ž¦“I‚É save() ‚ðƒR[ƒ‹‚·‚é‚Ì‚Í‚Ü‚¾”ς킵‚¢‚à‚Ì‚Å‚·B‚±‚ê‚ðƒJƒXƒP[ƒh‚ðŽg‚Á‚đΈ‚µ‚Ü‚·B
+ 明示的㫠save() をコールã™ã‚‹ã®ã¯ã¾ã ç…©ã‚ã—ã„ã‚‚ã®ã§ã™ã€‚ã“れをカスケードを使ã£ã¦å¯¾å‡¦ã—ã¾ã™ã€‚
@@ -184,7 +186,7 @@ session.flush();]]>
]]>
- ‚±‚ê‚É‚æ‚èæ‚قǂ̃R[ƒh‚ð‚±‚Ì‚æ‚¤‚É’Pƒ‰»‚µ‚Ü‚·
+ ã“ã‚Œã«ã‚ˆã‚Šå…ˆã»ã©ã®ã‚³ãƒ¼ãƒ‰ã‚’ã“ã®ã‚ˆã†ã«å˜ç´”化ã—ã¾ã™
- “¯—l‚É Parent ‚ð•Û‘¶‚Ü‚½‚Í휂·‚é‚Æ‚«‚ÉAŽq‹Ÿ‚ðˆê‚ˆê‚ÂŽæ‚èo‚µ‚Ĉµ‚¤•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- ˆÈ‰º‚̃R[ƒh‚Í p ‚ð휂µA‚»‚µ‚ăf[ƒ^ƒx[ƒX‚©‚ç‚»‚ÌŽq‹Ÿ‚ð‚·‚×‚Ä휂µ‚Ü‚·B
+ åŒæ§˜ã« Parent ã‚’ä¿å˜ã¾ãŸã¯å‰Šé™¤ã™ã‚‹ã¨ãã«ã€å供を一ã¤ä¸€ã¤å–り出ã—ã¦æ‰±ã†å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 以下ã®ã‚³ãƒ¼ãƒ‰ã¯ p を削除ã—ã€ãã—ã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰ãã®å供をã™ã¹ã¦å‰Šé™¤ã—ã¾ã™ã€‚
- ‚µ‚©‚µ‚±‚̃R[ƒh‚Í
+ ã—ã‹ã—ã“ã®ã‚³ãƒ¼ãƒ‰ã¯
- ƒf[ƒ^ƒx[ƒX‚©‚ç c ‚ð휂µ‚Ü‚¹‚ñBp ‚ւ̃Šƒ“ƒN‚ð휂·‚é
- i‚»‚µ‚Ä‚±‚̃P[ƒX‚Å‚Í NOT NULL §–ñˆá”½‚ðˆø‚«‹N‚±‚·j‚¾‚¯‚Å‚·B
- Child ‚Ì delete() ‚𖾎¦‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+ データベースã‹ã‚‰ c を削除ã—ã¾ã›ã‚“。p ã¸ã®ãƒªãƒ³ã‚¯ã‚’削除ã™ã‚‹
+ (ãã—ã¦ã“ã®ã‚±ãƒ¼ã‚¹ã§ã¯ NOT NULL 制約é•åを引ãèµ·ã“ã™ï¼‰ã ã‘ã§ã™ã€‚
+ Child ã® delete() を明示ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
- ¡‚±‚̃P[ƒX‚Å‚ÍŽÀÛ‚É Child ‚ªe‚È‚µ‚Å‚Í‘¶Ý‚Å‚«‚È‚¢‚悤‚É‚È‚è‚Ü‚µ‚½B
- ‚»‚Ì‚½‚ßA‚à‚µƒRƒŒƒNƒVƒ‡ƒ“‚©‚ç Child ‚ðŽæ‚蜂ê‡A‚±‚ê‚à휂µ‚½‚¢‚Å‚·B
- ‚»‚Ì‚½‚ß‚É‚Í cascade="all-delete-orphan" ‚ðŽg‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ 今ã“ã®ã‚±ãƒ¼ã‚¹ã§ã¯å®Ÿéš›ã« Child ãŒè¦ªãªã—ã§ã¯å˜åœ¨ã§ããªã„よã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ ãã®ãŸã‚ã€ã‚‚ã—コレクションã‹ã‚‰ Child ã‚’å–り除ãå ´åˆã€ã“れも削除ã—ãŸã„ã§ã™ã€‚
+ ãã®ãŸã‚ã«ã¯ cascade="all-delete-orphan" を使ã‚ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
@@ -235,35 +237,35 @@ session.flush();]]>
]]>
- ’ˆÓFƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Å inverse="true" ‚ÆŽw’肵‚Ä‚àA
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚̃CƒeƒŒ[ƒVƒ‡ƒ“‚É‚æ‚Á‚ÄAˆË‘RƒJƒXƒP[ƒh‚ªŽÀs‚³‚ê‚Ü‚·B
- ‚»‚Ì‚½‚ß‚à‚µƒJƒXƒP[ƒh‚ŃIƒuƒWƒFƒNƒg‚ðƒZ[ƒuAíœAXV‚·‚é•K—v‚ª‚ ‚é‚È‚çA
- ‚»‚ê‚ðƒRƒŒƒNƒVƒ‡ƒ“‚ɒljÁ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB’P‚É setParent() ‚ðŒÄ‚Ô‚¾‚¯‚Å‚Í•s\•ª‚Å‚·B
+ 注æ„:コレクションã®ãƒžãƒƒãƒ”ング㧠inverse="true" ã¨æŒ‡å®šã—ã¦ã‚‚ã€
+ コレクションã®è¦ç´ ã®ã‚¤ãƒ†ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³ã«ã‚ˆã£ã¦ã€ä¾ç„¶ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
+ ãã®ãŸã‚ã‚‚ã—カスケードã§ã‚ªãƒ–ジェクトをセーブã€å‰Šé™¤ã€æ›´æ–°ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãªã‚‰ã€
+ ãれをコレクションã«è¿½åŠ ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。å˜ã« setParent() を呼ã¶ã ã‘ã§ã¯ä¸å分ã§ã™ã€‚
- ƒJƒXƒP[ƒh‚Æ unsaved-value
+ カスケード㨠unsaved-value
- Parent ‚ªA‚ ‚é Session ‚Ń[ƒh‚³‚êAUI‚̃AƒNƒVƒ‡ƒ“‚Å•ÏX‚ª‰Á‚¦‚ç‚êA
- update() ‚ðŒÄ‚ñ‚Å‚±‚Ì•ÏX‚ðV‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ʼni‘±‰»‚µ‚½‚¢‚Æ‚µ‚Ü‚·B
- Parent ‚ªŽq‹Ÿ‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŽ‚¿AƒJƒXƒP[ƒhXV‚ª—LŒø‚É‚È‚Á‚Ä‚¢‚邽‚ßA
- Hibernate‚Í‚Ç‚ÌŽq‹Ÿ‚ªV‚µ‚ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚©A‚ǂꂪƒf[ƒ^ƒx[ƒX‚ÌŠù‘¶‚Ìs‚É‘Š“–‚·‚é‚Ì‚©‚ð’m‚é•K—v‚ª‚ ‚è‚Ü‚·B
- Parent ‚Æ Child ‚Ì—¼•û‚ª java.lang.Long
- Œ^‚ÌŽ¯•ÊƒvƒƒpƒeƒB‚𶬂µ‚½‚Æ‚µ‚Ü‚µ‚傤B
- Hibernate‚Í‚Ç‚ÌŽq‹Ÿ‚ªV‚µ‚¢‚à‚Ì‚©‚ðŒˆ’è‚·‚邽‚ß‚ÉŽ¯•ÊƒvƒƒpƒeƒB‚Ì’l‚ðŽg‚¢‚Ü‚·(version‚âtimestampƒvƒƒpƒeƒB‚àŽg‚¦‚Ü‚·B
- ŽQÆ)BHibernate3‚É‚È‚Á‚ÄA
- –¾Ž¦“I‚É unsaved-value ‚ðŽw’è‚·‚é•K—v‚Í‚È‚‚È‚è‚Ü‚µ‚½B
+ Parent ãŒã€ã‚ã‚‹ Session ã§ãƒãƒ¼ãƒ‰ã•ã‚Œã€UIã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã§å¤‰æ›´ãŒåŠ ãˆã‚‰ã‚Œã€
+ update() を呼んã§ã“ã®å¤‰æ›´ã‚’æ–°ã—ã„セッションã§æ°¸ç¶šåŒ–ã—ãŸã„ã¨ã—ã¾ã™ã€‚
+ Parent ãŒåä¾›ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’æŒã¡ã€ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰æ›´æ–°ãŒæœ‰åŠ¹ã«ãªã£ã¦ã„ã‚‹ãŸã‚ã€
+ Hibernateã¯ã©ã®åä¾›ãŒæ–°ã—ãインスタンス化ã•ã‚ŒãŸã‹ã€ã©ã‚ŒãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®æ—¢å˜ã®è¡Œã«ç›¸å½“ã™ã‚‹ã®ã‹ã‚’知る必è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ Parent 㨠Child ã®ä¸¡æ–¹ãŒ java.lang.Long
+ åž‹ã®è˜åˆ¥ãƒ—ãƒãƒ‘ティを生æˆã—ãŸã¨ã—ã¾ã—ょã†ã€‚
+ Hibernateã¯ã©ã®åä¾›ãŒæ–°ã—ã„ã‚‚ã®ã‹ã‚’決定ã™ã‚‹ãŸã‚ã«è˜åˆ¥ãƒ—ãƒãƒ‘ティã®å€¤ã‚’使ã„ã¾ã™(versionã‚„timestampプãƒãƒ‘ティも使ãˆã¾ã™ã€‚
+ å‚ç…§)。Hibernate3ã«ãªã£ã¦ã€
+ 明示的㫠unsaved-value を指定ã™ã‚‹å¿…è¦ã¯ãªããªã‚Šã¾ã—ãŸã€‚
- ˆÈ‰º‚̃R[ƒh‚Í parent ‚Æ child ‚ðXV‚µAnewChild ‚ð‘}“ü‚µ‚Ü‚·B
+ 以下ã®ã‚³ãƒ¼ãƒ‰ã¯ parent 㨠child ã‚’æ›´æ–°ã—ã€newChild を挿入ã—ã¾ã™ã€‚
- ‚±‚ê‚ç‚Ͷ¬‚³‚ꂽŽ¯•ÊŽq‚Ìꇂɂ͔ñí‚É—Ç‚¢‚Ì‚Å‚·‚ªAŠ„‚è“–‚Ä‚ç‚ꂽŽ¯•ÊŽq‚Æ•¡‡Ž¯•ÊŽq‚Ìꇂ͂ǂ¤‚Å‚µ‚傤‚©H
- ‚±‚ê‚ÍHibernate‚ªAiƒ†[ƒU‚É‚æ‚芄‚è“–‚Ä‚ç‚ꂽŽ¯•ÊŽq‚ðŽ‚ÂjV‚µ‚ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ÆA
- ˆÈ‘O‚ÌSession‚Ń[ƒh‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ð‹æ•Ê‚Å‚«‚È‚¢‚½‚ßA‚æ‚è“‚¢‚Å‚·B
- ‚±‚Ìê‡AHibernate‚̓^ƒCƒ€ƒXƒ^ƒ“ƒv‚©ƒo[ƒWƒ‡ƒ“‚̃vƒƒpƒeƒB‚Ì‚Ç‚¿‚ç‚©‚ðŽg‚¤‚©A“ñŽŸƒLƒƒƒbƒVƒ…‚É–â‚¢‡‚킹‚Ü‚·B
- ň«‚Ìê‡As‚ª‘¶Ý‚·‚é‚©‚Ç‚¤‚©ƒf[ƒ^ƒx[ƒX‚ðŒ©‚Ü‚·B
+ ã“れらã¯ç”Ÿæˆã•ã‚ŒãŸè˜åˆ¥åã®å ´åˆã«ã¯éžå¸¸ã«è‰¯ã„ã®ã§ã™ãŒã€å‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸè˜åˆ¥åã¨è¤‡åˆè˜åˆ¥åã®å ´åˆã¯ã©ã†ã§ã—ょã†ã‹ï¼Ÿ
+ ã“ã‚Œã¯HibernateãŒã€ï¼ˆãƒ¦ãƒ¼ã‚¶ã«ã‚ˆã‚Šå‰²ã‚Šå½“ã¦ã‚‰ã‚ŒãŸè˜åˆ¥åã‚’æŒã¤ï¼‰æ–°ã—ãインスタンス化ã•ã‚ŒãŸã‚ªãƒ–ジェクトã¨ã€
+ 以å‰ã®Sessionã§ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸã‚ªãƒ–ジェクトを区別ã§ããªã„ãŸã‚ã€ã‚ˆã‚Šé›£ã—ã„ã§ã™ã€‚
+ ã“ã®å ´åˆã€Hibernateã¯ã‚¿ã‚¤ãƒ スタンプã‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒ—ãƒãƒ‘ティã®ã©ã¡ã‚‰ã‹ã‚’使ã†ã‹ã€äºŒæ¬¡ã‚ャッシュã«å•ã„åˆã‚ã›ã¾ã™ã€‚
+ 最悪ã®å ´åˆã€è¡ŒãŒå˜åœ¨ã™ã‚‹ã‹ã©ã†ã‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’見ã¾ã™ã€‚
-
+
- ’x‰„ƒvƒƒpƒeƒBƒtƒFƒbƒ`‚ÌŽg—p
+ é…延プãƒãƒ‘ティフェッãƒã®ä½¿ç”¨
- Hibernate3‚̓vƒƒpƒeƒB‚²‚Æ‚Ì’x‰„ƒtƒFƒbƒ`‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B‚±‚ÌÅ“K‰»Žè–@‚Í
- ƒOƒ‹[ƒv‚̃tƒFƒbƒ` ‚Æ‚µ‚Ä‚à’m‚ç‚ê‚Ä‚¢‚Ü‚·B‚±‚ê‚Í‚Ù‚Æ‚ñ‚Ç
- —v–]‚©‚ço‚½‹@”\‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢BŽÀÛ‚É‚Í—ñ“Ç‚Ýž‚Ý‚ÌÅ“K‰»‚æ‚è‚àA
- s“Ç‚Ýž‚Ý‚ÌÅ“K‰»‚ª”ñí‚Éd—v‚Å‚·B
- ‚µ‚©‚µAƒNƒ‰ƒX‚Ì‚¢‚‚‚©‚̃vƒƒpƒeƒB‚¾‚¯‚ð“Ç‚Ýž‚Þ‚±‚Æ‚ÍAŠù‘¶‚̃e[ƒuƒ‹‚ª‰½•S‚à‚Ì—ñ‚ðŽ‚¿A
- ƒf[ƒ^ƒ‚ƒfƒ‹‚ð‰ü‘P‚Å‚«‚È‚¢‚È‚Ç‚Ì‹É’[‚Èꇂɂ͗L—p‚Å‚·B
+ Hibernate3ã¯ãƒ—ãƒãƒ‘ティã”ã¨ã®é…延フェッãƒã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ã“ã®æœ€é©åŒ–手法ã¯
+ グループã®ãƒ•ã‚§ãƒƒãƒ ã¨ã—ã¦ã‚‚知られã¦ã„ã¾ã™ã€‚ã“ã‚Œã¯ã»ã¨ã‚“ã©
+ è¦æœ›ã‹ã‚‰å‡ºãŸæ©Ÿèƒ½ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。実際ã«ã¯åˆ—èªã¿è¾¼ã¿ã®æœ€é©åŒ–よりもã€
+ è¡Œèªã¿è¾¼ã¿ã®æœ€é©åŒ–ãŒéžå¸¸ã«é‡è¦ã§ã™ã€‚
+ ã—ã‹ã—ã€ã‚¯ãƒ©ã‚¹ã®ã„ãã¤ã‹ã®ãƒ—ãƒãƒ‘ティã ã‘ã‚’èªã¿è¾¼ã‚€ã“ã¨ã¯ã€æ—¢å˜ã®ãƒ†ãƒ¼ãƒ–ルãŒä½•ç™¾ã‚‚ã®åˆ—ã‚’æŒã¡ã€
+ データモデルを改善ã§ããªã„ãªã©ã®æ¥µç«¯ãªå ´åˆã«ã¯æœ‰ç”¨ã§ã™ã€‚
- ’x‰„ƒvƒƒpƒeƒB“Ç‚Ýž‚Ý‚ð—LŒø‚É‚·‚é‚É‚ÍA‘Îۂ̃vƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚Å lazy
- ‘®«‚ðƒZƒbƒg‚µ‚Ä‚‚¾‚³‚¢B
+ é…延プãƒãƒ‘ティèªã¿è¾¼ã¿ã‚’有効ã«ã™ã‚‹ã«ã¯ã€å¯¾è±¡ã®ãƒ—ãƒãƒ‘ティã®ãƒžãƒƒãƒ”ング㧠lazy
+ 属性をセットã—ã¦ãã ã•ã„。
@@ -583,13 +585,13 @@ Cat fritz = (Cat) iter.next();]]>
]]>
- ’x‰„ƒvƒƒpƒeƒB“Ç‚Ýž‚݂̓rƒ‹ƒhŽž‚̃oƒCƒgƒR[ƒh‘g‚Ýž‚Ý‚ð•K—v‚Æ‚µ‚Ü‚·I‚à‚µ
- ‰i‘±ƒNƒ‰ƒX‚É‘g‚Ýž‚Ý‚ª‚³‚ê‚Ä‚¢‚È‚¢‚È‚çAHibernate‚Í–Ù‚Á‚Ä’x‰„ƒvƒƒpƒeƒB‚ÌÝ’è‚𖳎‹‚µ‚ÄA
- ‘¦ŽžƒtƒFƒbƒ`‚É–ß‚µ‚Ü‚·B
+ é…延プãƒãƒ‘ティèªã¿è¾¼ã¿ã¯ãƒ“ルド時ã®ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰çµ„ã¿è¾¼ã¿ã‚’å¿…è¦ã¨ã—ã¾ã™ï¼ã‚‚ã—
+ 永続クラスã«çµ„ã¿è¾¼ã¿ãŒã•ã‚Œã¦ã„ãªã„ãªã‚‰ã€Hibernateã¯é»™ã£ã¦é…延プãƒãƒ‘ティã®è¨å®šã‚’無視ã—ã¦ã€
+ å³æ™‚フェッãƒã«æˆ»ã—ã¾ã™ã€‚
- ƒoƒCƒgƒR[ƒh‘g‚Ýž‚݂͈ȉº‚ÌAntƒ^ƒXƒN‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
+ ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰çµ„ã¿è¾¼ã¿ã¯ä»¥ä¸‹ã®Antタスクを使ã£ã¦ãã ã•ã„。
@@ -607,15 +609,15 @@ Cat fritz = (Cat) iter.next();]]>
]]>
- •s—v‚È—ñ‚ð“Ç‚Ýž‚Ü‚È‚¢‚½‚ß‚ÌA•Ê‚Ìi‚æ‚è‚æ‚¢Hj•û–@‚ÍA‚È‚‚Æ‚à
- “Ç‚Ýž‚݂݂̂̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‚¨‚¢‚Ä‚ÍAHQL‚âCriteriaƒNƒGƒŠ‚̎ˉe
- ‹@”\‚ðŽg‚¤‚±‚Æ‚Å‚·B‚±‚Ì•û–@‚̓rƒ‹ƒhŽž‚̃oƒCƒgƒR[ƒh‘g‚Ýž‚Ý‚ª•s—v‚É‚È‚èA
- ‚æ‚è—Ç‚¢‰ðŒˆ•û–@‚Å‚·B
+ ä¸è¦ãªåˆ—ã‚’èªã¿è¾¼ã¾ãªã„ãŸã‚ã®ã€åˆ¥ã®ï¼ˆã‚ˆã‚Šã‚ˆã„?)方法ã¯ã€å°‘ãªãã¨ã‚‚
+ èªã¿è¾¼ã¿ã®ã¿ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«ãŠã„ã¦ã¯ã€HQLã‚„Criteriaクエリã®å°„å½±
+ 機能を使ã†ã“ã¨ã§ã™ã€‚ã“ã®æ–¹æ³•ã¯ãƒ“ルド時ã®ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰çµ„ã¿è¾¼ã¿ãŒä¸è¦ã«ãªã‚Šã€
+ より良ã„解決方法ã§ã™ã€‚
- HQL‚Å fetch all properties ‚ðŽg‚¤‚±‚Æ‚ÅA•’Ê‚Ç‚¨‚è‚Ì
- ƒvƒƒpƒeƒB‚Ì‘¦ŽžƒtƒFƒbƒ`ƒ“ƒO‚ð‹§‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+ HQL㧠fetch all properties を使ã†ã“ã¨ã§ã€æ™®é€šã©ãŠã‚Šã®
+ プãƒãƒ‘ティã®å³æ™‚フェッãƒãƒ³ã‚°ã‚’強制ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
@@ -623,28 +625,28 @@ Cat fritz = (Cat) iter.next();]]>
- ‘æ2ƒŒƒxƒ‹ƒLƒƒƒbƒVƒ…
+ 第2レベルã‚ャッシュ
- Hibernate‚Ì Session ‚͉i‘±ƒf[ƒ^‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒŒƒxƒ‹‚̃LƒƒƒbƒVƒ…‚Å‚·B
- class-by-class‚Æcollection-by-collection‚²‚Æ‚ÌAƒNƒ‰ƒXƒ^ƒŒƒxƒ‹‚âJVMƒŒƒxƒ‹
- i SessionFactory ƒŒƒxƒ‹j‚̃LƒƒƒbƒVƒ…‚ðÝ’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
- ƒNƒ‰ƒXƒ^‰»‚³‚ꂽƒLƒƒƒbƒVƒ…‚ɂ‚Ȃ®‚±‚Æ‚³‚¦o—ˆ‚Ü‚·B‚µ‚©‚µ’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ƒLƒƒƒbƒVƒ…‚Í‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚é‰i‘±‘w‚Ì•ÏX‚ð
- l—¶‚µ‚Ü‚¹‚ñiƒLƒƒƒbƒVƒ…ƒf[ƒ^‚ð’èŠú“I‚ÉŠúŒÀØ‚ê‚É‚·‚éÝ’è‚Ío—ˆ‚Ü‚·jB
+ Hibernateã® Session ã¯æ°¸ç¶šãƒ‡ãƒ¼ã‚¿ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãƒ¬ãƒ™ãƒ«ã®ã‚ャッシュã§ã™ã€‚
+ class-by-classã¨collection-by-collectionã”ã¨ã®ã€ã‚¯ãƒ©ã‚¹ã‚¿ãƒ¬ãƒ™ãƒ«ã‚„JVMレベル
+ ( SessionFactory レベル)ã®ã‚ャッシュをè¨å®šã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
+ クラスタ化ã•ã‚ŒãŸã‚ャッシュã«ã¤ãªãã“ã¨ã•ãˆå‡ºæ¥ã¾ã™ã€‚ã—ã‹ã—注æ„ã—ã¦ãã ã•ã„。
+ ã‚ャッシュã¯ä»–ã®ã‚¢ãƒ—リケーションã«ã‚ˆã‚‹æ°¸ç¶šå±¤ã®å¤‰æ›´ã‚’
+ 考慮ã—ã¾ã›ã‚“(ã‚ャッシュデータを定期的ã«æœŸé™åˆ‡ã‚Œã«ã™ã‚‹è¨å®šã¯å‡ºæ¥ã¾ã™ï¼‰ã€‚
- Hibernate‚ªŽg—p‚·‚éƒLƒƒƒbƒVƒ…ŽÀ‘•‚ÍAhibernate.cache.provider_class ƒvƒƒpƒeƒB‚É
- org.hibernate.cache.CacheProvider ‚ðŽÀ‘•‚µ‚½ƒNƒ‰ƒX–¼‚ðŽw’è‚·‚邱‚Æ‚Å•ÏX‚Å‚«‚Ü‚·B
- Hibernate‚Í‘½‚‚̃I[ƒvƒ“ƒ\[ƒX‚̃LƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚ðƒrƒ‹ƒgƒCƒ“ŽÀ‘•‚ÅŽ‚Á‚Ä‚¢‚Ü‚·iŒã‚ɃŠƒXƒg‚ª‚ ‚è‚Ü‚·jB
- ‰Á‚¦‚ÄA‘O‚Éà–¾‚µ‚½‚悤‚ÉA‚ ‚È‚½Ž©g‚ª“ÆŽ©‚ÌŽÀ‘•‚ð‚µ‚ÄA‚»‚ê‚ð‘g‚Ýž‚Þ‚±‚Æ‚ào—ˆ‚Ü‚·B
- ƒo[ƒWƒ‡ƒ“3.2‚æ‚è‘O‚Å‚ÍEhCache‚ªƒfƒtƒHƒ‹ƒg‚̃LƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ƒo[ƒWƒ‡ƒ“3.2‚Å‚Í‚±‚ê‚Í“–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñB
+ HibernateãŒä½¿ç”¨ã™ã‚‹ã‚ャッシュ実装ã¯ã€hibernate.cache.provider_class プãƒãƒ‘ティã«
+ org.hibernate.cache.CacheProvider を実装ã—ãŸã‚¯ãƒ©ã‚¹åを指定ã™ã‚‹ã“ã¨ã§å¤‰æ›´ã§ãã¾ã™ã€‚
+ Hibernateã¯å¤šãã®ã‚ªãƒ¼ãƒ—ンソースã®ã‚ャッシュプãƒãƒã‚¤ãƒ€ã‚’ビルトイン実装ã§æŒã£ã¦ã„ã¾ã™ï¼ˆå¾Œã«ãƒªã‚¹ãƒˆãŒã‚ã‚Šã¾ã™ï¼‰ã€‚
+ åŠ ãˆã¦ã€å‰ã«èª¬æ˜Žã—ãŸã‚ˆã†ã«ã€ã‚ãªãŸè‡ªèº«ãŒç‹¬è‡ªã®å®Ÿè£…ã‚’ã—ã¦ã€ãれを組ã¿è¾¼ã‚€ã“ã¨ã‚‚出æ¥ã¾ã™ã€‚
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³3.2よりå‰ã§ã¯EhCacheãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚ャッシュプãƒãƒã‚¤ãƒ€ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³3.2ã§ã¯ã“ã‚Œã¯å½“ã¦ã¯ã¾ã‚Šã¾ã›ã‚“。
- ƒLƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_
+ ã‚ャッシュプãƒãƒã‚¤ãƒ€
@@ -653,58 +655,58 @@ Cat fritz = (Cat) iter.next();]]>
- ƒLƒƒƒbƒVƒ…
- ƒvƒƒoƒCƒ_ƒNƒ‰ƒX
- ƒ^ƒCƒv
- ƒNƒ‰ƒXƒ^ƒZ[ƒt
- ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚̃Tƒ|[ƒg
+ ã‚ャッシュ
+ プãƒãƒã‚¤ãƒ€ã‚¯ãƒ©ã‚¹
+ タイプ
+ クラスタセーフ
+ クエリã‚ャッシュã®ã‚µãƒãƒ¼ãƒˆ
- Hashtablei»•i—p‚Æ‚µ‚ĈÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñj
+ Hashtable(製å“用ã¨ã—ã¦æ„図ã—ã¦ã„ã¾ã›ã‚“)
org.hibernate.cache.HashtableCacheProvider
- ƒƒ‚ƒŠ
+ メモリ
yes
EHCache
org.hibernate.cache.EhCacheProvider
- ƒƒ‚ƒŠAƒfƒBƒXƒN
+ メモリã€ãƒ‡ã‚£ã‚¹ã‚¯
yes
OSCache
org.hibernate.cache.OSCacheProvider
- ƒƒ‚ƒŠAƒfƒBƒXƒN
- yesiƒNƒ‰ƒXƒ^–³Œø‰»j
+ メモリã€ãƒ‡ã‚£ã‚¹ã‚¯
+ yes(クラスタ無効化)
yes
SwarmCache
org.hibernate.cache.SwarmCacheProvider
- ƒNƒ‰ƒXƒ^iipƒ}ƒ‹ƒ`ƒLƒƒƒXƒgj
- yesiƒNƒ‰ƒXƒ^–³Œø‰»j
+ クラスタ(ipマルãƒã‚ャスト)
+ yes(クラスタ無効化)
JBoss TreeCache
org.hibernate.cache.TreeCacheProvider
- ƒNƒ‰ƒXƒ^iipƒ}ƒ‹ƒ`ƒLƒƒƒXƒgjAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒiƒ‹
- yesi•¡»j
- yesiŽž“¯Šú‚ª•K—vj
+ クラスタ(ipマルãƒã‚ャスト)ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒŠãƒ«
+ yes(複製)
+ yes(時刻åŒæœŸãŒå¿…è¦ï¼‰
- ƒLƒƒƒbƒVƒ…‚̃}ƒbƒsƒ“ƒO
+ ã‚ャッシュã®ãƒžãƒƒãƒ”ング
- ƒNƒ‰ƒX‚âƒRƒŒƒNƒVƒ‡ƒ“‚̃}ƒbƒsƒ“ƒO‚Ì <cache> —v‘f‚͈ȉº‚ÌŒ`Ž®‚Å‚·B
+ クラスやコレクションã®ãƒžãƒƒãƒ”ング㮠<cache> è¦ç´ ã¯ä»¥ä¸‹ã®å½¢å¼ã§ã™ã€‚
@@ -747,23 +749,23 @@ Cat fritz = (Cat) iter.next();]]>
- ‚Ü‚½‚Íi‚æ‚è‚æ‚¢•û–@‚Æ‚µ‚ÄHjA hibernate.cfg.xml ‚É <class-cache>
- ‚Æ <collection-cache> —v‘f‚ðŽw’è‚·‚邱‚Æ‚ào—ˆ‚Ü‚·B
+ ã¾ãŸã¯ï¼ˆã‚ˆã‚Šã‚ˆã„方法ã¨ã—ã¦ï¼Ÿï¼‰ã€ hibernate.cfg.xml ã« <class-cache>
+ 㨠<collection-cache> è¦ç´ を指定ã™ã‚‹ã“ã¨ã‚‚出æ¥ã¾ã™ã€‚
- usage ‘®«‚Í ƒLƒƒƒbƒVƒ…‚Ì•À—ñ«í—ª ‚ðŽw’肵‚Ü‚·B
+ usage 属性㯠ã‚ャッシュã®ä¸¦åˆ—性戦略 を指定ã—ã¾ã™ã€‚
- read onlyí—ª
+ read only戦略
- ‚à‚µƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“Ç‚Ýž‚Ý‚Ì‚Ý•K—v‚ÅA‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð•ÏX‚µ‚È‚¢‚È‚çA
- read-only ƒLƒƒƒbƒVƒ…‚ðŽg‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B‚±‚ê‚Í‚à‚Á‚Æ‚à’Pƒ‚Å
- ‚à‚Á‚Æ‚àƒpƒtƒH[ƒ}ƒ“ƒX‚Ì—Ç‚¢í—ª‚Å‚·BƒNƒ‰ƒXƒ^‚Å‚ÌŽg—p‚àŠ®‘S‚ɈÀ‘S‚Å‚·B
+ ã‚‚ã—アプリケーションãŒèªã¿è¾¼ã¿ã®ã¿å¿…è¦ã§ã€æ°¸ç¶šã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’変更ã—ãªã„ãªã‚‰ã€
+ read-only ã‚ャッシュを使ã†ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ã“ã‚Œã¯ã‚‚ã£ã¨ã‚‚å˜ç´”ã§
+ ã‚‚ã£ã¨ã‚‚パフォーマンスã®è‰¯ã„戦略ã§ã™ã€‚クラスタã§ã®ä½¿ç”¨ã‚‚完全ã«å®‰å…¨ã§ã™ã€‚
@@ -775,19 +777,19 @@ Cat fritz = (Cat) iter.next();]]>
- read/writeí—ª
+ read/write戦略
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒf[ƒ^‚ðXV‚·‚é•K—v‚ª‚ ‚é‚È‚çA read-write ƒLƒƒƒbƒVƒ…‚ª“K“–‚©‚à
- ‚µ‚ê‚Ü‚¹‚ñB‚±‚̃LƒƒƒbƒVƒ…í—ª‚ÍAƒVƒŠƒAƒ‰ƒCƒUƒuƒ‹‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£ƒŒƒxƒ‹‚ª—v‹‚³‚ê‚é‚È‚çA
- Œˆ‚µ‚ÄŽg‚¤‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚à‚µƒLƒƒƒbƒVƒ…‚ªJTAŠÂ‹«‚ÅŽg‚í‚ê‚é‚È‚çAJTA TransactionManager
- ‚ðŽæ“¾‚·‚邽‚ß‚Ì•û–@‚ðŽ¦‚· hibernate.transaction.manager_lookup_class
- ƒvƒƒpƒeƒB‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‘¼‚̊‹«‚Å‚ÍA Session.close()
- ‚â Session.disconnect() ‚ªŒÄ‚΂ꂽ‚Æ‚«‚ÉAŠmŽÀ‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹
- ‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚à‚µƒNƒ‰ƒXƒ^‚Å‚±‚Ìí—ª‚ðŽg‚¢‚½‚¢‚È‚çAŠî‚Æ‚È‚éƒLƒƒƒbƒVƒ…‚ÌŽÀ‘•‚ªƒƒbƒN‚ðƒTƒ|[ƒg
- ‚µ‚Ä‚¢‚邱‚Æ‚ð•ÛØ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‘g‚Ýž‚݂̃LƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚Í ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ B
+ アプリケーションãŒãƒ‡ãƒ¼ã‚¿ã‚’æ›´æ–°ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãªã‚‰ã€ read-write ã‚ャッシュãŒé©å½“ã‹ã‚‚
+ ã—ã‚Œã¾ã›ã‚“。ã“ã®ã‚ャッシュ戦略ã¯ã€ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚¶ãƒ–ルãªãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³åˆ†é›¢ãƒ¬ãƒ™ãƒ«ãŒè¦æ±‚ã•ã‚Œã‚‹ãªã‚‰ã€
+ 決ã—ã¦ä½¿ã†ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。もã—ã‚ャッシュãŒJTA環境ã§ä½¿ã‚れるãªã‚‰ã€JTA TransactionManager
+ ã‚’å–å¾—ã™ã‚‹ãŸã‚ã®æ–¹æ³•ã‚’示㙠hibernate.transaction.manager_lookup_class
+ プãƒãƒ‘ティを指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。他ã®ç’°å¢ƒã§ã¯ã€ Session.close()
+ ã‚„ Session.disconnect() ãŒå‘¼ã°ã‚ŒãŸã¨ãã«ã€ç¢ºå®Ÿã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒå®Œäº†
+ ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã‚‚ã—クラスタã§ã“ã®æˆ¦ç•¥ã‚’使ã„ãŸã„ãªã‚‰ã€åŸºã¨ãªã‚‹ã‚ャッシュã®å®Ÿè£…ãŒãƒãƒƒã‚¯ã‚’サãƒãƒ¼ãƒˆ
+ ã—ã¦ã„ã‚‹ã“ã¨ã‚’ä¿è¨¼ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ 組ã¿è¾¼ã¿ã®ã‚ャッシュプãƒãƒã‚¤ãƒ€ã¯ サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“ 。
@@ -802,39 +804,39 @@ Cat fritz = (Cat) iter.next();]]>
- Œµ–§‚Å‚Í‚È‚¢read/writeí—ª
+ 厳密ã§ã¯ãªã„read/write戦略
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚½‚Ü‚É‚µ‚©ƒf[ƒ^‚ðXV‚·‚é•K—v‚Í‚È‚i‚·‚È‚í‚¿“ñ‚‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª
- “¯Žž‚É“¯‚¶ƒAƒCƒeƒ€‚ðXV‚µ‚悤‚Æ‚·‚邱‚Æ‚Í‚Ù‚Æ‚ñ‚Ç‹N‚±‚ç‚È‚¢jAŒµ–§‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£‚ª
- —v‹‚³‚ê‚È‚¢‚È‚çA nonstrict-read-write ƒLƒƒƒbƒVƒ…‚ª“K“–‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚à‚µƒLƒƒƒbƒVƒ…‚ªJTAŠÂ‹«‚ÅŽg‚í‚ê‚é‚È‚çA hibernate.transaction.manager_lookup_class
- ‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‘¼‚̊‹«‚Å‚ÍA Session.close()
- ‚â Session.disconnect() ‚ªŒÄ‚΂ꂽ‚Æ‚«‚ÉAŠmŽÀ‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹
- ‚µ‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ アプリケーションãŒãŸã¾ã«ã—ã‹ãƒ‡ãƒ¼ã‚¿ã‚’æ›´æ–°ã™ã‚‹å¿…è¦ã¯ãªã(ã™ãªã‚ã¡äºŒã¤ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒ
+ åŒæ™‚ã«åŒã˜ã‚¢ã‚¤ãƒ†ãƒ ã‚’æ›´æ–°ã—よã†ã¨ã™ã‚‹ã“ã¨ã¯ã»ã¨ã‚“ã©èµ·ã“らãªã„)ã€åŽ³å¯†ãªãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³åˆ†é›¢ãŒ
+ è¦æ±‚ã•ã‚Œãªã„ãªã‚‰ã€ nonstrict-read-write ã‚ャッシュãŒé©å½“ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã‚‚ã—ã‚ャッシュãŒJTA環境ã§ä½¿ã‚れるãªã‚‰ã€ hibernate.transaction.manager_lookup_class
+ を指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。他ã®ç’°å¢ƒã§ã¯ã€ Session.close()
+ ã‚„ Session.disconnect() ãŒå‘¼ã°ã‚ŒãŸã¨ãã«ã€ç¢ºå®Ÿã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒå®Œäº†
+ ã—ã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- transactionalí—ª
+ transactional戦略
- transactional ƒLƒƒƒbƒVƒ…í—ª‚ÍJBoss TreeCache‚̂悤‚ÈŠ®‘S‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒiƒ‹
- ƒLƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚̃Tƒ|[ƒg‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- ‚±‚̂悤‚ȃLƒƒƒbƒVƒ…‚ÍJTAŠÂ‹«‚Å‚Ì‚ÝŽg—p‰Â”\‚ÅA hibernate.transaction.manager_lookup_class
- ‚ðŽw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ transactional ã‚ャッシュ戦略ã¯JBoss TreeCacheã®ã‚ˆã†ãªå®Œå…¨ãªãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒŠãƒ«
+ ã‚ャッシュプãƒãƒã‚¤ãƒ€ã®ã‚µãƒãƒ¼ãƒˆã‚’æä¾›ã—ã¾ã™ã€‚
+ ã“ã®ã‚ˆã†ãªã‚ャッシュã¯JTA環境ã§ã®ã¿ä½¿ç”¨å¯èƒ½ã§ã€ hibernate.transaction.manager_lookup_class
+ を指定ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ‚·‚ׂĂ̓¯Žž•Às«ƒLƒƒƒbƒVƒ…í—ª‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒLƒƒƒbƒVƒ…ƒvƒƒoƒCƒ_‚Í‚ ‚è‚Ü‚¹‚ñB
- ˆÈ‰º‚Ì•\‚͂ǂ̃vƒƒoƒCƒ_‚ª‚Ç‚Ì“¯Žž•À—ñ«í—ª‚ɑΉž‚·‚é‚©‚ð•\‚µ‚Ä‚¢‚Ü‚·B
+ ã™ã¹ã¦ã®åŒæ™‚並行性ã‚ャッシュ戦略をサãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ã‚ャッシュプãƒãƒã‚¤ãƒ€ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 以下ã®è¡¨ã¯ã©ã®ãƒ—ãƒãƒã‚¤ãƒ€ãŒã©ã®åŒæ™‚並列性戦略ã«å¯¾å¿œã™ã‚‹ã‹ã‚’表ã—ã¦ã„ã¾ã™ã€‚
- “¯Žž•Às«ƒLƒƒƒbƒVƒ…í—ª‚̃Tƒ|[ƒg
+ åŒæ™‚並行性ã‚ャッシュ戦略ã®ã‚µãƒãƒ¼ãƒˆ
@@ -843,16 +845,16 @@ Cat fritz = (Cat) iter.next();]]>
- ƒLƒƒƒbƒVƒ…
+ ã‚ャッシュ
read-only
- Œµ–§‚Å‚Í‚È‚¢read-write
+ 厳密ã§ã¯ãªã„read-write
read-write
transactional
- Hashtablei»•i—p‚Æ‚µ‚ĈÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñj
+ Hashtable(製å“用ã¨ã—ã¦æ„図ã—ã¦ã„ã¾ã›ã‚“)
yes
yes
yes
@@ -893,19 +895,19 @@ Cat fritz = (Cat) iter.next();]]>
- ƒLƒƒƒbƒVƒ…‚ÌŠÇ—
+ ã‚ャッシュã®ç®¡ç†
- ƒIƒuƒWƒFƒNƒg‚ð save() A update() A saveOrUpdate()
- ‚É“n‚·‚Æ‚«A‚»‚µ‚Ä load() A get() A list() A
- iterate() A scroll() ‚ðŽg‚Á‚ăIƒuƒWƒFƒNƒg‚𕜌³‚·‚é‚Æ‚«‚É‚Íí‚ÉA
- ‚»‚̃IƒuƒWƒFƒNƒg‚Í Session ‚Ì“à•”ƒLƒƒƒbƒVƒ…‚ɒljÁ‚³‚ê‚Ü‚·B
+ オブジェクトを save() 〠update() 〠saveOrUpdate()
+ ã«æ¸¡ã™ã¨ãã€ãã—㦠load() 〠get() 〠list() ã€
+ iterate() 〠scroll() を使ã£ã¦ã‚ªãƒ–ジェクトを復元ã™ã‚‹ã¨ãã«ã¯å¸¸ã«ã€
+ ãã®ã‚ªãƒ–ジェクト㯠Session ã®å†…部ã‚ャッシュã«è¿½åŠ ã•ã‚Œã¾ã™ã€‚
- ŽŸ‚É flush() ‚ªŒÄ‚΂ê‚é‚ÆAƒIƒuƒWƒFƒNƒg‚Ìó‘Ԃ̓f[ƒ^ƒx[ƒX‚Æ“¯Šú‰»‚³‚ê‚Ü‚·B
- ‚à‚µ‚±‚Ì“¯Šú‚ª‹N‚±‚邱‚Æ‚ð–]‚Ü‚È‚¢‚Æ‚«‚âA–c‘å‚È”‚̃IƒuƒWƒFƒNƒg‚ðˆ—‚µ‚Ä‚¢‚ăƒ‚ƒŠ‚ðŒø—¦“I‚É
- ˆµ‚¤•K—v‚ª‚ ‚é‚Æ‚«‚ÍA evict() ƒƒ\ƒbƒh‚ðŽg‚Á‚ĈꎟƒLƒƒƒbƒVƒ…‚©‚ç
- ƒIƒuƒWƒFƒNƒg‚âƒRƒŒƒNƒVƒ‡ƒ“‚ð휂·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+ 次㫠flush() ãŒå‘¼ã°ã‚Œã‚‹ã¨ã€ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨åŒæœŸåŒ–ã•ã‚Œã¾ã™ã€‚
+ ã‚‚ã—ã“ã®åŒæœŸãŒèµ·ã“ã‚‹ã“ã¨ã‚’望ã¾ãªã„ã¨ãã‚„ã€è†¨å¤§ãªæ•°ã®ã‚ªãƒ–ジェクトを処ç†ã—ã¦ã„ã¦ãƒ¡ãƒ¢ãƒªã‚’効率的ã«
+ 扱ã†å¿…è¦ãŒã‚ã‚‹ã¨ãã¯ã€ evict() メソッドを使ã£ã¦ä¸€æ¬¡ã‚ャッシュã‹ã‚‰
+ オブジェクトやコレクションを削除ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
- Session ‚̓Cƒ“ƒXƒ^ƒ“ƒX‚ªƒZƒbƒVƒ‡ƒ“ƒLƒƒƒbƒVƒ…‚ÉŠÜ‚Ü‚ê‚é‚©‚Ç‚¤‚©‚ð”»’f‚·‚邽‚ß‚Ì
- contains() ƒƒ\ƒbƒh‚à’ñ‹Ÿ‚µ‚Ü‚·B
+ Session ã¯ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚ャッシュã«å«ã¾ã‚Œã‚‹ã‹ã©ã†ã‹ã‚’判æ–ã™ã‚‹ãŸã‚ã®
+ contains() メソッドもæä¾›ã—ã¾ã™ã€‚
- ‚·‚ׂẴIƒuƒWƒFƒNƒg‚ðƒZƒbƒVƒ‡ƒ“ƒLƒƒƒbƒVƒ…‚©‚犮‘S‚ÉŽæ‚蜂‚É‚ÍASession.clear()
- ‚ðŒÄ‚Ño‚µ‚Ä‚‚¾‚³‚¢B
+ ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトをセッションã‚ャッシュã‹ã‚‰å®Œå…¨ã«å–り除ãã«ã¯ã€Session.clear()
+ を呼ã³å‡ºã—ã¦ãã ã•ã„。
- “ñŽŸƒLƒƒƒbƒVƒ…‚Ì‚½‚ß‚ÉA SessionFactory ‚É‚Í
- ƒCƒ“ƒXƒ^ƒ“ƒXAƒNƒ‰ƒX‘S‘ÌAƒRƒŒƒNƒVƒ‡ƒ“‚̃Cƒ“ƒXƒ^ƒ“ƒXAƒRƒŒƒNƒVƒ‡ƒ“‘S‘Ì‚ðƒLƒƒƒbƒVƒ…‚©‚ç
- 휂·‚邽‚߂̃ƒ\ƒbƒh‚ª‚»‚ꂼ‚ê’è‹`‚³‚ê‚Ä‚¢‚Ü‚·B
+ 二次ã‚ャッシュã®ãŸã‚ã«ã€ SessionFactory ã«ã¯
+ インスタンスã€ã‚¯ãƒ©ã‚¹å…¨ä½“ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³å…¨ä½“ã‚’ã‚ャッシュã‹ã‚‰
+ 削除ã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒãã‚Œãžã‚Œå®šç¾©ã•ã‚Œã¦ã„ã¾ã™ã€‚
- CacheMode ‚Í“Á’è‚̃ZƒbƒVƒ‡ƒ“‚ª“ñŽŸƒLƒƒƒbƒVƒ…‚Ƃǂ̂悤‚É‘ŠŒÝì—p‚·‚é‚©‚ð
- Žw’肵‚Ü‚·B
+ CacheMode ã¯ç‰¹å®šã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒäºŒæ¬¡ã‚ャッシュã¨ã©ã®ã‚ˆã†ã«ç›¸äº’作用ã™ã‚‹ã‹ã‚’
+ 指定ã—ã¾ã™ã€‚
- CacheMode.NORMAL - ƒAƒCƒeƒ€‚Ì“Ç‚Ýž‚Ý‚Æ‘‚«ž‚Ý‚Å“ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚¢‚Ü‚·
+ CacheMode.NORMAL - アイテムã®èªã¿è¾¼ã¿ã¨æ›¸ãè¾¼ã¿ã§äºŒæ¬¡ã‚ャッシュを使ã„ã¾ã™
- CacheMode.GET - “Ç‚Ýž‚Ý‚Í“ñŽŸƒLƒƒƒbƒVƒ…‚©‚çs‚¢‚Ü‚·‚ªAƒf[ƒ^‚ð
- XV‚µ‚½ê‡‚𜂢‚Ä“ñŽŸƒLƒƒƒbƒVƒ…‚É‘‚«ž‚Ý‚ð‚µ‚Ü‚¹‚ñB
+ CacheMode.GET - èªã¿è¾¼ã¿ã¯äºŒæ¬¡ã‚ャッシュã‹ã‚‰è¡Œã„ã¾ã™ãŒã€ãƒ‡ãƒ¼ã‚¿ã‚’
+ æ›´æ–°ã—ãŸå ´åˆã‚’除ã„ã¦äºŒæ¬¡ã‚ャッシュã«æ›¸ãè¾¼ã¿ã‚’ã—ã¾ã›ã‚“。
- CacheMode.PUT - “ñŽŸƒLƒƒƒbƒVƒ…‚ɃAƒCƒeƒ€‚ð‘‚«ž‚Ý‚Ü‚·‚ªA“Ç‚Ýž‚Ý‚É‚Í
- “ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚¢‚Ü‚¹‚ñB
+ CacheMode.PUT - 二次ã‚ャッシュã«ã‚¢ã‚¤ãƒ†ãƒ を書ãè¾¼ã¿ã¾ã™ãŒã€èªã¿è¾¼ã¿ã«ã¯
+ 二次ã‚ャッシュを使ã„ã¾ã›ã‚“。
- CacheMode.REFRESH - “ñŽŸƒLƒƒƒbƒVƒ…‚ɃAƒCƒeƒ€‚ð‘‚«ž‚Ý‚Ü‚·‚ªA“Ç‚Ýž‚Ý‚É‚Í
- “ñŽŸƒLƒƒƒbƒVƒ…‚ðŽg‚킸A hibernate.cache.use_minimal_puts
- ‚̉e‹¿‚ðŽó‚¯‚¸‚ÉAƒf[ƒ^ƒx[ƒX‚©‚ç“Ç‚Ýž‚Þ‚·‚ׂẴAƒCƒeƒ€‚Ì“ñŽŸƒLƒƒƒbƒVƒ…‚ð‹§“I‚ɃŠƒtƒŒƒbƒVƒ…‚µ‚Ü‚·B
+ CacheMode.REFRESH - 二次ã‚ャッシュã«ã‚¢ã‚¤ãƒ†ãƒ を書ãè¾¼ã¿ã¾ã™ãŒã€èªã¿è¾¼ã¿ã«ã¯
+ 二次ã‚ャッシュを使ã‚ãšã€ hibernate.cache.use_minimal_puts
+ ã®å½±éŸ¿ã‚’å—ã‘ãšã«ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰èªã¿è¾¼ã‚€ã™ã¹ã¦ã®ã‚¢ã‚¤ãƒ†ãƒ ã®äºŒæ¬¡ã‚ャッシュを強制的ã«ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ã—ã¾ã™ã€‚
- “ñŽŸƒLƒƒƒbƒVƒ…‚Ì“à—e‚âƒNƒGƒŠƒLƒƒƒbƒVƒ…—̈æ‚ðŒ©‚é‚½‚ß‚ÉA Statistics API‚ð
- Žg‚Á‚Ä‚‚¾‚³‚¢B
+ 二次ã‚ャッシュã®å†…容やクエリã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã‚’è¦‹ã‚‹ãŸã‚ã«ã€ Statistics APIã‚’
+ 使ã£ã¦ãã ã•ã„。
.getEntries();]]>
- “Œvî•ñ‚ð—LŒø‚É‚µ‚ÄA‚³‚ç‚ɃIƒvƒVƒ‡ƒ“‚Æ‚µ‚ÄAƒLƒƒƒbƒVƒ…ƒGƒ“ƒgƒŠ‚ð
- l‚ª‚æ‚è—‰ð‰Â”\‚ÈŒ`Ž®‚Å•ÛŽ‚·‚邱‚Æ‚ðHibernate‚É‹§‚µ‚Ü‚·B
+ çµ±è¨ˆæƒ…å ±ã‚’æœ‰åŠ¹ã«ã—ã¦ã€ã•ã‚‰ã«ã‚ªãƒ—ションã¨ã—ã¦ã€ã‚ャッシュエントリを
+ 人ãŒã‚ˆã‚Šç†è§£å¯èƒ½ãªå½¢å¼ã§ä¿æŒã™ã‚‹ã“ã¨ã‚’Hibernateã«å¼·åˆ¶ã—ã¾ã™ã€‚
- ƒNƒGƒŠƒLƒƒƒbƒVƒ…
+ クエリã‚ャッシュ
- ƒNƒGƒŠ‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚àƒLƒƒƒbƒVƒ…o—ˆ‚Ü‚·B‚±‚ê‚Í“¯‚¶ƒpƒ‰ƒ[ƒ^‚ʼn½“x‚àŽÀs‚³‚ê‚é
- ƒNƒGƒŠ‚ɑ΂µ‚Ä‚Ì‚Ý—L—p‚Å‚·BƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ðŽg‚¤‚É‚ÍA‚Ü‚¸Ý’è‚Å—LŒø‚É‚µ‚È‚‚Ä‚Í‚È‚è‚Ü‚¹‚ñB
+ クエリã®ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚‚ã‚ャッシュ出æ¥ã¾ã™ã€‚ã“ã‚Œã¯åŒã˜ãƒ‘ラメータã§ä½•åº¦ã‚‚実行ã•ã‚Œã‚‹
+ クエリã«å¯¾ã—ã¦ã®ã¿æœ‰ç”¨ã§ã™ã€‚クエリã‚ャッシュを使ã†ã«ã¯ã€ã¾ãšè¨å®šã§æœ‰åŠ¹ã«ã—ãªãã¦ã¯ãªã‚Šã¾ã›ã‚“。
- ‚±‚ÌÝ’è‚ÍV‚½‚É“ñ‚‚̃LƒƒƒbƒVƒ…—̈æ‚Ì쬂ðs‚¢‚Ü‚·Bˆê‚‚̓NƒGƒŠ‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚Ì
- ƒLƒƒƒbƒVƒ…i org.hibernate.cache.StandardQueryCache j‚ð•ÛŽ‚µA
- ‚à‚¤1‚‚̓NƒGƒŠ‰Â”\‚ȃe[ƒuƒ‹‚Ö‚ÌÅV‚ÌXVƒ^ƒCƒ€ƒXƒ^ƒ“ƒv
- i org.hibernate.cache.UpdateTimestampsCache j‚ð•ÛŽ‚µ‚Ü‚·B
- ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ÌŽÀÛ‚Ì—v‘f‚Ìó‘Ԃ̓LƒƒƒbƒVƒ…‚µ‚È‚¢‚±‚Æ‚É
- ’ˆÓ‚µ‚Ä‚‚¾‚³‚¢BƒLƒƒƒbƒVƒ…‚·‚é‚Ì‚ÍŽ¯•ÊŽq‚Ì’l‚ÆA’lŒ^‚ÌŒ‹‰Ê‚Ì‚Ý‚Å‚·B
- ‚»‚Ì‚½‚ßAƒNƒGƒŠƒLƒƒƒbƒVƒ…‚Íí‚É“ñŽŸƒLƒƒƒbƒVƒ…‚ƈê‚ÉŽg‚¤‚ׂ«‚Å‚·B
+ ã“ã®è¨å®šã¯æ–°ãŸã«äºŒã¤ã®ã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã®ä½œæˆã‚’è¡Œã„ã¾ã™ã€‚一ã¤ã¯ã‚¯ã‚¨ãƒªã®ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã®
+ ã‚ャッシュ( org.hibernate.cache.StandardQueryCache )をä¿æŒã—ã€
+ ã‚‚ã†1ã¤ã¯ã‚¯ã‚¨ãƒªå¯èƒ½ãªãƒ†ãƒ¼ãƒ–ルã¸ã®æœ€æ–°ã®æ›´æ–°ã‚¿ã‚¤ãƒ スタンプ
+ ( org.hibernate.cache.UpdateTimestampsCache )をä¿æŒã—ã¾ã™ã€‚
+ クエリã‚ャッシュã¯ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã®å®Ÿéš›ã®è¦ç´ ã®çŠ¶æ…‹ã¯ã‚ャッシュã—ãªã„ã“ã¨ã«
+ 注æ„ã—ã¦ãã ã•ã„。ã‚ャッシュã™ã‚‹ã®ã¯è˜åˆ¥åã®å€¤ã¨ã€å€¤åž‹ã®çµæžœã®ã¿ã§ã™ã€‚
+ ãã®ãŸã‚ã€ã‚¯ã‚¨ãƒªã‚ャッシュã¯å¸¸ã«äºŒæ¬¡ã‚ャッシュã¨ä¸€ç·’ã«ä½¿ã†ã¹ãã§ã™ã€‚
- ‚Ù‚Æ‚ñ‚ǂ̃NƒGƒŠ‚̓LƒƒƒbƒVƒ…‚̉¶Œb‚ðŽó‚¯‚È‚¢‚Ì‚ÅAƒfƒtƒHƒ‹ƒg‚ł̓NƒGƒŠ‚̓LƒƒƒbƒVƒ…‚³‚ê‚Ü‚¹‚ñB
- ƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚·‚é‚É‚ÍA Query.setCacheable(true) ‚ðŒÄ‚Ño‚µ‚Ä‚‚¾‚³‚¢B
- ‚»‚¤‚·‚ê‚΃NƒGƒŠ‚ªŠù‘¶‚̃LƒƒƒbƒVƒ…Œ‹‰Ê‚ð’T‚µAƒNƒGƒŠŽÀsŽž‚É‚»‚ÌŒ‹‰Ê‚ðƒLƒƒƒbƒVƒ…‚ɒljÁ‚·‚é
- ‚悤‚É‚È‚è‚Ü‚·B
+ ã»ã¨ã‚“ã©ã®ã‚¯ã‚¨ãƒªã¯ã‚ャッシュã®æ©æµã‚’å—ã‘ãªã„ã®ã§ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ã‚¯ã‚¨ãƒªã¯ã‚ャッシュã•ã‚Œã¾ã›ã‚“。
+ ã‚ャッシュを有効ã«ã™ã‚‹ã«ã¯ã€ Query.setCacheable(true) を呼ã³å‡ºã—ã¦ãã ã•ã„。
+ ãã†ã™ã‚Œã°ã‚¯ã‚¨ãƒªãŒæ—¢å˜ã®ã‚ャッシュçµæžœã‚’探ã—ã€ã‚¯ã‚¨ãƒªå®Ÿè¡Œæ™‚ã«ãã®çµæžœã‚’ã‚ャッシュã«è¿½åŠ ã™ã‚‹
+ よã†ã«ãªã‚Šã¾ã™ã€‚
- ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚Ì”jŠüƒ|ƒŠƒV[‚ðׂ©‚§Œä‚µ‚½‚¢‚Æ‚«‚ÍA Query.setCacheRegion()
- ‚ðŒÄ‚Ño‚µ‚Ä“Á’è‚̃NƒGƒŠ‚ɑ΂·‚éƒLƒƒƒbƒVƒ…—̈æ‚ðŽw’è‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+ クエリã‚ャッシュã®ç ´æ£„ãƒãƒªã‚·ãƒ¼ã‚’ç´°ã‹ã制御ã—ãŸã„ã¨ãã¯ã€ Query.setCacheRegion()
+ を呼ã³å‡ºã—ã¦ç‰¹å®šã®ã‚¯ã‚¨ãƒªã«å¯¾ã™ã‚‹ã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã‚’æŒ‡å®šã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
.list();]]>
- ƒNƒGƒŠ‚ªŽ©g‚̃NƒGƒŠƒLƒƒƒbƒVƒ…—̈æ‚̃ŠƒtƒŒƒbƒVƒ…‚ð‹§‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚È‚çA
- Query.setCacheMode(CacheMode.REFRESH) ‚ðŒÄ‚Ño‚·‚ׂ«‚Å‚·B‚±‚ê‚Í
- Œ³‚Æ‚È‚éƒf[ƒ^‚ª•Ê‚̃vƒƒZƒX‚É‚æ‚Á‚ÄXV‚³‚ꂽ‚èi‚·‚È‚í‚¿Hibernate‚ð’Ê‚¶‚ÄXV‚³‚ê‚È‚¢jA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É“Á’è‚̃NƒGƒŠƒŠƒUƒ‹ƒgƒZƒbƒg‚ð‘I‘ð‚µ‚ÄƒŠƒtƒŒƒbƒVƒ…‚³‚¹‚éꇂɓÁ‚É—L—p‚Å‚·B
- ‚³‚ç‚É—L—p‚È‚à‚¤ˆê‚‚̕û–@‚ÍA SessionFactory.evictQueries()
- ‚É‚æ‚Á‚ăNƒGƒŠƒLƒƒƒbƒVƒ…—̈æ‚ðÁ‹Ž‚·‚邱‚Æ‚Å‚·B
+ クエリãŒè‡ªèº«ã®ã‚¯ã‚¨ãƒªã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã®ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ã‚’強制ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ãªã‚‰ã€
+ Query.setCacheMode(CacheMode.REFRESH) を呼ã³å‡ºã™ã¹ãã§ã™ã€‚ã“ã‚Œã¯
+ å…ƒã¨ãªã‚‹ãƒ‡ãƒ¼ã‚¿ãŒåˆ¥ã®ãƒ—ãƒã‚»ã‚¹ã«ã‚ˆã£ã¦æ›´æ–°ã•ã‚ŒãŸã‚Šï¼ˆã™ãªã‚ã¡Hibernateを通ã˜ã¦æ›´æ–°ã•ã‚Œãªã„)ã€
+ アプリケーションã«ç‰¹å®šã®ã‚¯ã‚¨ãƒªãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’é¸æŠžã—ã¦ãƒªãƒ•ãƒ¬ãƒƒã‚·ãƒ¥ã•ã›ã‚‹å ´åˆã«ç‰¹ã«æœ‰ç”¨ã§ã™ã€‚
+ ã•ã‚‰ã«æœ‰ç”¨ãªã‚‚ã†ä¸€ã¤ã®æ–¹æ³•ã¯ã€ SessionFactory.evictQueries()
+ ã«ã‚ˆã£ã¦ã‚¯ã‚¨ãƒªã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã‚’æ¶ˆåŽ»ã™ã‚‹ã“ã¨ã§ã™ã€‚
-™14.1
+☆14.1
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃pƒtƒH[ƒ}ƒ“ƒX‚Ì—‰ð
+ コレクションã®ãƒ‘フォーマンスã®ç†è§£
- ƒRƒŒƒNƒVƒ‡ƒ“‚̘b‘è‚É‚Í‚·‚Å‚É‘½‚‚ÌŽžŠÔ‚ðŽg‚¢‚Ü‚µ‚½B‚±‚Ìß‚Å‚Í
- ƒRƒŒƒNƒVƒ‡ƒ“‚ªŽÀsŽž‚ɂǂ̂悤‚ÉU•‘‚¤‚©‚ɂ‚¢‚Ă̘b‘è‚ð2A3Žæ‚èã‚°‚Ü‚·B
+ コレクションã®è©±é¡Œã«ã¯ã™ã§ã«å¤šãã®æ™‚間を使ã„ã¾ã—ãŸã€‚ã“ã®ç¯€ã§ã¯
+ コレクションãŒå®Ÿè¡Œæ™‚ã«ã©ã®ã‚ˆã†ã«æŒ¯èˆžã†ã‹ã«ã¤ã„ã¦ã®è©±é¡Œã‚’2ã€3å–り上ã’ã¾ã™ã€‚
- •ª—Þ
+ 分類
- Hibernate‚Í3‚‚̊î–{“I‚ȃRƒŒƒNƒVƒ‡ƒ“‚ÌŽí—Þ‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B
+ Hibernateã¯3ã¤ã®åŸºæœ¬çš„ãªã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ç¨®é¡žã‚’定義ã—ã¦ã„ã¾ã™ã€‚
- ’l‚̃RƒŒƒNƒVƒ‡ƒ“
+ 値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³
- ˆê‘Α½ŠÖ˜A
+ 一対多関連
- ‘½‘Α½ŠÖ˜A
+ 多対多関連
- ‚±‚Ì•ª—Þ‚Í‚³‚Ü‚´‚܂ȃe[ƒuƒ‹‚âŠO•”ƒL[ŠÖ˜A‚ð‹æ•Ê‚µ‚Ü‚·‚ªAŽ„‚½‚¿‚ª’m‚é•K—v‚Ì‚ ‚é
- ŠÖ˜Aƒ‚ƒfƒ‹‚ɂ‚¢‚Ä‚Ù‚Æ‚ñ‚Ç‚È‚É‚à‹³‚¦‚Ä‚‚ê‚Ü‚¹‚ñBŠÖ˜A\‘¢‚âƒpƒtƒH[ƒ}ƒ“ƒX‚Ì“Á’¥‚ð
- Š®‘S‚É—‰ð‚·‚é‚É‚ÍAHibernate‚ªƒRƒŒƒNƒVƒ‡ƒ“‚Ìs‚ðXVA휂·‚邽‚ß‚ÉŽg‚¤ŽåƒL[‚Ì
- \‘¢‚à‚Ü‚½l‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB‚±‚ê‚͈ȉº‚Ì•ª—Þ‚ð’ñŽ¦‚µ‚Ü‚·B
+ ã“ã®åˆ†é¡žã¯ã•ã¾ã–ã¾ãªãƒ†ãƒ¼ãƒ–ルや外部ã‚ー関連を区別ã—ã¾ã™ãŒã€ç§ãŸã¡ãŒçŸ¥ã‚‹å¿…è¦ã®ã‚ã‚‹
+ 関連モデルã«ã¤ã„ã¦ã»ã¨ã‚“ã©ãªã«ã‚‚æ•™ãˆã¦ãã‚Œã¾ã›ã‚“ã€‚é–¢é€£æ§‹é€ ã‚„ãƒ‘ãƒ•ã‚©ãƒ¼ãƒžãƒ³ã‚¹ã®ç‰¹å¾´ã‚’
+ 完全ã«ç†è§£ã™ã‚‹ã«ã¯ã€HibernateãŒã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¡Œã‚’æ›´æ–°ã€å‰Šé™¤ã™ã‚‹ãŸã‚ã«ä½¿ã†ä¸»ã‚ーã®
+ æ§‹é€ ã‚‚ã¾ãŸè€ƒãˆãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。ã“ã‚Œã¯ä»¥ä¸‹ã®åˆ†é¡žã‚’æ示ã—ã¾ã™ã€‚
- ƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“
+ インデックス付ãコレクション
set
@@ -1083,86 +1085,86 @@ hibernate.cache.use_structured_entries true]]>
- ‚·‚ׂẴCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“imapAlistA”z—ñj‚Í <key>
- ‚Æ <index> ƒJƒ‰ƒ€‚©‚ç‚È‚éŽåƒL[‚ðŽ‚Á‚Ä‚¢‚Ü‚·B‚±‚ÌꇂÍ
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÌXV‚Í”ñí‚ÉŒø—¦“I‚Å‚·BŽåƒL[‚Í—L—p‚ȃCƒ“ƒfƒbƒNƒX‚É‚È‚èAHibernate‚ª
- “Á’è‚Ìs‚ðXV‚Ü‚½‚Í휂·‚é‚Æ‚«‚ÉA‚»‚Ìs‚ðŒø—¦“I‚ÉŒ©‚‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ ã™ã¹ã¦ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä»˜ãコレクション(mapã€listã€é…列)㯠<key>
+ 㨠<index> カラムã‹ã‚‰ãªã‚‹ä¸»ã‚ーをæŒã£ã¦ã„ã¾ã™ã€‚ã“ã®å ´åˆã¯
+ コレクションã®æ›´æ–°ã¯éžå¸¸ã«åŠ¹çŽ‡çš„ã§ã™ã€‚主ã‚ーã¯æœ‰ç”¨ãªã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«ãªã‚Šã€HibernateãŒ
+ 特定ã®è¡Œã‚’æ›´æ–°ã¾ãŸã¯å‰Šé™¤ã™ã‚‹ã¨ãã«ã€ãã®è¡Œã‚’効率的ã«è¦‹ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- set‚Í <key> ‚©‚ç‚È‚éŽåƒL[‚Æ—v‘f‚̃Jƒ‰ƒ€‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
- ‚±‚ê‚̓RƒŒƒNƒVƒ‡ƒ“—v‘f‚Ì‚¢‚‚‚©‚ÌŒ^‚ɂ‚¢‚Ä‚ÍŒø—¦“I‚Å‚Í‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- “Á‚É•¡‡—v‘fA‘å‚«‚ȃeƒLƒXƒgAƒoƒCƒiƒŠƒtƒB[ƒ‹ƒh‚Å‚Í”ñŒø—¦‚Å‚·Bƒf[ƒ^ƒx[ƒX‚Í
- •¡‡ŽåƒL[‚ÉŒø—¦“I‚ɃCƒ“ƒfƒbƒNƒX‚ð•t‚¯‚邱‚Æ‚ª‚Å‚«‚È‚¢‚©‚ç‚Å‚·Bˆê•ûA1‘Α½‚⑽‘Α½ŠÖ˜A‚É‚¨‚¢‚ÄA
- “Á‚ÉlHŽ¯•ÊŽq‚Ìꇂ͓¯‚¶‚®‚ç‚¢Œø—¦“I‚Å‚·Bi—]’kF SchemaExport
- ‚ÅŽÀÛ‚É <set> ‚ÌŽåƒL[‚ðì‚肽‚¢‚È‚çA‚·‚ׂẴJƒ‰ƒ€‚Å
- not-null="true" ‚ð錾‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñBj
+ set㯠<key> ã‹ã‚‰ãªã‚‹ä¸»ã‚ーã¨è¦ç´ ã®ã‚«ãƒ©ãƒ ã‚’æŒã£ã¦ã„ã¾ã™ã€‚
+ ã“ã‚Œã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³è¦ç´ ã®ã„ãã¤ã‹ã®åž‹ã«ã¤ã„ã¦ã¯åŠ¹çŽ‡çš„ã§ã¯ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ 特ã«è¤‡åˆè¦ç´ ã€å¤§ããªãƒ†ã‚ストã€ãƒã‚¤ãƒŠãƒªãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã§ã¯éžåŠ¹çŽ‡ã§ã™ã€‚データベースã¯
+ 複åˆä¸»ã‚ーã«åŠ¹çŽ‡çš„ã«ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚’付ã‘ã‚‹ã“ã¨ãŒã§ããªã„ã‹ã‚‰ã§ã™ã€‚一方ã€1対多や多対多関連ã«ãŠã„ã¦ã€
+ 特ã«äººå·¥è˜åˆ¥åã®å ´åˆã¯åŒã˜ãらã„効率的ã§ã™ã€‚(余談: SchemaExport
+ ã§å®Ÿéš›ã« <set> ã®ä¸»ã‚ーを作りãŸã„ãªã‚‰ã€ã™ã¹ã¦ã®ã‚«ãƒ©ãƒ ã§
+ not-null="true" を宣言ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。)
- <idbag> ƒ}ƒbƒsƒ“ƒO‚Í‘ã—ƒL[‚ð’è‹`‚µ‚Ü‚·B‚»‚Ì‚½‚ß
- XV‚Íí‚É”ñí‚ÉŒø—¦“I‚Å‚·BŽ–ŽÀãA‚±‚ê‚ÍÅ‘P‚̃P[ƒX‚Å‚·B
+ <idbag> マッピングã¯ä»£ç†ã‚ーを定義ã—ã¾ã™ã€‚ãã®ãŸã‚
+ æ›´æ–°ã¯å¸¸ã«éžå¸¸ã«åŠ¹çŽ‡çš„ã§ã™ã€‚事実上ã€ã“ã‚Œã¯æœ€å–„ã®ã‚±ãƒ¼ã‚¹ã§ã™ã€‚
- bag‚Íň«‚̃P[ƒX‚Å‚·Bbag‚Í—v‘f‚Ì’l‚Ìd•¡‚ª‰Â”\‚ÅAƒCƒ“ƒfƒbƒNƒXƒJƒ‰ƒ€‚ðŽ‚½‚È‚¢‚½‚ßA
- ŽåƒL[‚Í’è‹`‚³‚ê‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñBHibernate‚É‚Íd•¡‚µ‚½s‚ð‹æ•Ê‚·‚é•û–@‚ª‚ ‚è‚Ü‚¹‚ñB
- Hibernate‚Í‚±‚Ì–â‘è‚Ì‰ðŒˆ‚Ì‚½‚ß‚ÉA•ÏX‚ª‚ ‚Á‚½‚Æ‚«‚É‚Íí‚ÉŠ®‘S‚Èíœ
- iˆê‚Â‚Ì DELETE ‚É‚æ‚éj‚ðs‚¢AƒRƒŒƒNƒVƒ‡ƒ“‚ÌÄ쬂ðs‚¢‚Ü‚·B
- ‚±‚ê‚Í”ñí‚É”ñŒø—¦“I‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ bagã¯æœ€æ‚ªã®ã‚±ãƒ¼ã‚¹ã§ã™ã€‚bagã¯è¦ç´ ã®å€¤ã®é‡è¤‡ãŒå¯èƒ½ã§ã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã‚«ãƒ©ãƒ ã‚’æŒãŸãªã„ãŸã‚ã€
+ 主ã‚ーã¯å®šç¾©ã•ã‚Œãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。Hibernateã«ã¯é‡è¤‡ã—ãŸè¡Œã‚’区別ã™ã‚‹æ–¹æ³•ãŒã‚ã‚Šã¾ã›ã‚“。
+ Hibernateã¯ã“ã®å•é¡Œã®è§£æ±ºã®ãŸã‚ã«ã€å¤‰æ›´ãŒã‚ã£ãŸã¨ãã«ã¯å¸¸ã«å®Œå…¨ãªå‰Šé™¤
+ (一ã¤ã® DELETE ã«ã‚ˆã‚‹ï¼‰ã‚’è¡Œã„ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®å†ä½œæˆã‚’è¡Œã„ã¾ã™ã€‚
+ ã“ã‚Œã¯éžå¸¸ã«éžåŠ¹çŽ‡çš„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- 1‘Α½ŠÖ˜A‚Å‚ÍAuŽåƒL[v‚̓f[ƒ^ƒx[ƒX‚̃e[ƒuƒ‹‚Ì•¨—“I‚È
- ŽåƒL[‚Å‚Í‚È‚¢‚©‚à‚µ‚ê‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B‚µ‚©‚µ‚±‚Ìꇂł³‚¦Aã‹L‚Ì•ª—Þ‚Í‚Ü‚¾—L—p‚Å‚·B
- iHibernate‚ªƒRƒŒƒNƒVƒ‡ƒ“‚ÌŒÂX‚Ìs‚ð‚Ç‚¤‚â‚Á‚ÄuŒ©‚‚¯‚é‚©v‚ð•\‚µ‚Ä‚¢‚Ü‚·Bj
+ 1対多関連ã§ã¯ã€ã€Œä¸»ã‚ーã€ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒ†ãƒ¼ãƒ–ルã®ç‰©ç†çš„ãª
+ 主ã‚ーã§ã¯ãªã„ã‹ã‚‚ã—ã‚Œãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ã—ã‹ã—ã“ã®å ´åˆã§ã•ãˆã€ä¸Šè¨˜ã®åˆ†é¡žã¯ã¾ã 有用ã§ã™ã€‚
+ (HibernateãŒã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®å€‹ã€…ã®è¡Œã‚’ã©ã†ã‚„ã£ã¦ã€Œè¦‹ã¤ã‘ã‚‹ã‹ã€ã‚’表ã—ã¦ã„ã¾ã™ã€‚)
- XV‚É‚à‚Á‚Æ‚àŒø—¦“I‚ȃRƒŒƒNƒVƒ‡ƒ“ listAmapAidbagAset
+ æ›´æ–°ã«ã‚‚ã£ã¨ã‚‚効率的ãªã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ listã€mapã€idbagã€set
- ã‚Å‚Ì‹c˜_‚©‚çAƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“‚Æi•’Ê‚Ìjset‚Í—v‘f‚̒ljÁAíœA
- XV‚Å‚à‚Á‚Æ‚àŒø—¦“I‚È‘€ì‚ªo—ˆ‚邱‚Æ‚Í–¾‚ç‚©‚Å‚·B
+ 上ã§ã®è°è«–ã‹ã‚‰ã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä»˜ãコレクションã¨ï¼ˆæ™®é€šã®ï¼‰setã¯è¦ç´ ã®è¿½åŠ ã€å‰Šé™¤ã€
+ æ›´æ–°ã§ã‚‚ã£ã¨ã‚‚効率的ãªæ“作ãŒå‡ºæ¥ã‚‹ã“ã¨ã¯æ˜Žã‚‰ã‹ã§ã™ã€‚
- ‚قڊԈႢ‚È‚A‘½‘Α½ŠÖ˜A‚â’l‚̃RƒŒƒNƒVƒ‡ƒ“‚É‚¨‚¢‚ÄAƒCƒ“ƒfƒbƒNƒX•t‚«ƒRƒŒƒNƒVƒ‡ƒ“‚ª
- set‚æ‚è‚à—D‚ê‚Ä‚¢‚é“_‚ªˆê‚ˆÈã‚ ‚è‚Ü‚·B Set ‚Í‚»‚Ì
- \‘¢‚Ì‚½‚ß‚ÉAHibernate‚Í—v‘f‚ªu•ÏXv‚³‚ꂽ‚Æ‚«‚És‚ðŒˆ‚µ‚Ä UPDATE
- ‚µ‚Ü‚¹‚ñB Set ‚Ö‚Ì•ÏX‚Íí‚ÉiŒÂX‚Ìs‚ÌjINSERT
- ‚Æ DELETE ‚É‚æ‚Á‚Äs‚¢‚Ü‚·BŒJ‚è•Ô‚µ‚Ü‚·‚ªA‚±‚ê‚͈ê‘Α½ŠÖ˜A‚É‚Í
- “–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñB
+ ã»ã¼é–“é•ã„ãªãã€å¤šå¯¾å¤šé–¢é€£ã‚„値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ãŠã„ã¦ã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä»˜ãコレクションãŒ
+ setよりも優れã¦ã„る点ãŒä¸€ã¤ä»¥ä¸Šã‚ã‚Šã¾ã™ã€‚ Set ã¯ãã®
+ æ§‹é€ ã®ãŸã‚ã«ã€Hibernateã¯è¦ç´ ãŒã€Œå¤‰æ›´ã€ã•ã‚ŒãŸã¨ãã«è¡Œã‚’決ã—㦠UPDATE
+ ã—ã¾ã›ã‚“。 Set ã¸ã®å¤‰æ›´ã¯å¸¸ã«ï¼ˆå€‹ã€…ã®è¡Œã®ï¼‰INSERT
+ 㨠DELETE ã«ã‚ˆã£ã¦è¡Œã„ã¾ã™ã€‚ç¹°ã‚Šè¿”ã—ã¾ã™ãŒã€ã“ã‚Œã¯ä¸€å¯¾å¤šé–¢é€£ã«ã¯
+ 当ã¦ã¯ã¾ã‚Šã¾ã›ã‚“。
- ”z—ñ‚Í’x‰„ˆ—‚ª‚Å‚«‚È‚¢‚Æ‚¢‚¤Œˆ‚Ü‚è‚È‚Ì‚ÅAŒ‹˜_‚Æ‚µ‚ÄAlistAmapAidbag‚ª‚à‚Á‚Æ‚à
- ƒpƒtƒH[ƒ}ƒ“ƒX‚Ì—Ç‚¢iinverse‚Å‚Í‚È‚¢jƒRƒŒƒNƒVƒ‡ƒ“ƒ^ƒCƒv‚Æ‚È‚è‚Ü‚·Bset‚à
- ‚»‚ê‚قLjႢ‚Í‚ ‚è‚Ü‚¹‚ñBHibernate‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍAset‚̓RƒŒƒNƒVƒ‡ƒ“‚Ì‚à‚Á‚Æ‚à
- ‹¤’Ê‚ÌŽí—Þ‚Æ‚µ‚ÄŠú‘Ò‚³‚ê‚Ü‚·Bset‚Ì•\Œ»‚ÍŠÖ˜Aƒ‚ƒfƒ‹‚Å‚Í‚à‚Á‚Æ‚àŽ©‘R‚¾‚©‚ç‚Å‚·B
+ é…列ã¯é…延処ç†ãŒã§ããªã„ã¨ã„ã†æ±ºã¾ã‚Šãªã®ã§ã€çµè«–ã¨ã—ã¦ã€listã€mapã€idbagãŒã‚‚ã£ã¨ã‚‚
+ パフォーマンスã®è‰¯ã„(inverseã§ã¯ãªã„)コレクションタイプã¨ãªã‚Šã¾ã™ã€‚setã‚‚
+ ãã‚Œã»ã©é•ã„ã¯ã‚ã‚Šã¾ã›ã‚“。Hibernateã®ã‚¢ãƒ—リケーションã§ã¯ã€setã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚‚ã£ã¨ã‚‚
+ 共通ã®ç¨®é¡žã¨ã—ã¦æœŸå¾…ã•ã‚Œã¾ã™ã€‚setã®è¡¨ç¾ã¯é–¢é€£ãƒ¢ãƒ‡ãƒ«ã§ã¯ã‚‚ã£ã¨ã‚‚自然ã ã‹ã‚‰ã§ã™ã€‚
- ‚µ‚©‚µA‚悃fƒUƒCƒ“‚³‚ꂽHibernate‚̃hƒƒCƒ“ƒ‚ƒfƒ‹‚Å‚ÍA’Êí‚à‚Á‚Æ‚à‘½‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚Í
- Ž–ŽÀã inverse="true" ‚ðŽw’肵‚½1‘Α½ŠÖ˜A‚Å‚·B‚±‚ê‚ç‚ÌŠÖ˜A‚Å‚ÍA
- XV‚Í‘½‘Έê‚ÌŠÖ˜A’[‚ňµ‚í‚êAƒRƒŒƒNƒVƒ‡ƒ“‚ÌXVƒpƒtƒH[ƒ}ƒ“ƒX‚Ì–â‘è‚Í“–‚Ä‚Í‚Ü‚è‚Ü‚¹‚ñB
+ ã—ã‹ã—ã€ã‚ˆãデザインã•ã‚ŒãŸHibernateã®ãƒ‰ãƒ¡ã‚¤ãƒ³ãƒ¢ãƒ‡ãƒ«ã§ã¯ã€é€šå¸¸ã‚‚ã£ã¨ã‚‚多ã„コレクションã¯
+ 事実上 inverse="true" を指定ã—ãŸ1対多関連ã§ã™ã€‚ã“れらã®é–¢é€£ã§ã¯ã€
+ æ›´æ–°ã¯å¤šå¯¾ä¸€ã®é–¢é€£ç«¯ã§æ‰±ã‚ã‚Œã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®æ›´æ–°ãƒ‘フォーマンスã®å•é¡Œã¯å½“ã¦ã¯ã¾ã‚Šã¾ã›ã‚“。
- inverseƒRƒŒƒNƒVƒ‡ƒ“‚É‚à‚Á‚Æ‚àÅ“K‚Èbag‚Ælist
+ inverseコレクションã«ã‚‚ã£ã¨ã‚‚最é©ãªbagã¨list
- bag‚ðŒ©•ú‚µ‚Ä‚µ‚Ü‚¤‘O‚ÉAbagi‚»‚µ‚Älist‚àj‚ªset‚æ‚è‚à‚¸‚Á‚ƃpƒtƒH[ƒ}ƒ“ƒX‚ª—Ç‚¢“Á•Ê‚ȃP[ƒX‚ð
- Љ‚Ü‚·B inverse="true" ‚̃RƒŒƒNƒVƒ‡ƒ“iˆê”Ê“I‚È1‘Α½ŠÖ˜A‚ÌŽg‚¢•û‚È‚Çj‚ÅA
- bag‚Ì—v‘f‚ð‰Šú‰»iƒtƒFƒbƒ`j‚·‚é•K—v‚È‚bag‚âlist‚É—v‘f‚ð’ljÁ‚Å‚«‚Ü‚·I
- ‚±‚ê‚Í Collection.add() ‚â Collection.addAll()
- ‚Íbag‚â List ‚Å‚Íí‚Étrue‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃç‚È‚¢‚©‚ç‚Å‚·
- i Set ‚Ƃ͈قȂè‚Ü‚·jB
- ‚±‚ê‚͈ȉº‚Ì‹¤’ʈ—‚ð‚æ‚葬‚‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ bagを見放ã—ã¦ã—ã¾ã†å‰ã«ã€bag(ãã—ã¦listも)ãŒsetよりもãšã£ã¨ãƒ‘フォーマンスãŒè‰¯ã„特別ãªã‚±ãƒ¼ã‚¹ã‚’
+ 紹介ã—ã¾ã™ã€‚ inverse="true" ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆä¸€èˆ¬çš„ãª1対多関連ã®ä½¿ã„æ–¹ãªã©ï¼‰ã§ã€
+ bagã®è¦ç´ ã‚’åˆæœŸåŒ–(フェッãƒï¼‰ã™ã‚‹å¿…è¦ãªãbagã‚„listã«è¦ç´ ã‚’è¿½åŠ ã§ãã¾ã™ï¼
+ ã“れ㯠Collection.add() ã‚„ Collection.addAll()
+ ã¯bagã‚„ List ã§ã¯å¸¸ã«trueã‚’è¿”ã•ãªã‘ã‚Œã°ãªã‚‰ãªã„ã‹ã‚‰ã§ã™
+ ( Set ã¨ã¯ç•°ãªã‚Šã¾ã™ï¼‰ã€‚
+ ã“ã‚Œã¯ä»¥ä¸‹ã®å…±é€šå‡¦ç†ã‚’より速ãã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ˆêŠ‡íœ
+ 一括削除
- ŽžXAƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ðˆê‚ˆê‚Â휂·‚邱‚Æ‚Í‹É‚ß‚Ä”ñŒø—¦“I‚ɂȂ邱‚Æ‚ª‚ ‚è‚Ü‚·B
- Hibernate‚Í‹ð‚©‚Å‚Í‚È‚¢‚Ì‚ÅAV‚µ‚¢‹ó‚̃RƒŒƒNƒVƒ‡ƒ“‚Ìê‡i list.clear()
- ‚ðŒÄ‚Ño‚µ‚½ê‡‚È‚Çj‚Å‚Í‚±‚ê‚ð‚·‚×‚«‚Å‚È‚¢‚±‚Æ‚ð’m‚Á‚Ä‚¢‚Ü‚·B‚±‚ÌꇂÍAHibernate‚Í
- DELETE ‚ðˆê‰ñ”s‚µ‚ÄA‚»‚ê‚Å‚·‚ׂÄI‚í‚è‚Ü‚·I
+ 時々ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ を一ã¤ä¸€ã¤å‰Šé™¤ã™ã‚‹ã“ã¨ã¯æ¥µã‚ã¦éžåŠ¹çŽ‡çš„ã«ãªã‚‹ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
+ Hibernateã¯æ„šã‹ã§ã¯ãªã„ã®ã§ã€æ–°ã—ã„空ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®å ´åˆï¼ˆ list.clear()
+ を呼ã³å‡ºã—ãŸå ´åˆãªã©ï¼‰ã§ã¯ã“れをã™ã¹ãã§ãªã„ã“ã¨ã‚’知ã£ã¦ã„ã¾ã™ã€‚ã“ã®å ´åˆã¯ã€Hibernateã¯
+ DELETE を一回発行ã—ã¦ã€ãã‚Œã§ã™ã¹ã¦çµ‚ã‚ã‚Šã¾ã™ï¼
- ƒTƒCƒY20‚̃RƒŒƒNƒVƒ‡ƒ“‚Ɉê‚‚̗v‘f‚ð’ljÁ‚µA‚»‚ê‚©‚ç“ñ‚‚̗v‘f‚ð휂·‚é‚Æ‚µ‚Ü‚·B
- Hibernate‚͈ê‚Â‚Ì INSERT •¶‚Æ“ñ‚Â‚Ì DELETE •¶‚ð”s‚µ‚Ü‚·
- iƒRƒŒƒNƒVƒ‡ƒ“‚ªbag‚Å‚È‚¯‚ê‚ÎjB‚±‚ê‚ÍŠm‚©‚É–]‚Ü‚µ‚¢“®ì‚Å‚·B
+ サイズ20ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ä¸€ã¤ã®è¦ç´ ã‚’è¿½åŠ ã—ã€ãã‚Œã‹ã‚‰äºŒã¤ã®è¦ç´ を削除ã™ã‚‹ã¨ã—ã¾ã™ã€‚
+ Hibernateã¯ä¸€ã¤ã® INSERT æ–‡ã¨äºŒã¤ã® DELETE 文を発行ã—ã¾ã™
+ (コレクションãŒbagã§ãªã‘ã‚Œã°ï¼‰ã€‚ã“ã‚Œã¯ç¢ºã‹ã«æœ›ã¾ã—ã„動作ã§ã™ã€‚
- ‚µ‚©‚µA18ŒÂ‚Ì—v‘f‚ð휂µ‚Ä2‚‚ðŽc‚µA‚»‚ê‚©‚ç3‚ÂV‚µ‚¢—v‘f‚ð’ljÁ‚·‚é‚Æ‚µ‚Ü‚·B
- ‚±‚Ì‚Æ‚«“ñ‚‚̕û–@‚ª‚ ‚è‚Ü‚·B
+ ã—ã‹ã—ã€18個ã®è¦ç´ を削除ã—ã¦2ã¤ã‚’残ã—ã€ãã‚Œã‹ã‚‰3ã¤æ–°ã—ã„è¦ç´ ã‚’è¿½åŠ ã™ã‚‹ã¨ã—ã¾ã™ã€‚
+ ã“ã®ã¨ã二ã¤ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚
- 18s‚ðˆê‚ˆê‚Â휂µ‚ÄA3s‚ð’ljÁ‚·‚é
+ 18行を一ã¤ä¸€ã¤å‰Šé™¤ã—ã¦ã€3è¡Œã‚’è¿½åŠ ã™ã‚‹
- ƒRƒŒƒNƒVƒ‡ƒ“‘S‘Ì‚ðíœi DELETE ‚ÌSQL‚ðˆê‰ñj‚µA‚»‚µ‚Ä5‚‚̗v‘f‚·‚ׂĂð
- iˆê‚‚¸‚Âj’ljÁ‚·‚é
+ コレクション全体を削除( DELETE ã®SQLを一回)ã—ã€ãã—ã¦5ã¤ã®è¦ç´ ã™ã¹ã¦ã‚’
+ (一ã¤ãšã¤ï¼‰è¿½åŠ ã™ã‚‹
- Hibernate‚Í‚±‚ÌꇂÉ2”Ô–Ú‚Ì•û–@‚ª‚æ‚葬‚¢‚¾‚낤‚Æ‚í‚©‚é‚Ù‚ÇŒ«‚‚Í‚ ‚è‚Ü‚¹‚ñB
- i‚»‚µ‚ÄHibernate‚ª‚±‚̂悤‚ÉŒ«‚¢‚±‚Æ‚à–]‚Ü‚µ‚‚È‚¢‚Å‚µ‚傤B‚±‚̂悤‚ÈU‚é•‘‚¢‚Í
- ƒf[ƒ^ƒx[ƒX‚̃gƒŠƒK‚Ȃǂ𬗂³‚¹‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñBj
+ Hibernateã¯ã“ã®å ´åˆã«2番目ã®æ–¹æ³•ãŒã‚ˆã‚Šé€Ÿã„ã ã‚ã†ã¨ã‚ã‹ã‚‹ã»ã©è³¢ãã¯ã‚ã‚Šã¾ã›ã‚“。
+ (ãã—ã¦HibernateãŒã“ã®ã‚ˆã†ã«è³¢ã„ã“ã¨ã‚‚望ã¾ã—ããªã„ã§ã—ょã†ã€‚ã“ã®ã‚ˆã†ãªæŒ¯ã‚‹èˆžã„ã¯
+ データベースã®ãƒˆãƒªã‚¬ãªã©ã‚’æ··ä¹±ã•ã›ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。)
- K‚¢‚É‚àAŒ³‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŽÌ‚Äi‚‚܂èŽQÆ‚ð‚â‚ß‚ÄjAŒ»Ý‚Ì—v‘f‚ð‚·‚×‚ÄŽ‚ÂV‚µ‚¢ƒRƒŒƒNƒVƒ‡ƒ“‚Ì
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚·‚±‚Æ‚ÅA‚¢‚Â‚Å‚à‚±‚ÌU‚é•‘‚¢i2”Ô–Ú‚Ìí—ªj‚ð‹§‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
- Žž‚É‚±‚ê‚Í‚Æ‚Ä‚à•Ö—˜‚Å‹—Í‚Å‚·B
+ 幸ã„ã«ã‚‚ã€å…ƒã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’æ¨ã¦ï¼ˆã¤ã¾ã‚Šå‚照をやã‚ã¦ï¼‰ã€ç¾åœ¨ã®è¦ç´ ã‚’ã™ã¹ã¦æŒã¤æ–°ã—ã„コレクションã®
+ インスタンスを返ã™ã“ã¨ã§ã€ã„ã¤ã§ã‚‚ã“ã®æŒ¯ã‚‹èˆžã„(2番目ã®æˆ¦ç•¥ï¼‰ã‚’強制ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
+ 時ã«ã“ã‚Œã¯ã¨ã¦ã‚‚便利ã§å¼·åŠ›ã§ã™ã€‚
- ‚à‚¿‚ë‚ñAˆêŠ‡íœ‚Í inverse="true" ‚ðŽw’肵‚½ƒRƒŒƒNƒVƒ‡ƒ“‚É‚Ís‚¢‚Ü‚¹‚ñB
+ ã‚‚ã¡ã‚ã‚“ã€ä¸€æ‹¬å‰Šé™¤ã¯ inverse="true" を指定ã—ãŸã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ã¯è¡Œã„ã¾ã›ã‚“。
@@ -1229,28 +1231,28 @@ sess.flush();]]>
- ƒpƒtƒH[ƒ}ƒ“ƒX‚̃‚ƒjƒ^ƒŠƒ“ƒO
+ パフォーマンスã®ãƒ¢ãƒ‹ã‚¿ãƒªãƒ³ã‚°
- Å“K‰»‚̓‚ƒjƒ^ƒŠƒ“ƒO‚âƒpƒtƒH[ƒ}ƒ“ƒX‚ðŽ¦‚·”’l‚ª‚È‚¯‚ê‚Î\•ª‚És‚¦‚Ü‚¹‚ñB
- Hibernate‚Í“à•”ˆ—‚Ì‚·‚ׂĂ͈̔͂̔’l‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- Hibernate‚Ì“Œvî•ñ‚Í SessionFactory ’PˆÊ‚Ŏ擾‰Â”\‚Å‚·B
+ 最é©åŒ–ã¯ãƒ¢ãƒ‹ã‚¿ãƒªãƒ³ã‚°ã‚„パフォーマンスを示ã™æ•°å€¤ãŒãªã‘ã‚Œã°å分ã«è¡Œãˆã¾ã›ã‚“。
+ Hibernateã¯å†…部処ç†ã®ã™ã¹ã¦ã®ç¯„囲ã®æ•°å€¤ã‚’æä¾›ã—ã¾ã™ã€‚
+ Hibernateã®çµ±è¨ˆæƒ…å ±ã¯ SessionFactory å˜ä½ã§å–å¾—å¯èƒ½ã§ã™ã€‚
- SessionFactory‚̃‚ƒjƒ^ƒŠƒ“ƒO
+ SessionFactoryã®ãƒ¢ãƒ‹ã‚¿ãƒªãƒ³ã‚°
- SessionFactory ‚̃ƒgƒŠƒNƒX‚ɃAƒNƒZƒX‚·‚é‚É‚Í2‚‚̕û–@‚ª‚ ‚è‚Ü‚·B
- ʼn‚Ì•û–@‚ÍA sessionFactory.getStatistics() ‚ðŒÄ‚Ño‚µA
- Ž©•ª‚Å Statistics ‚Ì“Ç‚Ýž‚Ý‚â•\Ž¦‚ðs‚¢‚Ü‚·B
+ SessionFactory ã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã«ã¯2ã¤ã®æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚
+ 最åˆã®æ–¹æ³•ã¯ã€ sessionFactory.getStatistics() を呼ã³å‡ºã—ã€
+ 自分㧠Statistics ã®èªã¿è¾¼ã¿ã‚„表示を行ã„ã¾ã™ã€‚
- StatisticsService MBean‚ð—LŒø‚É‚µ‚Ä‚¢‚ê‚ÎAHibernate‚ÍJMX‚ðŽg‚Á‚Ä
- ƒƒgƒŠƒNƒX‚ð”s‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B1‚‚ÌMBean‚ð‚·‚×‚Ä‚Ì SessionFactory
- ‚ɑ΂µ‚Ä—LŒø‚É‚·‚é‚©ASessionFactory‚²‚ƂɈê‚‚ÌMBean‚ð—LŒø‚É‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
- ŬŒÀ‚ÌÝ’è—á‚Å‚ ‚éˆÈ‰º‚̃R[ƒh‚ðŒ©‚Ä‚‚¾‚³‚¢B
+ StatisticsService MBeanを有効ã«ã—ã¦ã„ã‚Œã°ã€Hibernateã¯JMXを使ã£ã¦
+ メトリクスを発行ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚1ã¤ã®MBeanã‚’ã™ã¹ã¦ã® SessionFactory
+ ã«å¯¾ã—ã¦æœ‰åŠ¹ã«ã™ã‚‹ã‹ã€SessionFactoryã”ã¨ã«ä¸€ã¤ã®MBeanを有効ã«ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
+ 最å°é™ã®è¨å®šä¾‹ã§ã‚る以下ã®ã‚³ãƒ¼ãƒ‰ã‚’見ã¦ãã ã•ã„。
- TODO: ‚±‚ê‚͈Ӗ¡‚ª‚ ‚è‚Ü‚¹‚ñBʼn‚̃P[ƒX‚ÍAMBean‚ð’¼Ú•œŒ³‚µ‚ÄŽg—p‚µ‚Ü‚·B2”Ԗڂ̃P[ƒX‚ÍA
- Žg‚¤‘O‚Ésession factory‚ªŽ‚Á‚Ä‚¢‚éJNDI–¼‚ð“n‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- hibernateStatsBean.setSessionFactoryJNDIName("my/JNDI/Name") ‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
+ TODO: ã“ã‚Œã¯æ„味ãŒã‚ã‚Šã¾ã›ã‚“。最åˆã®ã‚±ãƒ¼ã‚¹ã¯ã€MBeanを直接復元ã—ã¦ä½¿ç”¨ã—ã¾ã™ã€‚2番目ã®ã‚±ãƒ¼ã‚¹ã¯ã€
+ 使ã†å‰ã«session factoryãŒæŒã£ã¦ã„ã‚‹JNDIåを渡ã•ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ hibernateStatsBean.setSessionFactoryJNDIName("my/JNDI/Name") を使ã£ã¦ãã ã•ã„。
- SessionFactory ‚ɑ΂µ‚ă‚ƒjƒ^ƒŠƒ“ƒO‚ÌŠJŽniI—¹j‚ðs‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B
+ SessionFactory ã«å¯¾ã—ã¦ãƒ¢ãƒ‹ã‚¿ãƒªãƒ³ã‚°ã®é–‹å§‹ï¼ˆçµ‚了)を行ã†ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
- ݒ莞‚É‚ÍA hibernate.generate_statistics ‚ð false ‚É‚µ‚Ü‚·
+ è¨å®šæ™‚ã«ã¯ã€ hibernate.generate_statistics ã‚’ false ã«ã—ã¾ã™
- ŽÀsŽž‚ÉA sf.getStatistics().setStatisticsEnabled(true) ‚Ü‚½‚Í
- hibernateStatsBean.setStatisticsEnabled(true) ‚ðŒÄ‚Ño‚µ‚Ü‚·
+ 実行時ã«ã€ sf.getStatistics().setStatisticsEnabled(true) ã¾ãŸã¯
+ hibernateStatsBean.setStatisticsEnabled(true) を呼ã³å‡ºã—ã¾ã™
- “Œv‚Í clear() ƒƒ\ƒbƒh‚ðŽg‚Á‚ÄŽè“®‚ŃŠƒZƒbƒg‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
- ƒTƒ}ƒŠ‚Í logSummary() ƒƒ\ƒbƒh‚ðŽg‚Á‚Älogger‚É‘—‚邱‚Æ‚ªo—ˆ‚Ü‚·
- iinfoƒŒƒxƒ‹‚Å‚·jB
+ 統計㯠clear() メソッドを使ã£ã¦æ‰‹å‹•ã§ãƒªã‚»ãƒƒãƒˆã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
+ サマリ㯠logSummary() メソッドを使ã£ã¦loggerã«é€ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™
+ (infoレベルã§ã™ï¼‰ã€‚
- ƒƒgƒŠƒNƒX
+ メトリクス
- ‘½‚‚Ì‚à‚Ì‚ª‚ ‚è‚Ü‚·B‚·‚ׂĂ̎g—p‰Â”\‚ȃJƒEƒ“ƒ^‚Í Statistics
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÌAPI‚É‘‚©‚ê‚Ä‚¨‚èA3‚‚̕ª—Þ‚ª‚ ‚è‚Ü‚·B
+ 多ãã®ã‚‚ã®ãŒã‚ã‚Šã¾ã™ã€‚ã™ã¹ã¦ã®ä½¿ç”¨å¯èƒ½ãªã‚«ã‚¦ãƒ³ã‚¿ã¯ Statistics
+ インターフェイスã®APIã«æ›¸ã‹ã‚Œã¦ãŠã‚Šã€3ã¤ã®åˆ†é¡žãŒã‚ã‚Šã¾ã™ã€‚
- ƒƒgƒŠƒNƒX‚͈ê”Ê“I‚È Session ‚ÌŽg‚¢•û‚ÆŠÖŒW‚µ‚Ä‚¢‚Ü‚·B
- ƒI[ƒvƒ“‚µ‚½ƒZƒbƒVƒ‡ƒ“‚Ì”‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ÆŠÖ˜A‚µ‚Ä‚¢‚é‚Ì‚Æ“¯‚¶‚Å‚·B
+ メトリクスã¯ä¸€èˆ¬çš„㪠Session ã®ä½¿ã„æ–¹ã¨é–¢ä¿‚ã—ã¦ã„ã¾ã™ã€‚
+ オープンã—ãŸã‚»ãƒƒã‚·ãƒ§ãƒ³ã®æ•°ãŒJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã¨é–¢é€£ã—ã¦ã„ã‚‹ã®ã¨åŒã˜ã§ã™ã€‚
- ƒƒgƒŠƒNƒX‚Í—v‘fAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠ‚âƒLƒƒƒbƒVƒ…‚È‚Ç‘S‘Ì‚É
- ŠÖŒW‚µ‚Ä‚¢‚Ü‚·i•Ê–¼‚̓Oƒ[ƒoƒ‹ƒƒgƒŠƒNƒX‚Å‚·jB
+ メトリクスã¯è¦ç´ ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚¯ã‚¨ãƒªã‚„ã‚ャッシュãªã©å…¨ä½“ã«
+ 関係ã—ã¦ã„ã¾ã™ï¼ˆåˆ¥åã¯ã‚°ãƒãƒ¼ãƒãƒ«ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã§ã™ï¼‰ã€‚
- ƒƒgƒŠƒNƒX‚ÌÚׂ͓Á’è‚̃Gƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠAƒLƒƒƒbƒVƒ…—̈æ‚ÉŠÖŒW‚µ‚Ä‚¢‚Ü‚·B
+ メトリクスã®è©³ç´°ã¯ç‰¹å®šã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚¯ã‚¨ãƒªã€ã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã«é–¢ä¿‚ã—ã¦ã„ã¾ã™ã€‚
- —á‚Æ‚µ‚ÄAƒLƒƒƒbƒVƒ…‚̃qƒbƒgAƒqƒbƒgƒ~ƒX‚âA—v‘fAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠ‚ÌŠ„‡AƒNƒGƒŠ‚ÌŽÀs‚É
- •K—v‚È•½‹ÏŽžŠÔ‚ðŠm”F‚Å‚«‚Ü‚·Bƒ~ƒŠ•b‚Ì”’l‚ÍJava‚̋ߎ—‚ðŽó‚¯‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- Hibernate‚ÍJVM‚̸“x‚ɧŒÀ‚³‚êAƒvƒ‰ƒbƒgƒtƒH[ƒ€‚É‚æ‚Á‚Ä‚Í10•b’PˆÊ‚Å‚µ‚©³Šm‚Å‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ 例ã¨ã—ã¦ã€ã‚ャッシュã®ãƒ’ットã€ãƒ’ットミスやã€è¦ç´ ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚¯ã‚¨ãƒªã®å‰²åˆã€ã‚¯ã‚¨ãƒªã®å®Ÿè¡Œã«
+ å¿…è¦ãªå¹³å‡æ™‚間を確èªã§ãã¾ã™ã€‚ミリ秒ã®æ•°å€¤ã¯Javaã®è¿‘似をå—ã‘ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ Hibernateã¯JVMã®ç²¾åº¦ã«åˆ¶é™ã•ã‚Œã€ãƒ—ラットフォームã«ã‚ˆã£ã¦ã¯10秒å˜ä½ã§ã—ã‹æ£ç¢ºã§ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- ’Pƒ‚Ègetter‚̓Oƒ[ƒoƒ‹ƒƒgƒŠƒNƒXi‚·‚È‚í‚¿“Á’è‚̃Gƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒLƒƒƒbƒVƒ…—̈æ‚È‚Ç‚É”›‚ç‚ê‚È‚¢j
- ‚ɃAƒNƒZƒX‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B“Á’è‚̃Gƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒLƒƒƒbƒVƒ…—̈æ‚̃ƒgƒŠƒNƒX‚ÍA
- ‚»‚ê‚ç‚Ì–¼‘O‚âAƒNƒGƒŠ‚ÌHQLASQL•\Œ»‚É‚æ‚Á‚ăAƒNƒZƒX‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B‚³‚ç‚ÉÚ‚µ‚¢î•ñ‚ÍA
- Statistics A EntityStatistics A CollectionStatistics
- A SecondLevelCacheStatistics A QueryStatistics API‚Ìjavadoc‚ð
- ŽQÆ‚µ‚Ä‚‚¾‚³‚¢BˆÈ‰º‚̃R[ƒh‚ÍŠÈ’P‚È—á‚Å‚·B
+ å˜ç´”ãªgetterã¯ã‚°ãƒãƒ¼ãƒãƒ«ãƒ¡ãƒˆãƒªã‚¯ã‚¹ï¼ˆã™ãªã‚ã¡ç‰¹å®šã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸãªã©ã«ç¸›ã‚‰ã‚Œãªã„)
+ ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚特定ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã®ãƒ¡ãƒˆãƒªã‚¯ã‚¹ã¯ã€
+ ãれらã®åå‰ã‚„ã€ã‚¯ã‚¨ãƒªã®HQLã€SQL表ç¾ã«ã‚ˆã£ã¦ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚ã•ã‚‰ã«è©³ã—ã„æƒ…å ±ã¯ã€
+ Statistics 〠EntityStatistics 〠CollectionStatistics
+ 〠SecondLevelCacheStatistics 〠QueryStatistics APIã®javadocã‚’
+ å‚ç…§ã—ã¦ãã ã•ã„。以下ã®ã‚³ãƒ¼ãƒ‰ã¯ç°¡å˜ãªä¾‹ã§ã™ã€‚
- ‚·‚ׂẴGƒ“ƒeƒBƒeƒBAƒRƒŒƒNƒVƒ‡ƒ“AƒNƒGƒŠAƒLƒƒƒbƒVƒ…—̈æ‚ɑ΂µ‚Äs‚¤ê‡‚ÍA
- getQueries() A getEntityNames()A
- getCollectionRoleNames() A getSecondLevelCacheRegionNames() ƒƒ\ƒbƒh‚Å
- ‚»‚ꂼ‚ê‚Ì–¼‘O‚̃ŠƒXƒg‚ðŽæ“¾‚·‚邱‚Æ‚ªo—ˆ‚Ü‚·B
+ ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€ã‚¯ã‚¨ãƒªã€ã‚ãƒ£ãƒƒã‚·ãƒ¥é ˜åŸŸã«å¯¾ã—ã¦è¡Œã†å ´åˆã¯ã€
+ getQueries() 〠getEntityNames()ã€
+ getCollectionRoleNames() 〠getSecondLevelCacheRegionNames() メソッドã§
+ ãã‚Œãžã‚Œã®åå‰ã®ãƒªã‚¹ãƒˆã‚’å–å¾—ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
-
\ No newline at end of file
+
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml b/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml
index e9f9ae56d6..d7ddd0c487 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/persistent_classes.xml
@@ -1,28 +1,30 @@
-
+
+
+
- ‰i‘±ƒNƒ‰ƒX
+ 永続クラス
- ‰i‘±ƒNƒ‰ƒX‚̓rƒWƒlƒXã‚Ì–â‘è‚̃Gƒ“ƒeƒBƒeƒBi—Ⴆ‚ÎAEƒRƒ}[ƒXƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̌ڋq‚â’•¶j
- ‚ðŽÀ‘•‚·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Nƒ‰ƒX‚Å‚·B
- ‰i‘±ƒNƒ‰ƒX‚Ì‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ª‰i‘±ó‘Ô‚Å‚ ‚é‚ÆŒ©‚È‚³‚ê‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ƒCƒ“ƒXƒ^ƒ“ƒX‚Í‹t‚Ɉꎞ“Iitransientj‚Å‚ ‚Á‚½‚èA•ª—£ó‘Ôidetachedj‚Å‚ ‚Á‚½‚è‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ 永続クラスã¯ãƒ“ジãƒã‚¹ä¸Šã®å•é¡Œã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ï¼ˆä¾‹ãˆã°ã€Eコマースアプリケーションã®é¡§å®¢ã‚„注文)
+ を実装ã™ã‚‹ã‚¢ãƒ—リケーションã®ã‚¯ãƒ©ã‚¹ã§ã™ã€‚
+ 永続クラスã®ã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒæ°¸ç¶šçŠ¶æ…‹ã§ã‚ã‚‹ã¨è¦‹ãªã•ã‚Œã‚‹ã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ インスタンスã¯é€†ã«ä¸€æ™‚的(transient)ã§ã‚ã£ãŸã‚Šã€åˆ†é›¢çŠ¶æ…‹ï¼ˆdetached)ã§ã‚ã£ãŸã‚Šã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- Plain Old Java Object (POJO)ƒvƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚Æ‚µ‚Ä‚à’m‚ç‚ê‚é
- ‚¢‚‚‚©‚Ì’Pƒ‚ȃ‹[ƒ‹‚É]‚¤‚È‚çAHibernate‚ÍÅ‚à‚æ‚“‚«‚Ü‚·B
- ‚µ‚©‚µ‚±‚ê‚ç‚̃‹[ƒ‹‚͓‚¢‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ŽÀÛHibernate3‚͉i‘±ƒIƒuƒWƒFƒNƒg‚Ì«Ž¿‚É‚Ù‚Æ‚ñ‚lj½‚Ì‘O’ñ‚à’u‚¢‚Ä‚¢‚Ü‚¹‚ñB
- ƒhƒƒCƒ“ƒ‚ƒfƒ‹‚Í‘¼‚Ì•û–@‚Å•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- —Ⴆ‚Î Map ƒCƒ“ƒXƒ^ƒ“ƒX‚̃cƒŠ[‚ðŽg‚¤•û–@‚ª‚ ‚è‚Ü‚·B
+ Plain Old Java Object (POJO)プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãƒ¢ãƒ‡ãƒ«ã¨ã—ã¦ã‚‚知られる
+ ã„ãã¤ã‹ã®å˜ç´”ãªãƒ«ãƒ¼ãƒ«ã«å¾“ã†ãªã‚‰ã€Hibernateã¯æœ€ã‚‚よãåƒãã¾ã™ã€‚
+ ã—ã‹ã—ã“れらã®ãƒ«ãƒ¼ãƒ«ã¯é›£ã—ã„ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 実際Hibernate3ã¯æ°¸ç¶šã‚ªãƒ–ジェクトã®æ€§è³ªã«ã»ã¨ã‚“ã©ä½•ã®å‰æã‚‚ç½®ã„ã¦ã„ã¾ã›ã‚“。
+ ドメインモデルã¯ä»–ã®æ–¹æ³•ã§è¡¨ç¾ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ 例ãˆã° Map インスタンスã®ãƒ„リーを使ã†æ–¹æ³•ãŒã‚ã‚Šã¾ã™ã€‚
- ’Pƒ‚ÈPOJO‚Ì—á
+ å˜ç´”ãªPOJOã®ä¾‹
- ‚Ù‚Æ‚ñ‚Ç‚ÌJavaƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɂ̓lƒR‰È‚Ì“®•¨‚ð•\Œ»‚·‚é‰i‘±ƒNƒ‰ƒX‚ª•K—v‚Å‚·B
+ ã»ã¨ã‚“ã©ã®Javaアプリケーションã«ã¯ãƒã‚³ç§‘ã®å‹•ç‰©ã‚’表ç¾ã™ã‚‹æ°¸ç¶šã‚¯ãƒ©ã‚¹ãŒå¿…è¦ã§ã™ã€‚
- ]‚¤‚ׂ«4‚‚̃‹[ƒ‹‚ª‚ ‚è‚Ü‚·F
+ 従ã†ã¹ã4ã¤ã®ãƒ«ãƒ¼ãƒ«ãŒã‚ã‚Šã¾ã™ï¼š
- ˆø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ðŽÀ‘•‚·‚é
+ 引数ã®ãªã„コンストラクタを実装ã™ã‚‹
- Cat ‚ɂ͈ø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ª‚ ‚è‚Ü‚·B
- Hibernate‚ª Constructor.newInstance() ‚ðŽg‚Á‚ĉi‘±ƒNƒ‰ƒX‚Ì
- ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚ðs‚¦‚é‚悤‚ÉA‚·‚ׂẲi‘±ƒNƒ‰ƒX‚ɂ̓fƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^
- ipublic‚Å‚È‚‚Ä‚à\‚¢‚Ü‚¹‚ñj‚ª‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- Hibernate‚ÌŽÀsŽžƒvƒƒLƒV¶¬‚Ì‚½‚ß‚ÉA‚È‚‚Æ‚à package
- ‚̉Ž‹«‚ðŽ‚ƒfƒtƒHƒ‹ƒgƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ð‹‚‚¨Š©‚ß‚µ‚Ü‚·B
+ Cat ã«ã¯å¼•æ•°ã®ãªã„コンストラクタãŒã‚ã‚Šã¾ã™ã€‚
+ Hibernate㌠Constructor.newInstance() を使ã£ã¦æ°¸ç¶šã‚¯ãƒ©ã‚¹ã®
+ インスタンス化を行ãˆã‚‹ã‚ˆã†ã«ã€ã™ã¹ã¦ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã«ã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿
+ (publicã§ãªãã¦ã‚‚構ã„ã¾ã›ã‚“)ãŒãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ Hibernateã®å®Ÿè¡Œæ™‚プãƒã‚シ生æˆã®ãŸã‚ã«ã€å°‘ãªãã¨ã‚‚ package
+ ã®å¯è¦–性をæŒã¤ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’å¼·ããŠå‹§ã‚ã—ã¾ã™ã€‚
- Ž¯•ÊŽqƒvƒƒpƒeƒB‚ð—pˆÓ‚·‚éiƒIƒvƒVƒ‡ƒ“j
+ è˜åˆ¥åプãƒãƒ‘ティを用æ„ã™ã‚‹ï¼ˆã‚ªãƒ—ション)
- Cat ‚É‚Í id ‚Æ‚¢‚¤ƒvƒƒpƒeƒB‚ª‚ ‚è‚Ü‚·B
- ‚±‚̃vƒƒpƒeƒB‚̓f[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ÌŽåƒL[ƒJƒ‰ƒ€‚Öƒ}ƒbƒsƒ“ƒO‚³‚ê‚Ü‚·B
- ‚±‚̃vƒƒpƒeƒB‚Ì–¼‘O‚͉½‚Å‚à\‚¢‚Ü‚¹‚ñ‚µAŒ^‚͂ǂ̂悤‚ȃvƒŠƒ~ƒeƒBƒuŒ^‚Å‚àA
- ƒvƒŠƒ~ƒeƒBƒu‚Ìuƒ‰ƒbƒp[vŒ^‚Å‚àAjava.lang.String ‚â
- java.util.Date ‚Å‚à\‚¢‚Ü‚¹‚ñB
- i‚à‚µƒŒƒKƒV[ƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚ª•¡‡ƒL[‚ðŽ‚‚Ȃç‚ÎA
- ¡q‚ׂ½‚悤‚ÈŒ^‚̃vƒƒpƒeƒB‚ðŽ‚ƒ†[ƒU’è‹`‚̃Nƒ‰ƒX‚ðŽg‚¤‚±‚Æ‚³‚¦‰Â”\‚Å‚·B
- Œã‚Å•¡‡Ž¯•ÊŽq‚Ìß‚ðŒ©‚Ä‚‚¾‚³‚¢Bj
+ Cat ã«ã¯ id ã¨ã„ã†ãƒ—ãƒãƒ‘ティãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã®ãƒ—ãƒãƒ‘ティã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ†ãƒ¼ãƒ–ルã®ä¸»ã‚ーカラムã¸ãƒžãƒƒãƒ”ングã•ã‚Œã¾ã™ã€‚
+ ã“ã®ãƒ—ãƒãƒ‘ティã®åå‰ã¯ä½•ã§ã‚‚構ã„ã¾ã›ã‚“ã—ã€åž‹ã¯ã©ã®ã‚ˆã†ãªãƒ—リミティブ型ã§ã‚‚ã€
+ プリミティブã®ã€Œãƒ©ãƒƒãƒ‘ーã€åž‹ã§ã‚‚ã€java.lang.String ã‚„
+ java.util.Date ã§ã‚‚構ã„ã¾ã›ã‚“。
+ (もã—レガシーデータベーステーブルãŒè¤‡åˆã‚ーをæŒã¤ãªã‚‰ã°ã€
+ 今述ã¹ãŸã‚ˆã†ãªåž‹ã®ãƒ—ãƒãƒ‘ティをæŒã¤ãƒ¦ãƒ¼ã‚¶å®šç¾©ã®ã‚¯ãƒ©ã‚¹ã‚’使ã†ã“ã¨ã•ãˆå¯èƒ½ã§ã™ã€‚
+ 後ã§è¤‡åˆè˜åˆ¥åã®ç¯€ã‚’見ã¦ãã ã•ã„。)
- Ž¯•ÊŽqƒvƒƒpƒeƒB‚ÍŒµ–§‚ɂ̓IƒvƒVƒ‡ƒ“‚Å‚·B
- ‚±‚ê‚ðÈ—ª‚µ‚ÄAHibernate‚É“à•”“I‚ɃIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ð’ÇÕ‚³‚¹‚邱‚Ƃ͉”\‚Å‚·B
- ‚µ‚©‚µ‚¨‚·‚·‚ß‚Í‚µ‚Ü‚¹‚ñB
+ è˜åˆ¥åプãƒãƒ‘ティã¯åŽ³å¯†ã«ã¯ã‚ªãƒ—ションã§ã™ã€‚
+ ã“れをçœç•¥ã—ã¦ã€Hibernateã«å†…部的ã«ã‚ªãƒ–ジェクトã®è˜åˆ¥åを追跡ã•ã›ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã€‚
+ ã—ã‹ã—ãŠã™ã™ã‚ã¯ã—ã¾ã›ã‚“。
- ŽÀÛ‚ÉAŽ¯•ÊŽqƒvƒƒpƒeƒB‚ð錾‚·‚éƒNƒ‰ƒX‚¾‚¯‚ª—˜—p‰Â”\‚È‹@”\‚ª‚¢‚‚‚©‚ ‚è‚Ü‚·F
+ 実際ã«ã€è˜åˆ¥åプãƒãƒ‘ティを宣言ã™ã‚‹ã‚¯ãƒ©ã‚¹ã ã‘ãŒåˆ©ç”¨å¯èƒ½ãªæ©Ÿèƒ½ãŒã„ãã¤ã‹ã‚ã‚Šã¾ã™ï¼š
- •ª—£ƒIƒuƒWƒFƒNƒg‚̘A½“I‚ÈĒljÁiƒJƒXƒP[ƒhXV‚âƒJƒXƒP[ƒhƒ}[ƒWjB
- ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 分離オブジェクトã®é€£éŽ–çš„ãªå†è¿½åŠ (カスケード更新やカスケードマージ)。
+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
@@ -165,47 +167,47 @@ public class Cat {
- ‰i‘±ƒNƒ‰ƒX‚É‚ÍAˆêŠÑ‚µ‚½–¼‘O‚ÌŽ¯•ÊŽqƒvƒƒpƒeƒB‚ð’è‹`‚·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B
- ‚³‚ç‚Énull’l‚ðŽæ‚ê‚é(‚‚܂èƒvƒŠƒ~ƒeƒBƒu‚Å‚Í‚È‚¢)Œ^‚ðŽg‚Á‚½•û‚ª‚æ‚¢‚Å‚µ‚傤B
+ 永続クラスã«ã¯ã€ä¸€è²«ã—ãŸåå‰ã®è˜åˆ¥åプãƒãƒ‘ティを定義ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚
+ ã•ã‚‰ã«null値をå–れる(ã¤ã¾ã‚Šãƒ—リミティブã§ã¯ãªã„)型を使ã£ãŸæ–¹ãŒã‚ˆã„ã§ã—ょã†ã€‚
- finalƒNƒ‰ƒX‚É‚µ‚È‚¢iƒIƒvƒVƒ‡ƒ“j
+ finalクラスã«ã—ãªã„(オプション)
- Hibernate‚Ì’†S“I‚È“Á’¥‚Å‚ ‚é ƒvƒƒLƒV ‚ÍA
- ‰i‘±ƒNƒ‰ƒX‚ªfinal‚Å‚È‚¢‚±‚ÆA‚Ü‚½‚̓ƒ\ƒbƒh‚ð‘S•”public‚Å錾‚µ‚Ä‚¢‚é
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ªŽÀ‘•‚³‚ê‚Ä‚¢‚é‚©‚Ɉˑ¶‚µ‚Ä‚¢‚Ü‚·B
+ Hibernateã®ä¸å¿ƒçš„ãªç‰¹å¾´ã§ã‚ã‚‹ プãƒã‚ã‚· ã¯ã€
+ 永続クラスãŒfinalã§ãªã„ã“ã¨ã€ã¾ãŸã¯ãƒ¡ã‚½ãƒƒãƒ‰ã‚’全部publicã§å®£è¨€ã—ã¦ã„ã‚‹
+ インターフェイスãŒå®Ÿè£…ã•ã‚Œã¦ã„ã‚‹ã‹ã«ä¾å˜ã—ã¦ã„ã¾ã™ã€‚
- Hibernate‚ŃCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚Ä‚¢‚È‚¢ final ƒNƒ‰ƒX‚ð‰i‘±‰»‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚·‚ªA
- ’x‰„ŠÖ˜AƒtƒFƒbƒ`‚ɑ΂µ‚ăvƒƒLƒV‚ðŽg‚¤‚±‚Æ‚Í‚Å‚«‚È‚‚È‚è‚Ü‚·B
- ‚±‚ê‚̓pƒtƒH[ƒ}ƒ“ƒXƒ`ƒ…[ƒjƒ“ƒO‚Ö‚Ì‘I‘ðŽˆ‚ð‹·‚ß‚é‚±‚Æ‚É‚È‚è‚Ü‚·B
+ Hibernateã§ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’実装ã—ã¦ã„ãªã„ final クラスを永続化ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã™ãŒã€
+ é…延関連フェッãƒã«å¯¾ã—ã¦ãƒ—ãƒã‚シを使ã†ã“ã¨ã¯ã§ããªããªã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¯ãƒ‘フォーマンスãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã¸ã®é¸æŠžè‚¢ã‚’ç‹ã‚ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
- final‚Å‚Í‚È‚¢ƒNƒ‰ƒX‚Å public final ƒƒ\ƒbƒh‚ð’è‹`‚·‚邱‚Æ‚à”ð‚¯‚é‚ׂ«‚Å‚·B
- public final ƒƒ\ƒbƒh‚ðŽ‚ƒNƒ‰ƒX‚ðŽg‚¢‚½‚¯‚ê‚ÎA
- lazy="false" ‚Æݒ肵‚Ä–¾Ž¦“I‚ɃvƒƒLƒV‚𖳌ø‚É‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ finalã§ã¯ãªã„クラス㧠public final メソッドを定義ã™ã‚‹ã“ã¨ã‚‚é¿ã‘ã‚‹ã¹ãã§ã™ã€‚
+ public final メソッドをæŒã¤ã‚¯ãƒ©ã‚¹ã‚’使ã„ãŸã‘ã‚Œã°ã€
+ lazy="false" ã¨è¨å®šã—ã¦æ˜Žç¤ºçš„ã«ãƒ—ãƒã‚シを無効ã«ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ‰i‘±ƒtƒB[ƒ‹ƒh‚ɑ΂·‚éƒAƒNƒZƒT‚ƃ~ƒ…[ƒe[ƒ^‚ð’è‹`‚·‚éiƒIƒvƒVƒ‡ƒ“j
+ 永続フィールドã«å¯¾ã™ã‚‹ã‚¢ã‚¯ã‚»ã‚µã¨ãƒŸãƒ¥ãƒ¼ãƒ†ãƒ¼ã‚¿ã‚’定義ã™ã‚‹ï¼ˆã‚ªãƒ—ション)
- Cat ‚Å‚Í‚·‚ׂẲi‘±ƒtƒB[ƒ‹ƒh‚ɑ΂µ‚ăAƒNƒZƒTƒƒ\ƒbƒh‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B
- ‘¼‚Ì‘½‚‚ÌORMƒc[ƒ‹‚ÍA‰i‘±ƒCƒ“ƒXƒ^ƒ“ƒX•Ï”‚ð’¼Ú‰i‘±‰»‚µ‚Ü‚·B
- Ž„‚½‚¿‚̓ŠƒŒ[ƒVƒ‡ƒiƒ‹ƒXƒL[ƒ}‚ƃNƒ‰ƒX‚Ì“à•”\‘¢‚𕪗£‚·‚é•û‚ª—Ç‚¢‚ÆM‚¶‚Ä‚¢‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍAHibernate‚ÍJavaBeanƒXƒ^ƒCƒ‹‚̃vƒƒpƒeƒB‚ð‰i‘±‰»‚µA
+ Cat ã§ã¯ã™ã¹ã¦ã®æ°¸ç¶šãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«å¯¾ã—ã¦ã‚¢ã‚¯ã‚»ã‚µãƒ¡ã‚½ãƒƒãƒ‰ã‚’定義ã—ã¦ã„ã¾ã™ã€‚
+ ä»–ã®å¤šãã®ORMツールã¯ã€æ°¸ç¶šã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹å¤‰æ•°ã‚’直接永続化ã—ã¾ã™ã€‚
+ ç§ãŸã¡ã¯ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ã‚¹ã‚ーマã¨ã‚¯ãƒ©ã‚¹ã®å†…éƒ¨æ§‹é€ ã‚’åˆ†é›¢ã™ã‚‹æ–¹ãŒè‰¯ã„ã¨ä¿¡ã˜ã¦ã„ã¾ã™ã€‚
+ デフォルトã§ã¯ã€Hibernateã¯JavaBeanスタイルã®ãƒ—ãƒãƒ‘ティを永続化ã—ã€
getFoo, isFoo, setFoo
- Œ`Ž®‚̃ƒ\ƒbƒh–¼‚ð”FŽ¯‚µ‚Ü‚·B
- ‚µ‚©‚µ•K—v‚È‚çA“Á’è‚̃vƒƒpƒeƒB‚ɑ΂µ‚ÄA’¼Ú‚̃tƒB[ƒ‹ƒhƒAƒNƒZƒX‚ÉØ‚è‘Ö‚¦‚邱‚Ƃ͉”\‚Å‚·B
+ å½¢å¼ã®ãƒ¡ã‚½ãƒƒãƒ‰åã‚’èªè˜ã—ã¾ã™ã€‚
+ ã—ã‹ã—å¿…è¦ãªã‚‰ã€ç‰¹å®šã®ãƒ—ãƒãƒ‘ティã«å¯¾ã—ã¦ã€ç›´æŽ¥ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚¢ã‚¯ã‚»ã‚¹ã«åˆ‡ã‚Šæ›¿ãˆã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ã€‚
- ƒvƒƒpƒeƒB‚Ípublic‚Å錾‚·‚é•K—v‚Í ‚ ‚è‚Ü‚¹‚ñ B
- Hibernate‚̓fƒtƒHƒ‹ƒgAprotected ‚à‚µ‚‚Í private
- ‚Ìget / set‚̃yƒA‚ðŽ‚ƒvƒƒpƒeƒB‚ð‰i‘±‰»‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ プãƒãƒ‘ティã¯publicã§å®£è¨€ã™ã‚‹å¿…è¦ã¯ ã‚ã‚Šã¾ã›ã‚“ 。
+ Hibernateã¯ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã€protected ã‚‚ã—ã㯠private
+ ã®get / setã®ãƒšã‚¢ã‚’æŒã¤ãƒ—ãƒãƒ‘ティを永続化ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
@@ -213,11 +215,11 @@ public class Cat {
- Œp³‚ÌŽÀ‘•
+ 継承ã®å®Ÿè£…
- ƒTƒuƒNƒ‰ƒX‚à1”Ô–Ú‚Æ2”Ԗڂ̃‹[ƒ‹‚ðŽç‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ƒTƒuƒNƒ‰ƒX‚̓X[ƒp[ƒNƒ‰ƒX Cat ‚©‚环•ÊŽqƒvƒƒpƒeƒB‚ðŒp³‚µ‚Ü‚·B
+ サブクラスも1番目ã¨2番目ã®ãƒ«ãƒ¼ãƒ«ã‚’守らãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ サブクラスã¯ã‚¹ãƒ¼ãƒ‘ークラス Cat ã‹ã‚‰è˜åˆ¥åプãƒãƒ‘ティを継承ã—ã¾ã™ã€‚
- equals() ‚Æ hashCode() ‚ÌŽÀ‘•
+ equals() 㨠hashCode() ã®å®Ÿè£…
- ˆÈ‰º‚ÌðŒ‚Ìê‡A
- equals() ‚Æ hashCode() ƒƒ\ƒbƒh‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñA
+ 以下ã®æ¡ä»¶ã®å ´åˆã€
+ equals() 㨠hashCode() メソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“ã€
- ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð Set ‚É’u‚ê‡B
- i‚±‚ê‚Í‘½’l‚ÌŠÖ˜A‚ð•\Œ»‚·‚邨‚·‚·‚ß‚Ì•û–@‚Å‚·j
- ‚»‚µ‚Ä“¯Žž‚É
+ 永続クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ Set ã«ç½®ãå ´åˆã€‚
+ (ã“ã‚Œã¯å¤šå€¤ã®é–¢é€£ã‚’表ç¾ã™ã‚‹ãŠã™ã™ã‚ã®æ–¹æ³•ã§ã™ï¼‰
+ ãã—ã¦åŒæ™‚ã«
- •ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒZƒbƒVƒ‡ƒ“‚ÖĒljÁ‚·‚éê‡B
+ 分離インスタンスをセッションã¸å†è¿½åŠ ã™ã‚‹å ´åˆã€‚
- Hibernate‚ÍA‰i‘±IDiƒf[ƒ^ƒx[ƒX‚Ìsj‚ÆA“Á’è‚̃ZƒbƒVƒ‡ƒ“ƒXƒR[ƒv“à‚É
- ŒÀ’è‚Å‚·‚ªJavaID‚Æ‚ª“™‰¿‚Å‚ ‚邱‚Æ‚ð•ÛØ‚µ‚Ü‚·B
- ‚Å‚·‚©‚çˆÙ‚È‚éƒZƒbƒVƒ‡ƒ“‚ÅŒŸõ‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‘g‚݇‚킹‚éê‡A
- Set ‚ɈӖ¡‚Ì‚ ‚éƒZƒ}ƒ“ƒeƒBƒNƒX‚ðŽ‚½‚¹‚悤‚ÆŽv‚Á‚Ä‚¢‚é‚È‚ç
- ‚·‚®‚Éequals() ‚Æ hashCode()
- ‚ðŽÀ‘•‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ Hibernateã¯ã€æ°¸ç¶šID(データベースã®è¡Œï¼‰ã¨ã€ç‰¹å®šã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚¹ã‚³ãƒ¼ãƒ—内ã«
+ é™å®šã§ã™ãŒJavaIDã¨ãŒç‰ä¾¡ã§ã‚ã‚‹ã“ã¨ã‚’ä¿è¨¼ã—ã¾ã™ã€‚
+ ã§ã™ã‹ã‚‰ç•°ãªã‚‹ã‚»ãƒƒã‚·ãƒ§ãƒ³ã§æ¤œç´¢ã—ãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’組ã¿åˆã‚ã›ã‚‹å ´åˆã€
+ Set ã«æ„味ã®ã‚るセマンティクスをæŒãŸã›ã‚ˆã†ã¨æ€ã£ã¦ã„ã‚‹ãªã‚‰
+ ã™ãã«equals() 㨠hashCode()
+ を実装ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- Å‚à–¾”’‚È•û–@‚ÍA—¼•û‚̃IƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚Ì’l‚Ì”äŠr‚É‚æ‚Á‚Ä equals()‚Æ
- hashCode() ‚ðŽÀ‘•‚·‚é•û–@‚Å‚·B
- ’l‚ª“¯‚¶‚È‚çA—¼ŽÒ‚̓f[ƒ^ƒx[ƒX‚Ì“¯‚¶s‚Å‚È‚¯‚ê‚΂Ȃç‚È‚¢‚½‚ß“™‚µ‚‚È‚è‚Ü‚·B
- i—¼ŽÒ‚ª Set ‚ɒljÁ‚³‚ê‚Ä‚àA
- Set ‚É‚Í1ŒÂ‚Ì—v‘f‚µ‚©‚È‚¢‚±‚Æ‚É‚È‚è‚Ü‚·j
- Žc”O‚È‚±‚Æ‚ÉA¶¬‚³‚ꂽŽ¯•ÊŽq‚É‚Í‚±‚̃Aƒvƒ[ƒ`‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚¹‚ñB
- Hibernate‚͉i‘±‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ÖŽ¯•ÊŽq‚Ì’l‚ð‘ã“ü‚·‚邾‚¯‚Å‚ ‚èA
- V‚µ‚쬂³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚͂ǂ̂悤‚ÈŽ¯•ÊŽq‚Ì’l‚àŽ‚Á‚Ä‚¢‚Ü‚¹‚ñB
- ‚³‚ç‚ÉAƒCƒ“ƒXƒ^ƒ“ƒX‚ªƒZ[ƒu‚³‚ê‚Ä‚¨‚炸AŒ»Ý Set ‚Ì’†‚É‚ ‚ê‚ÎA
- ƒZ[ƒu‚·‚é‚ƃIƒuƒWƒFƒNƒg‚ÖŽ¯•ÊŽq‚Ì’l‚ð‘ã“ü‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
- ‚à‚µ equals() ‚Æ hashCode() ‚ªŽ¯•ÊŽq‚Ì’l‚ÉŠî‚¢‚Ä‚¢‚é‚È‚çA
- ƒnƒbƒVƒ…ƒR[ƒh‚ª•ÏX‚³‚ê‚é‚Æ Set ‚Ì‹K–ñ‚ª”j‚ç‚ê‚Ü‚·B
- ‚±‚Ì–â‘è‚ɂ‚¢‚Ä‚ÌŠ®‘S‚È‹c˜_‚ÍAHibernate‚̃EƒFƒuƒTƒCƒg‚ðŒ©‚Ä‚‚¾‚³‚¢B
- ‚±‚ê‚ÍHibernate‚Ì–â‘è‚Å‚Í‚È‚AƒIƒuƒWƒFƒNƒg‚Ì“¯ˆê«‚Æ“™‰¿«‚ɂ‚¢‚Ä‚ÌA
- ’Êí‚ÌJava‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 最も明白ãªæ–¹æ³•ã¯ã€ä¸¡æ–¹ã®ã‚ªãƒ–ジェクトã®è˜åˆ¥åã®å€¤ã®æ¯”較ã«ã‚ˆã£ã¦ equals()ã¨
+ hashCode() を実装ã™ã‚‹æ–¹æ³•ã§ã™ã€‚
+ 値ãŒåŒã˜ãªã‚‰ã€ä¸¡è€…ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®åŒã˜è¡Œã§ãªã‘ã‚Œã°ãªã‚‰ãªã„ãŸã‚ç‰ã—ããªã‚Šã¾ã™ã€‚
+ (両者㌠Set ã«è¿½åŠ ã•ã‚Œã¦ã‚‚ã€
+ Set ã«ã¯1個ã®è¦ç´ ã—ã‹ãªã„ã“ã¨ã«ãªã‚Šã¾ã™ï¼‰
+ 残念ãªã“ã¨ã«ã€ç”Ÿæˆã•ã‚ŒãŸè˜åˆ¥åã«ã¯ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã‚’使ã†ã“ã¨ãŒã§ãã¾ã›ã‚“。
+ Hibernateã¯æ°¸ç¶šåŒ–ã•ã‚ŒãŸã‚ªãƒ–ジェクトã¸è˜åˆ¥åã®å€¤ã‚’代入ã™ã‚‹ã ã‘ã§ã‚ã‚Šã€
+ æ–°ã—ã作æˆã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã©ã®ã‚ˆã†ãªè˜åˆ¥åã®å€¤ã‚‚æŒã£ã¦ã„ã¾ã›ã‚“。
+ ã•ã‚‰ã«ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã‚»ãƒ¼ãƒ–ã•ã‚Œã¦ãŠã‚‰ãšã€ç¾åœ¨ Set ã®ä¸ã«ã‚ã‚Œã°ã€
+ セーブã™ã‚‹ã¨ã‚ªãƒ–ジェクトã¸è˜åˆ¥åã®å€¤ã‚’代入ã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ ã‚‚ã— equals() 㨠hashCode() ãŒè˜åˆ¥åã®å€¤ã«åŸºã¥ã„ã¦ã„ã‚‹ãªã‚‰ã€
+ ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ãŒå¤‰æ›´ã•ã‚Œã‚‹ã¨ Set ã®è¦ç´„ãŒç ´ã‚‰ã‚Œã¾ã™ã€‚
+ ã“ã®å•é¡Œã«ã¤ã„ã¦ã®å®Œå…¨ãªè°è«–ã¯ã€Hibernateã®ã‚¦ã‚§ãƒ–サイトを見ã¦ãã ã•ã„。
+ ã“ã‚Œã¯Hibernateã®å•é¡Œã§ã¯ãªãã€ã‚ªãƒ–ジェクトã®åŒä¸€æ€§ã¨ç‰ä¾¡æ€§ã«ã¤ã„ã¦ã®ã€
+ 通常ã®Javaã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ƒrƒWƒlƒXƒL[‚Ì“™‰¿« ‚ðŽg‚Á‚ÄA
- equals() ‚Æ hashCode() ‚ðŽÀ‘•‚·‚邱‚Æ‚ð‚¨Š©‚ß‚µ‚Ü‚·B
- ƒrƒWƒlƒXƒL[‚Ì“™‰¿«‚Æ‚ÍAequals() ƒƒ\ƒbƒh‚ªAƒrƒWƒlƒXƒL[A
- ‚‚܂茻ŽÀ‚Ì¢ŠE‚É‚¨‚¢‚ăCƒ“ƒXƒ^ƒ“ƒX‚ð“Á’è‚·‚éƒL[iŽ©‘R Œó•âƒL[j
- ‚ðŒ`¬‚·‚éƒvƒƒpƒeƒB‚¾‚¯‚ð”äŠr‚·‚邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+ ビジãƒã‚¹ã‚ーã®ç‰ä¾¡æ€§ を使ã£ã¦ã€
+ equals() 㨠hashCode() を実装ã™ã‚‹ã“ã¨ã‚’ãŠå‹§ã‚ã—ã¾ã™ã€‚
+ ビジãƒã‚¹ã‚ーã®ç‰ä¾¡æ€§ã¨ã¯ã€equals() メソッドãŒã€ãƒ“ジãƒã‚¹ã‚ーã€
+ ã¤ã¾ã‚Šç¾å®Ÿã®ä¸–ç•Œã«ãŠã„ã¦ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’特定ã™ã‚‹ã‚ー(自然 候補ã‚ー)
+ ã‚’å½¢æˆã™ã‚‹ãƒ—ãƒãƒ‘ティã ã‘を比較ã™ã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
- ƒrƒWƒlƒXƒL[‚̓f[ƒ^ƒx[ƒX‚ÌŽåƒL[Œó•â‚قLjÀ’è‚Å‚ ‚é•K—v‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢
- i ‚ðŒ©‚Ä‚‚¾‚³‚¢jB
- XV•s‰Â‚ȃvƒƒpƒeƒB‚⃆ƒj[ƒN‚ȃvƒƒpƒeƒB‚ÍA’ÊíƒrƒWƒlƒXƒL[‚Ì‚æ‚¢Œó•â‚Å‚·B
+ ビジãƒã‚¹ã‚ーã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ä¸»ã‚ー候補ã»ã©å®‰å®šã§ã‚ã‚‹å¿…è¦ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„
+ ( を見ã¦ãã ã•ã„)。
+ æ›´æ–°ä¸å¯ãªãƒ—ãƒãƒ‘ティやユニークãªãƒ—ãƒãƒ‘ティã¯ã€é€šå¸¸ãƒ“ジãƒã‚¹ã‚ーã®ã‚ˆã„候補ã§ã™ã€‚
- “®“Iƒ‚ƒfƒ‹
+ 動的モデル
- ˆÈ‰º‚Ì‹@”\‚ÍŒ»ÝŽÀŒ±’iŠK‚É‚ ‚é‚ÆŒ©‚È‚³‚ê‚Ä‚¨‚èA
- ‹ß‚¢«—ˆ•ÏX‚³‚ê‚é‰Â”\«‚ª‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 以下ã®æ©Ÿèƒ½ã¯ç¾åœ¨å®Ÿé¨“段階ã«ã‚ã‚‹ã¨è¦‹ãªã•ã‚Œã¦ãŠã‚Šã€
+ è¿‘ã„å°†æ¥å¤‰æ›´ã•ã‚Œã‚‹å¯èƒ½æ€§ãŒã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ‰i‘±ƒGƒ“ƒeƒBƒeƒB‚ÍA•K‚¸‚µ‚àŽÀsŽž‚ÉPOJOƒNƒ‰ƒX‚âJavaBeanƒIƒuƒWƒFƒNƒg‚Å•\Œ»‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- Hibernate‚ÍiŽÀsŽž‚É Map ‚Ì Map ‚ðŽg‚¤j“®“Iƒ‚ƒfƒ‹‚ÆA
- DOM4JƒcƒŠ[‚Æ‚µ‚ẴGƒ“ƒeƒBƒeƒB‚Ì•\Œ»‚àƒTƒ|[ƒg‚µ‚Ü‚·B
- ‚±‚̃Aƒvƒ[ƒ`‚ðŽg‚¤‚Ɖi‘±ƒNƒ‰ƒX‚ð‘‚©‚¸Aƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚¾‚¯‚ð‘‚‚±‚Æ‚É‚È‚è‚Ü‚·B
+ 永続エンティティã¯ã€å¿…ãšã—も実行時ã«POJOクラスやJavaBeanオブジェクトã§è¡¨ç¾ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ Hibernateã¯ï¼ˆå®Ÿè¡Œæ™‚ã« Map ã® Map を使ã†ï¼‰å‹•çš„モデルã¨ã€
+ DOM4Jツリーã¨ã—ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®è¡¨ç¾ã‚‚サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
+ ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã‚’使ã†ã¨æ°¸ç¶šã‚¯ãƒ©ã‚¹ã‚’書ã‹ãšã€ãƒžãƒƒãƒ”ングファイルã ã‘を書ãã“ã¨ã«ãªã‚Šã¾ã™ã€‚
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍAHibernate‚Í’Êí‚ÌPOJOƒ‚[ƒh‚Å“®ì‚µ‚Ü‚·B
- default_entity_mode Ý’èƒIƒvƒVƒ‡ƒ“‚ðŽg‚Á‚ÄA
- “Á’è‚Ì SessionFactory ‚ɑ΂·‚éƒfƒtƒHƒ‹ƒg‚̃Gƒ“ƒeƒBƒeƒB•\Œ»ƒ‚[ƒh‚ðÝ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·
- i ‚ðŒ©‚Ä‚‚¾‚³‚¢jB
+ デフォルトã§ã¯ã€Hibernateã¯é€šå¸¸ã®POJOモードã§å‹•ä½œã—ã¾ã™ã€‚
+ default_entity_mode è¨å®šã‚ªãƒ—ションを使ã£ã¦ã€
+ 特定㮠SessionFactory ã«å¯¾ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£è¡¨ç¾ãƒ¢ãƒ¼ãƒ‰ã‚’è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™
+ ( を見ã¦ãã ã•ã„)。
- ˆÈ‰º‚Ì—á‚Å‚Í Map ‚ðŽg‚Á‚½•\Œ»‚ðЉ‚Ü‚·B
- ‚Ü‚¸ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÅAƒNƒ‰ƒX–¼‚Ì‘ã‚í‚è‚Éi‚Ü‚½‚Í‚»‚ê‚ɉÁ‚¦‚Äj
- entity-name ‚ð’è‹`‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñF
+ 以下ã®ä¾‹ã§ã¯ Map を使ã£ãŸè¡¨ç¾ã‚’紹介ã—ã¾ã™ã€‚
+ ã¾ãšãƒžãƒƒãƒ”ングファイルã§ã€ã‚¯ãƒ©ã‚¹åã®ä»£ã‚ã‚Šã«ï¼ˆã¾ãŸã¯ãã‚Œã«åŠ ãˆã¦ï¼‰
+ entity-name を定義ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“:
@@ -386,14 +388,14 @@ public class DomesticCat extends Cat {
]]>
- ŠÖ˜A‚ªƒ^[ƒQƒbƒg‚̃Nƒ‰ƒX–¼‚ðŽg‚Á‚Ä’è‹`‚µ‚Ä‚¢‚½‚Æ‚µ‚Ä‚àA
- ŠÖ˜A‚̃^[ƒQƒbƒgŒ^‚àPOJO‚Å‚Í‚È‚“®“I‚ȃGƒ“ƒeƒBƒeƒB‚Å‚à\‚í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 関連ãŒã‚¿ãƒ¼ã‚²ãƒƒãƒˆã®ã‚¯ãƒ©ã‚¹åを使ã£ã¦å®šç¾©ã—ã¦ã„ãŸã¨ã—ã¦ã‚‚ã€
+ 関連ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆåž‹ã‚‚POJOã§ã¯ãªãå‹•çš„ãªã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã§ã‚‚構ã‚ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- SessionFactory ‚ɑ΂µ‚ăfƒtƒHƒ‹ƒg‚̃Gƒ“ƒeƒBƒeƒBƒ‚[ƒh‚ð
- dynamic-map ‚Éݒ肵‚½ŒãA
- ŽÀsŽž‚É Map ‚Ì Map ‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·F
+ SessionFactory ã«å¯¾ã—ã¦ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒ¢ãƒ¼ãƒ‰ã‚’
+ dynamic-map ã«è¨å®šã—ãŸå¾Œã€
+ 実行時㫠Map ã® Map を使ã†ã“ã¨ãŒã§ãã¾ã™ï¼š
- “®“I‚ȃ}ƒbƒsƒ“ƒO‚Ì—˜“_‚ÍAƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ÌŽÀ‘•‚ð•K—v‚Æ‚µ‚È‚¢‚½‚ßA
- ƒvƒƒgƒ^ƒCƒsƒ“ƒO‚É—v‚·‚éƒ^[ƒ“ƒAƒ‰ƒEƒ“ƒhƒ^ƒCƒ€‚ª‘‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ‚µ‚©‚µƒRƒ“ƒpƒCƒ‹Žž‚ÌŒ^ƒ`ƒFƒbƒN‚ª‚È‚¢‚Ì‚ÅAŽÀsŽž‚É”ñí‚É‘½‚‚Ì—áŠOˆ—‚ðˆµ‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢‚Å‚µ‚傤B
- Hibernateƒ}ƒbƒsƒ“ƒO‚Ì‚¨‚©‚°‚ÅAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Í—eˆÕ‚ɳ‹K‰»‚Å‚«AŒ’‘S‚É‚È‚èA
- Œã‚Å“K؂ȃhƒƒCƒ“ƒ‚ƒfƒ‹‚ÌŽÀ‘•‚ð’ljÁ‚·‚邱‚Æ‚ª‰Â”\‚É‚È‚è‚Ü‚·B
+ å‹•çš„ãªãƒžãƒƒãƒ”ングã®åˆ©ç‚¹ã¯ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¯ãƒ©ã‚¹ã®å®Ÿè£…ã‚’å¿…è¦ã¨ã—ãªã„ãŸã‚ã€
+ プãƒãƒˆã‚¿ã‚¤ãƒ”ングã«è¦ã™ã‚‹ã‚¿ãƒ¼ãƒ³ã‚¢ãƒ©ã‚¦ãƒ³ãƒ‰ã‚¿ã‚¤ãƒ ãŒæ—©ã„ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ ã—ã‹ã—コンパイル時ã®åž‹ãƒã‚§ãƒƒã‚¯ãŒãªã„ã®ã§ã€å®Ÿè¡Œæ™‚ã«éžå¸¸ã«å¤šãã®ä¾‹å¤–処ç†ã‚’扱ã‚ãªã‘ã‚Œã°ãªã‚‰ãªã„ã§ã—ょã†ã€‚
+ Hibernateマッピングã®ãŠã‹ã’ã§ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマã¯å®¹æ˜“ã«æ£è¦åŒ–ã§ãã€å¥å…¨ã«ãªã‚Šã€
+ 後ã§é©åˆ‡ãªãƒ‰ãƒ¡ã‚¤ãƒ³ãƒ¢ãƒ‡ãƒ«ã®å®Ÿè£…ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã«ãªã‚Šã¾ã™ã€‚
- ƒGƒ“ƒeƒBƒeƒB•\Œ»ƒ‚[ƒh‚Í Session ‚²‚Æ‚ÉÝ’è‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
+ エンティティ表ç¾ãƒ¢ãƒ¼ãƒ‰ã¯ Session ã”ã¨ã«è¨å®šã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
- EntityMode ‚ðŽg‚Á‚½ getSession()
- ‚̌ĂÑo‚µ‚Í SessionFactory ‚Å‚Í‚È‚ Session
- API‚É‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚»‚Ì•û–@‚Å‚ÍAV‚µ‚¢ Session ‚ÍAƒx[ƒX‚Æ‚È‚éJDBCƒRƒlƒNƒVƒ‡ƒ“A
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“A‚»‚Ì‘¼‚̃Rƒ“ƒeƒLƒXƒgî•ñ‚ð‹¤—L‚µ‚Ü‚·B
- ‚±‚ê‚Í2”Ô–Ú‚Ì Session ‚Å‚Í flush() ‚Æ close()
- ‚ðŒÄ‚Ô•K—v‚ª‚È‚¢‚Æ‚¢‚¤‚±‚ÆA‚»‚Ì‚½‚߃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ƃRƒlƒNƒVƒ‡ƒ“‚ÌŠÇ—‚ð
- 1”Ô–Ú‚Ìì‹Æ’PˆÊ(Unit of Work)‚É”C‚¹‚邱‚Æ‚ª‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+ EntityMode を使ã£ãŸ getSession()
+ ã®å‘¼ã³å‡ºã—㯠SessionFactory ã§ã¯ãªã Session
+ APIã«ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ãã®æ–¹æ³•ã§ã¯ã€æ–°ã—ã„ Session ã¯ã€ãƒ™ãƒ¼ã‚¹ã¨ãªã‚‹JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã€
+ トランザクションã€ãã®ä»–ã®ã‚³ãƒ³ãƒ†ã‚ã‚¹ãƒˆæƒ…å ±ã‚’å…±æœ‰ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯2番目㮠Session ã§ã¯ flush() 㨠close()
+ を呼ã¶å¿…è¦ãŒãªã„ã¨ã„ã†ã“ã¨ã€ãã®ãŸã‚トランザクションã¨ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã®ç®¡ç†ã‚’
+ 1番目ã®ä½œæ¥å˜ä½(Unit of Work)ã«ä»»ã›ã‚‹ã“ã¨ãŒã§ãã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
- XML•\Œ»‚Ì”\—͂ɂ‚¢‚Ä‚Ì‚³‚ç‚È‚éî•ñ‚Í ‚ÅŒ©‚‚©‚è‚Ü‚·B
+ XML表ç¾ã®èƒ½åŠ›ã«ã¤ã„ã¦ã®ã•ã‚‰ãªã‚‹æƒ…å ±ã¯ ã§è¦‹ã¤ã‹ã‚Šã¾ã™ã€‚
@@ -465,30 +467,30 @@ dynamicSession.close()
Tuplizer
- org.hibernate.tuple.Tuplizer ‚Æ‚»‚̃TƒuƒCƒ“ƒ^[ƒtƒFƒCƒX‚ÍA
- •\Œ»‚Ì org.hibernate.EntityMode ‚ð—˜—p‚µ‚ÄA
- ƒf[ƒ^’f•Ð‚Ì‚ ‚é•\Œ»‚ÌŠÇ—‚ÉÓ”C‚ðŽ‚¿‚Ü‚·B
- —^‚¦‚ç‚ꂽƒf[ƒ^’f•Ð‚ðƒf[ƒ^\‘¢‚Æ‚µ‚Äl‚¦‚é‚È‚çATuplizer‚Í‚»‚̂悤‚ȃf[ƒ^\‘¢‚ð
- ‚ǂ̂悤‚É쬂·‚é‚©‚ð’m‚èA‚»‚̂悤‚ȃf[ƒ^\‘¢‚©‚ç‚ǂ̂悤‚É’l‚ð’Šo‚µA
- ’“ü‚·‚é‚©‚ð’m‚Á‚Ä‚¢‚Ü‚·B
- —Ⴆ‚ÎPOJOƒGƒ“ƒeƒBƒeƒBƒ‚[ƒh‚Å‚ÍA‘Ήž‚·‚éTuplizer‚̓Rƒ“ƒXƒgƒ‰ƒNƒ^‚ð’Ê‚µ‚ÄA
- POJO‚ð‚ǂ̂悤‚É쬂·‚é‚©A’è‹`‚³‚ꂽƒvƒƒpƒeƒBƒAƒNƒZƒT‚ðŽg‚¢A
- POJOƒvƒƒpƒeƒB‚ɂǂ̂悤‚ɃAƒNƒZƒX‚·‚é‚©‚ð’m‚è‚Ü‚·B
- Tuplizer‚É‚Í“ñ‚‚̃nƒCƒŒƒxƒ‹‚ÌŒ^‚ª‚ ‚è‚Ü‚·B
- ‚»‚ê‚ç‚ÍAorg.hibernate.tuple.EntityTuplizer ‚Æ
- org.hibernate.tuple.ComponentTuplizer ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Å•\Œ»‚³‚ê‚Ü‚·B
- EntityTuplizer ‚Íã‚Åq‚ׂ½‚悤‚ȃGƒ“ƒeƒBƒeƒB‚ÉŠÖ‚·‚éŒ_–ñ‚ÌŠÇ—‚ÉÓ”C‚ðŽ‚¿‚Ü‚·B
- ˆê•ûAComponentTuplizer ‚̓Rƒ“ƒ|[ƒlƒ“ƒg‚ÉŠÖ‚·‚éŒ_–ñ‚ÌŠÇ—‚ÉÓ”C‚ðŽ‚¿‚Ü‚·B
+ org.hibernate.tuple.Tuplizer ã¨ãã®ã‚µãƒ–インターフェイスã¯ã€
+ 表ç¾ã® org.hibernate.EntityMode を利用ã—ã¦ã€
+ データæ–片ã®ã‚る表ç¾ã®ç®¡ç†ã«è²¬ä»»ã‚’æŒã¡ã¾ã™ã€‚
+ 与ãˆã‚‰ã‚ŒãŸãƒ‡ãƒ¼ã‚¿æ–ç‰‡ã‚’ãƒ‡ãƒ¼ã‚¿æ§‹é€ ã¨ã—ã¦è€ƒãˆã‚‹ãªã‚‰ã€Tuplizerã¯ãã®ã‚ˆã†ãªãƒ‡ãƒ¼ã‚¿æ§‹é€ ã‚’
+ ã©ã®ã‚ˆã†ã«ä½œæˆã™ã‚‹ã‹ã‚’知りã€ãã®ã‚ˆã†ãªãƒ‡ãƒ¼ã‚¿æ§‹é€ ã‹ã‚‰ã©ã®ã‚ˆã†ã«å€¤ã‚’抽出ã—ã€
+ 注入ã™ã‚‹ã‹ã‚’知ã£ã¦ã„ã¾ã™ã€‚
+ 例ãˆã°POJOエンティティモードã§ã¯ã€å¯¾å¿œã™ã‚‹Tuplizerã¯ã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’通ã—ã¦ã€
+ POJOã‚’ã©ã®ã‚ˆã†ã«ä½œæˆã™ã‚‹ã‹ã€å®šç¾©ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティアクセサを使ã„ã€
+ POJOプãƒãƒ‘ティã«ã©ã®ã‚ˆã†ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã‹ã‚’知りã¾ã™ã€‚
+ Tuplizerã«ã¯äºŒã¤ã®ãƒã‚¤ãƒ¬ãƒ™ãƒ«ã®åž‹ãŒã‚ã‚Šã¾ã™ã€‚
+ ãれらã¯ã€org.hibernate.tuple.EntityTuplizer ã¨
+ org.hibernate.tuple.ComponentTuplizer インターフェイスã§è¡¨ç¾ã•ã‚Œã¾ã™ã€‚
+ EntityTuplizer ã¯ä¸Šã§è¿°ã¹ãŸã‚ˆã†ãªã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«é–¢ã™ã‚‹å¥‘ç´„ã®ç®¡ç†ã«è²¬ä»»ã‚’æŒã¡ã¾ã™ã€‚
+ 一方ã€ComponentTuplizer ã¯ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã«é–¢ã™ã‚‹å¥‘ç´„ã®ç®¡ç†ã«è²¬ä»»ã‚’æŒã¡ã¾ã™ã€‚
- ƒ†[ƒU‚Í“ÆŽ©‚ÌTuplizer‚É·‚µ‘Ö‚¦‚邱‚Æ‚à‰Â”\‚Å‚·B
- ‚¨‚»‚ç‚dynamic-map entity-mode‚ÌÛ‚É java.util.HashMap ‚ðŽg‚¤‚Ì‚Å‚Í‚È‚A
- java.util.Map ‚ÌŽÀ‘•‚ª•K—v‚Å‚µ‚傤B
- ‚à‚µ‚‚ÍA‚¨‚»‚炃fƒtƒHƒ‹ƒg‚Ì‚à‚Ì‚Å‚Í‚È‚A•Ê‚̃vƒƒLƒV¶¬í—ª‚Ì’è‹`‚ª•K—v‚Å‚µ‚傤B
- —¼ŽÒ‚Æ‚àAƒJƒXƒ^ƒ€‚ÌTuplizerŽÀ‘•‚ð’è‹`‚·‚邱‚Æ‚Å’B¬‚³‚ê‚Ü‚·B
- Tuplizer‚Ì’è‹`‚ÍAŠÇ—‚µ‚悤‚Æ‚·‚éƒGƒ“ƒeƒBƒeƒB‚âƒRƒ“ƒ|[ƒlƒ“ƒg‚̃}ƒbƒsƒ“ƒO‚ÉŒ‹‚Ñ•t‚¯‚ç‚ê‚Ü‚·B
- ŒÚ‹qƒGƒ“ƒeƒBƒeƒB‚Ì—á‚É–ß‚é‚ÆF
+ ユーザã¯ç‹¬è‡ªã®Tuplizerã«å·®ã—替ãˆã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
+ ãŠãらãdynamic-map entity-modeã®éš›ã« java.util.HashMap を使ã†ã®ã§ã¯ãªãã€
+ java.util.Map ã®å®Ÿè£…ãŒå¿…è¦ã§ã—ょã†ã€‚
+ ã‚‚ã—ãã¯ã€ãŠãらãデフォルトã®ã‚‚ã®ã§ã¯ãªãã€åˆ¥ã®ãƒ—ãƒã‚シ生æˆæˆ¦ç•¥ã®å®šç¾©ãŒå¿…è¦ã§ã—ょã†ã€‚
+ 両者ã¨ã‚‚ã€ã‚«ã‚¹ã‚¿ãƒ ã®Tuplizer実装を定義ã™ã‚‹ã“ã¨ã§é”æˆã•ã‚Œã¾ã™ã€‚
+ Tuplizerã®å®šç¾©ã¯ã€ç®¡ç†ã—よã†ã¨ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚„コンãƒãƒ¼ãƒãƒ³ãƒˆã®ãƒžãƒƒãƒ”ングã«çµã³ä»˜ã‘られã¾ã™ã€‚
+ 顧客エンティティã®ä¾‹ã«æˆ»ã‚‹ã¨ï¼š
@@ -531,7 +533,7 @@ public class CustomMapTuplizerImpl
- TODO: ƒvƒƒpƒeƒB‚ƃvƒƒLƒVƒpƒbƒP[ƒW‚̃†[ƒUŠg’£ƒtƒŒ[ƒ€ƒ[ƒN‚𕶑‰»‚·‚邱‚Æ
+ TODO: プãƒãƒ‘ティã¨ãƒ—ãƒã‚シパッケージã®ãƒ¦ãƒ¼ã‚¶æ‹¡å¼µãƒ•ãƒ¬ãƒ¼ãƒ ワークを文書化ã™ã‚‹ã“ã¨
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/preface.xml b/documentation/manual/ja-JP/src/main/docbook/content/preface.xml
index bb773fc6df..317cf8a28d 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/preface.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/preface.xml
@@ -1,145 +1,144 @@
-
-
+
- ‘O‘‚«
+ å‰æ›¸ã
- ¡“ú‚ÌŠé‹ÆŠÂ‹«‚É‚¨‚¢‚ÄAƒIƒuƒWƒFƒNƒgŽwŒüƒ\ƒtƒgƒEƒFƒA‚ƃŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒx[ƒX‚ÉŠÖ‚í‚éì‹Æ‚Í
- ”ÏŽG‚Å–c‘å‚ÈŽžŠÔ‚ð•K—v‚Æ‚µ‚Ü‚·B
- Hibernate‚ÍJavaŠÂ‹«‚̃IƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOƒc[ƒ‹‚Å‚·B
- ƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOiORMj‚Æ‚ÍA
- ƒIƒuƒWƒFƒNƒgƒ‚ƒfƒ‹‚©‚çSQLƒx[ƒXƒXƒL[ƒ}‚̃ŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒ‚ƒfƒ‹‚Ö‚ÆA
- ƒf[ƒ^•\Œ»‚ðƒ}ƒbƒsƒ“ƒO‚·‚éi‘Ήž•t‚¯‚éj‹Zp‚Ì‚±‚Æ‚Å‚·B
+ 今日ã®ä¼æ¥ç’°å¢ƒã«ãŠã„ã¦ã€ã‚ªãƒ–ジェクト指å‘ソフトウェアã¨ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«é–¢ã‚る作æ¥ã¯
+ 煩雑ã§è†¨å¤§ãªæ™‚é–“ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚
+ Hibernateã¯Java環境ã®ã‚ªãƒ–ジェクト/リレーショナルマッピングツールã§ã™ã€‚
+ オブジェクト/リレーショナルマッピング(ORM)ã¨ã¯ã€
+ オブジェクトモデルã‹ã‚‰SQLベーススã‚ーマã®ãƒªãƒ¬ãƒ¼ã‚·ãƒ§ãƒŠãƒ«ãƒ‡ãƒ¼ã‚¿ãƒ¢ãƒ‡ãƒ«ã¸ã¨ã€
+ データ表ç¾ã‚’マッピングã™ã‚‹ï¼ˆå¯¾å¿œä»˜ã‘る)技術ã®ã“ã¨ã§ã™ã€‚
- Hibernate‚ÍJavaƒNƒ‰ƒX‚©‚çƒf[ƒ^ƒx[ƒXƒe[ƒuƒ‹‚Öi‚»‚µ‚ÄJavaƒf[ƒ^Œ^‚©‚çSQLƒf[ƒ^Œ^‚Öj
- ‚̃}ƒbƒsƒ“ƒO‚ðˆ—‚·‚邾‚¯‚Å‚Í‚È‚Aƒf[ƒ^‚̃NƒGƒŠ‚Æ•œŒ³‚ÌŽd‘g‚Ý‚à’ñ‹Ÿ‚µ‚Ü‚·B
- ‚±‚Ì‚¨‚©‚°‚ÅSQL‚ÆJDBC‚ðŽg‚Á‚½Žèì‹Æ‚ł̃f[ƒ^ˆ—‚É”ï‚₳‚ê‚Ä‚¢‚½ŠJ”ŽžŠÔ‚ð‘å•‚É팸‚Å‚«‚Ü‚·B
+ Hibernateã¯Javaクラスã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ†ãƒ¼ãƒ–ルã¸ï¼ˆãã—ã¦Javaデータ型ã‹ã‚‰SQLデータ型ã¸ï¼‰
+ ã®ãƒžãƒƒãƒ”ングを処ç†ã™ã‚‹ã ã‘ã§ã¯ãªãã€ãƒ‡ãƒ¼ã‚¿ã®ã‚¯ã‚¨ãƒªã¨å¾©å…ƒã®ä»•çµ„ã¿ã‚‚æä¾›ã—ã¾ã™ã€‚
+ ã“ã®ãŠã‹ã’ã§SQLã¨JDBCを使ã£ãŸæ‰‹ä½œæ¥ã§ã®ãƒ‡ãƒ¼ã‚¿å‡¦ç†ã«è²»ã‚„ã•ã‚Œã¦ã„ãŸé–‹ç™ºæ™‚間を大幅ã«å‰Šæ¸›ã§ãã¾ã™ã€‚
- Hibernate‚ÌÅI–Ú•W‚ÍAƒf[ƒ^‚̉i‘±‰»‚ÉŠÖ‚í‚éˆê”Ê“I‚ȃvƒƒOƒ‰ƒ~ƒ“ƒOì‹Æ‚Ì95“‚©‚çŠJ”ŽÒ‚ð‰ð•ú‚·‚邱‚Æ‚Å‚·B
- Hibernate‚̓rƒWƒlƒXƒƒWƒbƒN‚ÌŽÀ‘•‚ɃXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg‚¤
- ƒf[ƒ^’†SƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ɑ΂µ‚ẴxƒXƒgƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚Å‚ ‚é‚É—¯‚Ü‚è‚Ü‚¹‚ñB
- ƒIƒuƒWƒFƒNƒgŽwŒüƒhƒƒCƒ“ƒ‚ƒfƒ‹‚ÆJavaƒx[ƒX‚Ì’†ŠÔ‘w‚ł̃rƒWƒlƒXƒƒWƒbƒN‚ɑ΂µ‚ÄÅ‚à–ð‚É—§‚¿‚Ü‚·B
- ‚µ‚©‚µHibernate‚̓xƒ“ƒ_ŒÅ—L‚ÌSQLƒR[ƒh‚ð팸‚Ü‚½‚̓JƒvƒZƒ‹‰»‚µ‚½‚èA
- •\Œ`Ž®‚©‚çƒIƒuƒWƒFƒNƒg‚̃Oƒ‰ƒt‚ւƃŠƒUƒ‹ƒgƒZƒbƒg‚ð•ÏŠ·‚·‚é‚È‚Ç‚ÌA
- ˆê”Ê“I‚ȃ^ƒXƒN‚É‚à–𗧂‚łµ‚傤B
+ Hibernateã®æœ€çµ‚目標ã¯ã€ãƒ‡ãƒ¼ã‚¿ã®æ°¸ç¶šåŒ–ã«é–¢ã‚る一般的ãªãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ä½œæ¥ã®95ï¼…ã‹ã‚‰é–‹ç™ºè€…を解放ã™ã‚‹ã“ã¨ã§ã™ã€‚
+ Hibernateã¯ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã®å®Ÿè£…ã«ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚’使ã†
+ データä¸å¿ƒã‚¢ãƒ—リケーションã«å¯¾ã—ã¦ã®ãƒ™ã‚¹ãƒˆã‚½ãƒªãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³ã§ã‚ã‚‹ã«ç•™ã¾ã‚Šã¾ã›ã‚“。
+ オブジェクト指å‘ドメインモデルã¨Javaベースã®ä¸é–“層ã§ã®ãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯ã«å¯¾ã—ã¦æœ€ã‚‚å½¹ã«ç«‹ã¡ã¾ã™ã€‚
+ ã—ã‹ã—Hibernateã¯ãƒ™ãƒ³ãƒ€å›ºæœ‰ã®SQLコードを削減ã¾ãŸã¯ã‚«ãƒ—セル化ã—ãŸã‚Šã€
+ 表形å¼ã‹ã‚‰ã‚ªãƒ–ジェクトã®ã‚°ãƒ©ãƒ•ã¸ã¨ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’変æ›ã™ã‚‹ãªã©ã®ã€
+ 一般的ãªã‚¿ã‚¹ã‚¯ã«ã‚‚役立ã¤ã§ã—ょã†ã€‚
- Hibernate‚âƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOA
- ‚³‚ç‚É‚ÍJava‚ª‰‚ß‚Ä‚Ì•û‚ÍAˆÈ‰º‚̃Xƒeƒbƒv‚É]‚Á‚Ä‚‚¾‚³‚¢F
+ Hibernateやオブジェクト/リレーショナルマッピングã€
+ ã•ã‚‰ã«ã¯JavaãŒåˆã‚ã¦ã®æ–¹ã¯ã€ä»¥ä¸‹ã®ã‚¹ãƒ†ãƒƒãƒ—ã«å¾“ã£ã¦ãã ã•ã„:
- ‚ð“Ç‚ñ‚Å‚‚¾‚³‚¢B
- ’iŠK“I‚ɉðà‚µ‚Ä‚¢‚«‚Ü‚·B
- ƒ`ƒ…[ƒgƒŠƒAƒ‹‚̃\[ƒXƒR[ƒh‚̓fƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì
- doc/reference/tutorial ƒfƒBƒŒƒNƒgƒŠ‚ÉŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B
+ ã‚’èªã‚“ã§ãã ã•ã„。
+ 段階的ã«è§£èª¬ã—ã¦ã„ãã¾ã™ã€‚
+ ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã¯ãƒ‡ã‚£ã‚¹ãƒˆãƒªãƒ“ューションã®
+ doc/reference/tutorial ディレクトリã«å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚
- ‚ð“Ç‚ñ‚ÅAHibernate‚ª—˜—p‰Â”\‚Ȋ‹«‚ð—‰ð‚µ‚Ä‚‚¾‚³‚¢B
+ ã‚’èªã‚“ã§ã€HibernateãŒåˆ©ç”¨å¯èƒ½ãªç’°å¢ƒã‚’ç†è§£ã—ã¦ãã ã•ã„。
- HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì eg/ ƒfƒBƒŒƒNƒgƒŠ‚ðŒ©‚Ä‚‚¾‚³‚¢B
- ŠÈ’P‚ȃXƒ^ƒ“ƒhƒAƒ[ƒ“‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚ ‚è‚Ü‚·B
- JDBCƒhƒ‰ƒCƒo‚ð lib/ ƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚ÄA
- Ž©•ª‚̃f[ƒ^ƒx[ƒX‚ɇ‚¤³‚µ‚¢’l‚ðŽw’è‚·‚é‚悤‚É etc/hibernate.properties
- ‚ð•ÒW‚µ‚Ä‚‚¾‚³‚¢B
- ƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“ƒfƒBƒŒƒNƒgƒŠ‚©‚çAƒRƒ}ƒ“ƒhƒvƒƒ“ƒvƒg‚Å
- ant eg ‚ƃ^ƒCƒv‚µ‚Ä‚‚¾‚³‚¢iAnt‚ðŽg‚¢‚Ü‚·jB
- ‚Ü‚½WindowsŠÂ‹«‚Å‚Í build eg ‚ƃ^ƒCƒv‚µ‚Ä‚‚¾‚³‚¢B
+ Hibernateディストリビューション㮠eg/ ディレクトリを見ã¦ãã ã•ã„。
+ ç°¡å˜ãªã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ¼ãƒ³ã®ã‚¢ãƒ—リケーションãŒã‚ã‚Šã¾ã™ã€‚
+ JDBCドライãƒã‚’ lib/ ディレクトリã«ã‚³ãƒ”ーã—ã¦ã€
+ 自分ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«åˆã†æ£ã—ã„値を指定ã™ã‚‹ã‚ˆã†ã« etc/hibernate.properties
+ を編集ã—ã¦ãã ã•ã„。
+ ディストリビューションディレクトリã‹ã‚‰ã€ã‚³ãƒžãƒ³ãƒ‰ãƒ—ãƒãƒ³ãƒ—トã§
+ ant eg ã¨ã‚¿ã‚¤ãƒ—ã—ã¦ãã ã•ã„(Antを使ã„ã¾ã™ï¼‰ã€‚
+ ã¾ãŸWindows環境ã§ã¯ build eg ã¨ã‚¿ã‚¤ãƒ—ã—ã¦ãã ã•ã„。
- ‚±‚̃Šƒtƒ@ƒŒƒ“ƒXƒhƒLƒ…ƒƒ“ƒg‚ð‘æˆê‚Ìî•ñŒ¹‚Æ‚µ‚Ä—˜—p‚µ‚Ä‚‚¾‚³‚¢B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ÝŒv‚ɂ‚¢‚Ä‚Ì‚³‚ç‚È‚éî•ñ‚â’iŠK“I‚ȃ`ƒ…[ƒgƒŠƒAƒ‹‚ð’T‚µ‚Ä‚¢‚é‚È‚çA
- Java Persistence with Hibernateihttp://www.manning.com/bauer2j
- ‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
- ‚Ü‚½http://caveatemptor.hibernate.org‚©‚ç
- Java Persistence with Hibernate‚Ì—á‘è‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ðƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
+ ã“ã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ãƒ‰ã‚ュメントを第一ã®æƒ…å ±æºã¨ã—ã¦åˆ©ç”¨ã—ã¦ãã ã•ã„。
+ アプリケーションè¨è¨ˆã«ã¤ã„ã¦ã®ã•ã‚‰ãªã‚‹æƒ…å ±ã‚„æ®µéšŽçš„ãªãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’探ã—ã¦ã„ã‚‹ãªã‚‰ã€
+ Java Persistence with Hibernate(http://www.manning.com/bauer2)
+ ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚
+ ã¾ãŸhttp://caveatemptor.hibernate.orgã‹ã‚‰
+ Java Persistence with Hibernateã®ä¾‹é¡Œã®ã‚¢ãƒ—リケーションをダウンãƒãƒ¼ãƒ‰ã§ãã¾ã™ã€‚
- FAQ‚ÍHibernateƒEƒFƒuƒTƒCƒg‚É‚ ‚è‚Ü‚·B
+ FAQã¯Hibernateウェブサイトã«ã‚ã‚Šã¾ã™ã€‚
- ƒT[ƒhƒp[ƒeƒB‚̃fƒ‚A—áAƒ`ƒ…[ƒgƒŠƒAƒ‹‚ÍHibernateƒEƒFƒuƒTƒCƒg‚ɃŠƒ“ƒN‚ª‚ ‚è‚Ü‚·B
+ サードパーティã®ãƒ‡ãƒ¢ã€ä¾‹ã€ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã¯Hibernateウェブサイトã«ãƒªãƒ³ã‚¯ãŒã‚ã‚Šã¾ã™ã€‚
- HibernateƒEƒFƒuƒTƒCƒg‚̃Rƒ~ƒ…ƒjƒeƒBƒGƒŠƒA‚ÍAƒfƒUƒCƒ“ƒpƒ^[ƒ“‚₳‚Ü‚´‚Ü‚È“‡ƒ\ƒŠƒ…[ƒVƒ‡ƒ“
- iTomcat, JBoss AS, Struts, EJB, “™j‚ɂ‚¢‚Ä‚Ì‚æ‚¢î•ñŒ¹‚Å‚·B
+ Hibernateウェブサイトã®ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£ã‚¨ãƒªã‚¢ã¯ã€ãƒ‡ã‚¶ã‚¤ãƒ³ãƒ‘ターンやã•ã¾ã–ã¾ãªçµ±åˆã‚½ãƒªãƒ¥ãƒ¼ã‚·ãƒ§ãƒ³
+ (Tomcat, JBoss AS, Struts, EJB, ç‰ï¼‰ã«ã¤ã„ã¦ã®ã‚ˆã„æƒ…å ±æºã§ã™ã€‚
- Ž¿–₪‚ ‚ê‚ÎHibernateƒEƒFƒuƒTƒCƒg‚̃†[ƒUƒtƒH[ƒ‰ƒ€‚ðŠˆ—p‚µ‚Ä‚‚¾‚³‚¢B
- ‚Ü‚½ƒoƒOƒŒƒ|[ƒg‚ƃtƒB[ƒ`ƒƒƒŠƒNƒGƒXƒg‚Ì‚½‚ßJIRA‰Û‘è’ÇÕƒVƒXƒeƒ€‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
- Hibernate‚ÌŠJ”‚É‹»–¡‚ª‚ ‚ê‚ÎAŠJ”ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ÉŽQ‰Á‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚̃hƒLƒ…ƒƒ“ƒg‚ð‚ ‚È‚½‚Ì‘‚ÌŒ¾—t‚É–|–󂵂½‚¢ê‡‚ÍA
- ŠJ”ŽÒƒ[ƒŠƒ“ƒOƒŠƒXƒg‚ÅŽ„‚½‚¿‚ɃRƒ“ƒ^ƒNƒg‚ðŽæ‚Á‚Ä‚‚¾‚³‚¢B
+ 質å•ãŒã‚ã‚Œã°Hibernateウェブサイトã®ãƒ¦ãƒ¼ã‚¶ãƒ•ã‚©ãƒ¼ãƒ©ãƒ を活用ã—ã¦ãã ã•ã„。
+ ã¾ãŸãƒã‚°ãƒ¬ãƒãƒ¼ãƒˆã¨ãƒ•ã‚£ãƒ¼ãƒãƒ£ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ãŸã‚JIRA課題追跡システムを用æ„ã—ã¦ã„ã¾ã™ã€‚
+ Hibernateã®é–‹ç™ºã«èˆˆå‘³ãŒã‚ã‚Œã°ã€é–‹ç™ºè€…メーリングリストã«å‚åŠ ã—ã¦ãã ã•ã„。
+ ã“ã®ãƒ‰ã‚ュメントをã‚ãªãŸã®å›½ã®è¨€è‘‰ã«ç¿»è¨³ã—ãŸã„å ´åˆã¯ã€
+ 開発者メーリングリストã§ç§ãŸã¡ã«ã‚³ãƒ³ã‚¿ã‚¯ãƒˆã‚’å–ã£ã¦ãã ã•ã„。
- ¤—pŠJ”‚̃Tƒ|[ƒgA»•i‚̃Tƒ|[ƒgAHibernate‚̃gƒŒ[ƒjƒ“ƒO‚ÍJBoss Inc.‚ª’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·
- ihttp://www.hibernate.org/SupportTraining/‚ðŒ©‚Ä‚‚¾‚³‚¢jB
- Hibernate‚ÍProfessional Open SourceƒvƒƒWƒFƒNƒgA
- ‚»‚µ‚ÄJBoss Enterprise Middleware SystemiJEMSjƒvƒƒ_ƒNƒgƒXƒC[ƒg‚̃NƒŠƒeƒBƒJƒ‹ƒRƒ“ƒ|[ƒlƒ“ƒg‚Å‚·B
+ 商用開発ã®ã‚µãƒãƒ¼ãƒˆã€è£½å“ã®ã‚µãƒãƒ¼ãƒˆã€Hibernateã®ãƒˆãƒ¬ãƒ¼ãƒ‹ãƒ³ã‚°ã¯JBoss Inc.ãŒæä¾›ã—ã¦ã„ã¾ã™
+ (http://www.hibernate.org/SupportTraining/を見ã¦ãã ã•ã„)。
+ Hibernateã¯Professional Open Sourceプãƒã‚¸ã‚§ã‚¯ãƒˆã€
+ ãã—ã¦JBoss Enterprise Middleware System(JEMS)プãƒãƒ€ã‚¯ãƒˆã‚¹ã‚¤ãƒ¼ãƒˆã®ã‚¯ãƒªãƒ†ã‚£ã‚«ãƒ«ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã§ã™ã€‚
-
\ No newline at end of file
+
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml b/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml
index 739498dc06..b9d72aefd2 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/query_criteria.xml
@@ -1,18 +1,20 @@
-
+
+
+
- CriteriaƒNƒGƒŠ
+ Criteriaクエリ
- Hibernate‚É‚ÍA’¼Š´“I‚ÅŠg’£‰Â”\‚ÈcriteriaƒNƒGƒŠAPI‚ª—pˆÓ‚³‚ê‚Ä‚¢‚Ü‚·B
+ Hibernateã«ã¯ã€ç›´æ„Ÿçš„ã§æ‹¡å¼µå¯èƒ½ãªcriteriaクエリAPIãŒç”¨æ„ã•ã‚Œã¦ã„ã¾ã™ã€‚
- Criteria ƒCƒ“ƒXƒ^ƒ“ƒX‚Ìì¬
+ Criteria インスタンスã®ä½œæˆ
org.hibernate.Criteria
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Í“Á’è‚̉i‘±«ƒNƒ‰ƒX‚ɑ΂·‚éƒNƒGƒŠ‚ð•\Œ»‚µ‚Ü‚·B
- Session ‚Í Criteria ƒCƒ“ƒXƒ^ƒ“ƒX‚̃tƒ@ƒNƒgƒŠ‚Å‚·B
+ インターフェイスã¯ç‰¹å®šã®æ°¸ç¶šæ€§ã‚¯ãƒ©ã‚¹ã«å¯¾ã™ã‚‹ã‚¯ã‚¨ãƒªã‚’表ç¾ã—ã¾ã™ã€‚
+ Session 㯠Criteria インスタンスã®ãƒ•ã‚¡ã‚¯ãƒˆãƒªã§ã™ã€‚
- ƒŠƒUƒ‹ƒgƒZƒbƒg‚Ìiž‚Ý
+ リザルトセットã®çµžè¾¼ã¿
- org.hibernate.criterion.Criterion ƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA
- ŒÂ•Ê‚̃NƒGƒŠƒNƒ‰ƒCƒeƒŠƒIƒ“i–â‚¢‡‚킹‚Ì”»’èŠî€j‚ð•\‚µ‚Ü‚·B
+ org.hibernate.criterion.Criterion インターフェイスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€
+ 個別ã®ã‚¯ã‚¨ãƒªã‚¯ãƒ©ã‚¤ãƒ†ãƒªã‚ªãƒ³ï¼ˆå•ã„åˆã‚ã›ã®åˆ¤å®šåŸºæº–)を表ã—ã¾ã™ã€‚
org.hibernate.criterion.Restrictions
- ƒNƒ‰ƒX‚ÍA‚ ‚é‘g‚Ýž‚Ý‚Ì Criterion
- Œ^‚ðŽæ“¾‚·‚邽‚߂̃tƒ@ƒNƒgƒŠƒƒ\ƒbƒh‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
+ クラスã¯ã€ã‚る組ã¿è¾¼ã¿ã® Criterion
+ åž‹ã‚’å–å¾—ã™ã‚‹ãŸã‚ã®ãƒ•ã‚¡ã‚¯ãƒˆãƒªãƒ¡ã‚½ãƒƒãƒ‰ã‚’æŒã£ã¦ã„ã¾ã™ã€‚
.list();]]>
- RestrictioniŒÀ’èj‚ÍA˜_—“I‚ɃOƒ‹[ƒv‰»‚Å‚«‚Ü‚·B
+ Restriction(é™å®šï¼‰ã¯ã€è«–ç†çš„ã«ã‚°ãƒ«ãƒ¼ãƒ—化ã§ãã¾ã™ã€‚
.list();]]>
- Œ³X‚ ‚éCriterionŒ^iRestrictions ‚̃TƒuƒNƒ‰ƒXj
- ‚Í‚©‚È‚è‚͈̔͂ɋy‚Ñ‚Ü‚·‚ªA“Á‚É—L—p‚È‚Ì‚ÍSQL‚ð’¼ÚŽw’è‚Å‚«‚é‚à‚Ì‚Å‚·B
+ 元々ã‚ã‚‹Criterion型(Restrictions ã®ã‚µãƒ–クラス)
+ ã¯ã‹ãªã‚Šã®ç¯„囲ã«åŠã³ã¾ã™ãŒã€ç‰¹ã«æœ‰ç”¨ãªã®ã¯SQLを直接指定ã§ãã‚‹ã‚‚ã®ã§ã™ã€‚
.list();]]>
- {alias} ‚Æ‚¢‚¤ƒvƒŒ[ƒXƒzƒ‹ƒ_‚ÍA
- –â‚¢‡‚킹‚ðŽó‚¯‚½ƒGƒ“ƒeƒBƒeƒB‚Ìs‚Ì•Ê–¼‚É‚æ‚Á‚Ä’u‚«Š·‚¦‚ç‚ê‚Ü‚·B
+ {alias} ã¨ã„ã†ãƒ—レースホルダã¯ã€
+ å•ã„åˆã‚ã›ã‚’å—ã‘ãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®è¡Œã®åˆ¥åã«ã‚ˆã£ã¦ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚
- criterion‚𓾂é•Ê‚ÌŽè’i‚ÍA
- Property ƒCƒ“ƒXƒ^ƒ“ƒX‚©‚çŽæ“¾‚·‚邱‚Æ‚Å‚·B
- Property.forName() ‚ðŒÄ‚Ño‚µ‚ÄA
- Property ƒCƒ“ƒXƒ^ƒ“ƒX‚ð쬂ł«‚Ü‚·B
+ criterionを得る別ã®æ‰‹æ®µã¯ã€
+ Property インスタンスã‹ã‚‰å–å¾—ã™ã‚‹ã“ã¨ã§ã™ã€‚
+ Property.forName() を呼ã³å‡ºã—ã¦ã€
+ Property インスタンスを作æˆã§ãã¾ã™ã€‚
- Œ‹‰Ê‚Ì®—ñ
+ çµæžœã®æ•´åˆ—
org.hibernate.criterion.Order
- ‚ðŽg‚Á‚ÄŒ‹‰Ê‚ð•À‚Ñ‘Ö‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ を使ã£ã¦çµæžœã‚’並ã³æ›¿ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ŠÖ˜A
+ 関連
- createCriteria() ‚ðŽg‚¢AŠÖ˜A‚ðƒiƒrƒQ[ƒg‚·‚邱‚Æ‚ÅA
- —eˆÕ‚ÉŠÖŒW‚·‚éƒGƒ“ƒeƒBƒeƒB‚ɧ–ñ‚ðŽw’è‚Å‚«‚Ü‚·B
+ createCriteria() を使ã„ã€é–¢é€£ã‚’ナビゲートã™ã‚‹ã“ã¨ã§ã€
+ 容易ã«é–¢ä¿‚ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«åˆ¶ç´„を指定ã§ãã¾ã™ã€‚
- 2”Ô–Ú‚Ì createCriteria() ‚ÍAkittens
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ðŽQÆ‚·‚éV‚µ‚¢ Criteria
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚·‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ 2番目㮠createCriteria() ã¯ã€kittens
+ コレクションã®è¦ç´ ã‚’å‚ç…§ã™ã‚‹æ–°ã—ã„ Criteria
+ インスタンスを返ã™ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ˆÈ‰º‚̂悤‚È•û–@‚àA󋵂ɂæ‚è—L—p‚Å‚·B
+ 以下ã®ã‚ˆã†ãªæ–¹æ³•ã‚‚ã€çŠ¶æ³ã«ã‚ˆã‚Šæœ‰ç”¨ã§ã™ã€‚
- icreateAlias() ‚ÍV‚µ‚¢
- Criteria ƒCƒ“ƒXƒ^ƒ“ƒX‚ð쬂µ‚Ü‚¹‚ñBj
+ (createAlias() ã¯æ–°ã—ã„
+ Criteria インスタンスを作æˆã—ã¾ã›ã‚“。)
- ‘O‚Ì2‚‚̃NƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚é Cat
- ƒCƒ“ƒXƒ^ƒ“ƒX‚É‚æ‚Á‚Ä•ÛŽ‚³‚ê‚ékittensƒRƒŒƒNƒVƒ‡ƒ“‚ÍA
- criteria‚É‚æ‚Á‚ÄŽ–‘O‚ɃtƒBƒ‹ƒ^ƒŠƒ“ƒO ‚³‚ê‚È‚¢
- ‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚à‚µcriteria‚É“K‡‚·‚ékitten‚ðŽæ“¾‚µ‚½‚¢‚È‚çA
- ResultTransformer ‚ðŽg‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ å‰ã®2ã¤ã®ã‚¯ã‚¨ãƒªã«ã‚ˆã£ã¦è¿”ã•ã‚Œã‚‹ Cat
+ インスタンスã«ã‚ˆã£ã¦ä¿æŒã•ã‚Œã‚‹kittensコレクションã¯ã€
+ criteriaã«ã‚ˆã£ã¦äº‹å‰ã«ãƒ•ã‚£ãƒ«ã‚¿ãƒªãƒ³ã‚° ã•ã‚Œãªã„
+ ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã‚‚ã—criteriaã«é©åˆã™ã‚‹kittenã‚’å–å¾—ã—ãŸã„ãªã‚‰ã€
+ ResultTransformer を使ã‚ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ŠÖ˜A‚Ì“®“IƒtƒFƒbƒ`
+ 関連ã®å‹•çš„フェッãƒ
- setFetchMode() ‚ðŽg‚¢A
- ŽÀsŽž‚ÉŠÖ˜A‚Ì•œŒ³•û–@‚ðŽw’肵‚Ä‚à‚æ‚¢‚Å‚·B
+ setFetchMode() を使ã„ã€
+ 実行時ã«é–¢é€£ã®å¾©å…ƒæ–¹æ³•ã‚’指定ã—ã¦ã‚‚よã„ã§ã™ã€‚
- ‚±‚̃NƒGƒŠ‚ÍŠO•”Œ‹‡‚É‚æ‚è mate ‚Æ
- kittens ‚Ì—¼•û‚ðƒtƒFƒbƒ`‚µ‚Ü‚·B
- ‚æ‚葽‚‚Ìî•ñ‚Í ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ ã“ã®ã‚¯ã‚¨ãƒªã¯å¤–部çµåˆã«ã‚ˆã‚Š mate ã¨
+ kittens ã®ä¸¡æ–¹ã‚’フェッãƒã—ã¾ã™ã€‚
+ より多ãã®æƒ…å ±ã¯ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- ƒNƒGƒŠ‚Ì—á
+ クエリã®ä¾‹
- org.hibernate.criterion.Example ƒNƒ‰ƒX‚ÍA
- —^‚¦‚ç‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚©‚çƒNƒGƒŠƒNƒ‰ƒCƒeƒŠƒIƒ“‚ð\’z‚Å‚«‚Ü‚·B
+ org.hibernate.criterion.Example クラスã¯ã€
+ 与ãˆã‚‰ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‹ã‚‰ã‚¯ã‚¨ãƒªã‚¯ãƒ©ã‚¤ãƒ†ãƒªã‚ªãƒ³ã‚’構築ã§ãã¾ã™ã€‚
- ƒo[ƒWƒ‡ƒ“ƒvƒƒpƒeƒBAŽ¯•ÊŽqAŠÖ˜A‚Í–³Ž‹‚³‚ê‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Å‚Ínull’l‚̃vƒƒpƒeƒB‚ÍœŠO‚³‚ê‚Ü‚·B
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ—ãƒãƒ‘ティã€è˜åˆ¥åã€é–¢é€£ã¯ç„¡è¦–ã•ã‚Œã¾ã™ã€‚
+ デフォルトã§ã¯null値ã®ãƒ—ãƒãƒ‘ティã¯é™¤å¤–ã•ã‚Œã¾ã™ã€‚
- ‚ǂ̂悤‚É Example ‚ð“K—p‚·‚é‚©
- ’²®‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ ã©ã®ã‚ˆã†ã« Example ã‚’é©ç”¨ã™ã‚‹ã‹
+ 調整ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ŠÖ˜AƒIƒuƒWƒFƒNƒg‚Écriteria‚ðŽw’è‚·‚邽‚ß‚ÉAExample‚ðŽg‚¤‚±‚Æ‚à‰Â”\‚Å‚·B
+ 関連オブジェクトã«criteriaを指定ã™ã‚‹ãŸã‚ã«ã€Exampleを使ã†ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
- ŽË‰eAW–ñAƒOƒ‹[ƒv‰»
+ å°„å½±ã€é›†ç´„ã€ã‚°ãƒ«ãƒ¼ãƒ—化
- org.hibernate.criterion.Projections ƒNƒ‰ƒX‚Í
- Projection ƒCƒ“ƒXƒ^ƒ“ƒX‚̃tƒ@ƒNƒgƒŠ‚Å‚·B
- setProjection() ‚ðŒÄ‚Ño‚·‚±‚Æ‚ÅA
- ƒNƒGƒŠ‚Ɏˉe‚ð“K—p‚µ‚Ü‚·B
+ org.hibernate.criterion.Projections クラスã¯
+ Projection インスタンスã®ãƒ•ã‚¡ã‚¯ãƒˆãƒªã§ã™ã€‚
+ setProjection() を呼ã³å‡ºã™ã“ã¨ã§ã€
+ クエリã«å°„影をé©ç”¨ã—ã¾ã™ã€‚
- •K—v‚Å‚ ‚Á‚Ä‚àAcriteriaƒNƒGƒŠ‚Éugroup byv‚𖾎¦‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚ ‚éŽí‚ÌProjectionŒ^‚Í ƒOƒ‹[ƒv‰»ŽË‰e ‚Æ‚µ‚Ä’è‹`‚³‚êA
- SQL‚Ì group by ß‚É‚àŒ»‚ê‚Ü‚·B
+ å¿…è¦ã§ã‚ã£ã¦ã‚‚ã€criteriaクエリã«ã€Œgroup byã€ã‚’明示ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ã‚る種ã®Projection型㯠グループ化射影 ã¨ã—ã¦å®šç¾©ã•ã‚Œã€
+ SQLã® group by 節ã«ã‚‚ç¾ã‚Œã¾ã™ã€‚
- ”CˆÓ‚Ŏˉe‚É•Ê–¼‚ð•t‚¯‚ç‚ê‚邽‚ßAŽË‰e‚³‚ê‚é’l‚Írestriction‚âordering“à‚©‚çŽQÆ‚Å‚«‚Ü‚·B
- •Ê–¼‚ð‚‚¯‚é‚Q‚‚̈قȂé•û–@‚ðŽ¦‚µ‚Ü‚·B
+ ä»»æ„ã§å°„å½±ã«åˆ¥åを付ã‘られるãŸã‚ã€å°„å½±ã•ã‚Œã‚‹å€¤ã¯restrictionã‚„ordering内ã‹ã‚‰å‚ç…§ã§ãã¾ã™ã€‚
+ 別åã‚’ã¤ã‘ã‚‹ï¼’ã¤ã®ç•°ãªã‚‹æ–¹æ³•ã‚’示ã—ã¾ã™ã€‚
- alias() ‚Æ as() ƒƒ\ƒbƒh‚ÍA
- ProjectionƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ê‚Ì–¼‘O‚Ì Projection ƒCƒ“ƒXƒ^ƒ“ƒX‚Å
- ƒ‰ƒbƒv‚·‚邾‚¯‚Å‚·B
- ƒVƒ‡[ƒgƒJƒbƒg‚Æ‚µ‚ÄAŽË‰e‚ðŽË‰eƒŠƒXƒg‚ɒljÁ‚·‚éÛ‚ÉA•Ê–¼‚ð‚‚¯‚ç‚ê‚Ü‚·B
+ alias() 㨠as() メソッドã¯ã€
+ Projectionインスタンスを別ã®åå‰ã® Projection インスタンスã§
+ ラップã™ã‚‹ã ã‘ã§ã™ã€‚
+ ショートカットã¨ã—ã¦ã€å°„影を射影リストã«è¿½åŠ ã™ã‚‹éš›ã«ã€åˆ¥åã‚’ã¤ã‘られã¾ã™ã€‚
- ŽË‰e‚ÌŽ®‚É Property.forName() ‚àŽg—p‚Å‚«‚Ü‚·B
+ å°„å½±ã®å¼ã« Property.forName() も使用ã§ãã¾ã™ã€‚
- ƒNƒGƒŠ‚¨‚æ‚уTƒuƒNƒGƒŠ‚Ì•ª—£
+ クエリãŠã‚ˆã³ã‚µãƒ–クエリã®åˆ†é›¢
- DetachedCriteria ƒNƒ‰ƒX‚É‚æ‚èA
- ƒZƒbƒVƒ‡ƒ“ƒXƒR[ƒvŠO‚ɃNƒGƒŠ‚ð쬂ł«‚Ü‚·B
- Œã‚ÅA”CˆÓ‚Ì Session ‚ðŽg‚Á‚ÄAŽÀs‚Å‚«‚Ü‚·B
+ DetachedCriteria クラスã«ã‚ˆã‚Šã€
+ セッションスコープ外ã«ã‚¯ã‚¨ãƒªã‚’作æˆã§ãã¾ã™ã€‚
+ 後ã§ã€ä»»æ„ã® Session を使ã£ã¦ã€å®Ÿè¡Œã§ãã¾ã™ã€‚
- DetachedCriteria ‚ÍAƒTƒuƒNƒGƒŠ‚ð•\Œ»‚·‚邽‚ß‚É‚àŽg‚¦‚Ü‚·B
- ƒTƒuƒNƒGƒŠ‚𔺂¤CriterionƒCƒ“ƒXƒ^ƒ“ƒX‚ÍA
- Subqueries ‚à‚µ‚‚Í Property ‚©‚瓾‚ç‚ê‚Ü‚·B
+ DetachedCriteria ã¯ã€ã‚µãƒ–クエリを表ç¾ã™ã‚‹ãŸã‚ã«ã‚‚使ãˆã¾ã™ã€‚
+ サブクエリを伴ã†Criterionインスタンスã¯ã€
+ Subqueries ã‚‚ã—ã㯠Property ã‹ã‚‰å¾—られã¾ã™ã€‚
- ‘ŠŒÝŠÖŒW‚ª‚ ‚éƒTƒuƒNƒGƒŠ‚Å‚³‚¦‚à‰Â”\‚Å‚·B
+ 相互関係ãŒã‚るサブクエリã§ã•ãˆã‚‚å¯èƒ½ã§ã™ã€‚
- Ž©‘RŽ¯•ÊŽq‚É‚æ‚éƒNƒGƒŠ
+ 自然è˜åˆ¥åã«ã‚ˆã‚‹ã‚¯ã‚¨ãƒª
- criteriaƒNƒGƒŠ‚ðŠÜ‚Þ‚½‚¢‚Ä‚¢‚̃NƒGƒŠ‚É‚Æ‚Á‚ÄA
- ƒNƒGƒŠƒLƒƒƒbƒVƒ…‚Í‚ ‚Ü‚èŒø—¦‚ª‚æ‚‚È‚¢‚Å‚·B
- ‚È‚º‚È‚çAƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ª•p”É‚É–³Œø‚ɂȂ邽‚ß‚Å‚·B
- ‚µ‚©‚µ‚È‚ª‚çAƒLƒƒƒbƒVƒ…‚𖳌ø‚É‚·‚éƒAƒ‹ƒSƒŠƒYƒ€‚ðÅ“K‰»‚Å‚«‚é
- “Á•Ê‚ȃNƒGƒŠ‚ÌŽí—Þ‚ª‚P‚‚ ‚è‚Ü‚·B
- XV‚³‚ê‚È‚¢Ž©‘RƒL[‚É‚æ‚錟õ‚Å‚·B
- ‚¢‚‚‚©‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍA‚±‚ÌŽí—ނ̃NƒGƒŠ‚ª•p”É‚ÉŒ»‚ê‚Ü‚·B
- ‚±‚̂悤‚ÈŽg‚í‚ê•û‚Ì‚½‚ß‚ÉAcriteria API‚Í“Á•Ê‚È‘Îô‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+ criteriaクエリをå«ã‚€ãŸã„ã¦ã„ã®ã‚¯ã‚¨ãƒªã«ã¨ã£ã¦ã€
+ クエリã‚ャッシュã¯ã‚ã¾ã‚ŠåŠ¹çŽ‡ãŒã‚ˆããªã„ã§ã™ã€‚
+ ãªãœãªã‚‰ã€ã‚¯ã‚¨ãƒªã‚ャッシュãŒé »ç¹ã«ç„¡åŠ¹ã«ãªã‚‹ãŸã‚ã§ã™ã€‚
+ ã—ã‹ã—ãªãŒã‚‰ã€ã‚ャッシュを無効ã«ã™ã‚‹ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ を最é©åŒ–ã§ãã‚‹
+ 特別ãªã‚¯ã‚¨ãƒªã®ç¨®é¡žãŒï¼‘ã¤ã‚ã‚Šã¾ã™ã€‚
+ æ›´æ–°ã•ã‚Œãªã„自然ã‚ーã«ã‚ˆã‚‹æ¤œç´¢ã§ã™ã€‚
+ ã„ãã¤ã‹ã®ã‚¢ãƒ—リケーションã§ã¯ã€ã“ã®ç¨®é¡žã®ã‚¯ã‚¨ãƒªãŒé »ç¹ã«ç¾ã‚Œã¾ã™ã€‚
+ ã“ã®ã‚ˆã†ãªä½¿ã‚れ方ã®ãŸã‚ã«ã€criteria APIã¯ç‰¹åˆ¥ãªå¯¾ç–ã‚’æä¾›ã—ã¾ã™ã€‚
- ʼn‚ÉA<natural-id> ‚ðŽg‚Á‚ÄA
- ƒGƒ“ƒeƒBƒeƒB‚ÌŽ©‘RƒL[‚ðƒ}ƒbƒv‚µ‚Ä‚‚¾‚³‚¢B
- ‚»‚µ‚ÄA“ñŽŸƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚µ‚Ü‚·B
+ 最åˆã«ã€<natural-id> を使ã£ã¦ã€
+ エンティティã®è‡ªç„¶ã‚ーをマップã—ã¦ãã ã•ã„。
+ ãã—ã¦ã€äºŒæ¬¡ã‚ャッシュを有効ã«ã—ã¾ã™ã€‚
@@ -423,17 +425,17 @@ session.createCriteria(Cat.class, "cat")
]]>
- ’ˆÓF •ÏX‚³‚ê‚é Ž©‘RƒL[‚ðŽ‚ƒGƒ“ƒeƒBƒeƒB‚É
- ‚±‚Ì‹@”\‚ðŽg‚¤‚Ì‚ÍAˆÓ}‚³‚ê‚Ä‚¢‚È‚¢Žg‚¢•û‚Å‚·B
+ 注æ„: 変更ã•ã‚Œã‚‹ 自然ã‚ーをæŒã¤ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«
+ ã“ã®æ©Ÿèƒ½ã‚’使ã†ã®ã¯ã€æ„図ã•ã‚Œã¦ã„ãªã„使ã„æ–¹ã§ã™ã€‚
- ŽŸ‚ÉAHibernateƒNƒGƒŠƒLƒƒƒbƒVƒ…‚ð—LŒø‚É‚µ‚Ü‚·B
+ 次ã«ã€Hibernateクエリã‚ャッシュを有効ã«ã—ã¾ã™ã€‚
- ‚±‚ê‚ÅARestrictions.naturalId() ‚É‚æ‚èA
- ‚æ‚èŒø—¦“I‚ȃLƒƒƒbƒVƒ…ƒAƒ‹ƒSƒŠƒYƒ€‚ðŽg—p‚Å‚«‚Ü‚·B
+ ã“ã‚Œã§ã€Restrictions.naturalId() ã«ã‚ˆã‚Šã€
+ より効率的ãªã‚ャッシュアルゴリズムを使用ã§ãã¾ã™ã€‚
+
+
+
HQL: The Hibernate Query Language
- Hibernate‚ÍSQL‚É”ñí‚É‚æ‚Ž—‚½(ˆÓ}“I‚ÉŽ—‚¹‚½)‹—Í‚È–â‚¢‡‚킹Œ¾Œê‚ð”õ‚¦‚Ä‚¢‚Ü‚·B
- ‚µ‚©‚µSQL‚ÉŽ—‚½\•¶‚ɘf‚킳‚ê‚È‚¢‚Å‚‚¾‚³‚¢BHQL‚ÍŠ®‘S‚ɃIƒuƒWƒFƒNƒgŽwŒü‚Å‚ ‚èA
- Œp³Aƒ|ƒŠƒ‚[ƒtƒBƒYƒ€AŠÖ˜A‚Æ‚¢‚Á‚½ŠT”O‚ð—‰ð‚µ‚Ü‚·B
+ Hibernateã¯SQLã«éžå¸¸ã«ã‚ˆãä¼¼ãŸ(æ„図的ã«ä¼¼ã›ãŸ)強力ãªå•ã„åˆã‚ã›è¨€èªžã‚’å‚™ãˆã¦ã„ã¾ã™ã€‚
+ ã—ã‹ã—SQLã«ä¼¼ãŸæ§‹æ–‡ã«æƒ‘ã‚ã•ã‚Œãªã„ã§ãã ã•ã„。HQLã¯å®Œå…¨ã«ã‚ªãƒ–ジェクト指å‘ã§ã‚ã‚Šã€
+ 継承ã€ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ã‚ºãƒ ã€é–¢é€£ã¨ã„ã£ãŸæ¦‚念をç†è§£ã—ã¾ã™ã€‚
- ‘啶Žš‚Ƭ•¶Žš‚Ì‹æ•Ê
+ 大文å—ã¨å°æ–‡å—ã®åŒºåˆ¥
- ƒNƒGƒŠ‚ÍJava‚̃Nƒ‰ƒX–¼‚ƃvƒƒpƒeƒB–¼‚𜂢‚đ啶ŽšA¬•¶Žš‚ð‹æ•Ê‚µ‚Ü‚¹‚ñB
- ]‚Á‚Ä SeLeCT ‚Í
- sELEct ‚Æ“¯‚¶‚ÅA‚©‚Â
- SELECT ‚Æ‚à“¯‚¶‚Å‚·‚ª
- net.sf.hibernate.eg.FOO ‚Í
- net.sf.hibernate.eg.Foo ‚Ƃ͈ႢA‚©‚Â
- foo.barSet ‚Í
- foo.BARSET ‚Æ‚àˆá‚¢‚Ü‚·B
+ クエリã¯Javaã®ã‚¯ãƒ©ã‚¹åã¨ãƒ—ãƒãƒ‘ティåを除ã„ã¦å¤§æ–‡å—ã€å°æ–‡å—を区別ã—ã¾ã›ã‚“。
+ 従ã£ã¦ SeLeCT ã¯
+ sELEct ã¨åŒã˜ã§ã€ã‹ã¤
+ SELECT ã¨ã‚‚åŒã˜ã§ã™ãŒ
+ net.sf.hibernate.eg.FOO ã¯
+ net.sf.hibernate.eg.Foo ã¨ã¯é•ã„ã€ã‹ã¤
+ foo.barSet ã¯
+ foo.BARSET ã¨ã‚‚é•ã„ã¾ã™ã€‚
- ‚±‚̃}ƒjƒ…ƒAƒ‹‚łͬ•¶Žš‚ÌHQLƒL[ƒ[ƒh‚ðŽg—p‚µ‚Ü‚·B
- ‘啶Žš‚̃L[ƒ[ƒh‚̃NƒGƒŠ‚Ì•û‚ª“Ç‚Ý‚â‚·‚¢‚ÆŠ´‚¶‚郆[ƒU[‚à‚¢‚é‚ÆŽv‚¢‚Ü‚·B
- ‚Å‚·‚ªAJavaƒR[ƒh“à‚É–„‚ßž‚܂ꂽ‚Æ‚«‚É‚ÍŒ©‚Â炢‚ÆŽv‚¢‚Ü‚·B
+ ã“ã®ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã§ã¯å°æ–‡å—ã®HQLã‚ーワードを使用ã—ã¾ã™ã€‚
+ 大文å—ã®ã‚ーワードã®ã‚¯ã‚¨ãƒªã®æ–¹ãŒèªã¿ã‚„ã™ã„ã¨æ„Ÿã˜ã‚‹ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚‚ã„ã‚‹ã¨æ€ã„ã¾ã™ã€‚
+ ã§ã™ãŒã€Javaコード内ã«åŸ‹ã‚è¾¼ã¾ã‚ŒãŸã¨ãã«ã¯è¦‹ã¥ã‚‰ã„ã¨æ€ã„ã¾ã™ã€‚
- fromß
+ from節
- ‚à‚Á‚Æ‚à’Pƒ‚ÈHibernateƒNƒGƒŠ‚ÍŽŸ‚ÌŒ`Ž®‚Å‚·B
+ ã‚‚ã£ã¨ã‚‚å˜ç´”ãªHibernateクエリã¯æ¬¡ã®å½¢å¼ã§ã™ã€‚
- ‚±‚ê‚Í’Pƒ‚É@eg.Cat@ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‚·‚×‚Ä•Ô‚µ‚Ü‚·B
- •K‚¸‚µ‚àƒNƒ‰ƒX–¼‚ðCü‚·‚éiƒNƒ‰ƒX‚ɃpƒbƒP[ƒW–¼‚ð•t‚¯‚éj•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚Æ‚¢‚¤‚Ì‚àAauto-import ‚ªƒfƒtƒHƒ‹ƒg‚É‚È‚Á‚Ä‚¢‚é‚©‚ç‚Å‚·B
- ‚»‚Ì‚½‚ß‚Ù‚Æ‚ñ‚Ç‚Ìê‡A‚±‚̂悤‚É‘‚‚¾‚¯‚Å\•ª‚Å‚·B
+ ã“ã‚Œã¯å˜ç´”ã«ã€€eg.Cat クラスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ã™ã¹ã¦è¿”ã—ã¾ã™ã€‚
+ å¿…ãšã—もクラスåを修飾ã™ã‚‹ï¼ˆã‚¯ãƒ©ã‚¹ã«ãƒ‘ッケージåを付ã‘る)必è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ã¨ã„ã†ã®ã‚‚ã€auto-import ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã«ãªã£ã¦ã„ã‚‹ã‹ã‚‰ã§ã™ã€‚
+ ãã®ãŸã‚ã»ã¨ã‚“ã©ã®å ´åˆã€ã“ã®ã‚ˆã†ã«æ›¸ãã ã‘ã§å分ã§ã™ã€‚
- ‚Ù‚Æ‚ñ‚Ç‚ÌꇃNƒGƒŠ‚Ì‚Ù‚©‚Ì•”•ª‚Å@Cat@‚ðŽQÆ‚·‚é‚Ì‚ÅA•Ê–¼‚ðŠ„‚è“–‚Ä‚é•K—v‚ª‚ ‚é‚Å‚µ‚傤B
+ ã»ã¨ã‚“ã©ã®å ´åˆã‚¯ã‚¨ãƒªã®ã»ã‹ã®éƒ¨åˆ†ã§ã€€Cat をå‚ç…§ã™ã‚‹ã®ã§ã€åˆ¥åを割り当ã¦ã‚‹å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚
- ‚±‚̃NƒGƒŠ‚Å‚Í Cat ƒCƒ“ƒXƒ^ƒ“ƒX‚É cat
- ‚Æ‚¢‚¤•Ê–¼‚ð•t‚¯‚Ä‚¢‚Ü‚·B
- ‚»‚Ì‚½‚ßAŒã‚Å‚±‚̃NƒGƒŠ“à‚ÅA‚±‚Ì•Ê–¼‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- as ƒL[ƒ[ƒh‚̓IƒvƒVƒ‡ƒ“‚Å‚·B‚‚܂肱‚̂悤‚É‘‚‚±‚Æ‚à‚Å‚«‚Ü‚·F
+ ã“ã®ã‚¯ã‚¨ãƒªã§ã¯ Cat インスタンス㫠cat
+ ã¨ã„ã†åˆ¥åを付ã‘ã¦ã„ã¾ã™ã€‚
+ ãã®ãŸã‚ã€å¾Œã§ã“ã®ã‚¯ã‚¨ãƒªå†…ã§ã€ã“ã®åˆ¥åを使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ as ã‚ーワードã¯ã‚ªãƒ—ションã§ã™ã€‚ã¤ã¾ã‚Šã“ã®ã‚ˆã†ã«æ›¸ãã“ã¨ã‚‚ã§ãã¾ã™ï¼š
- ’¼ÏA‚ ‚é‚¢‚̓NƒƒXŒ‹‡‚É‚æ‚Á‚Ä‘½”‚̃Nƒ‰ƒX‚ªoŒ»‚·‚邱‚Æ‚à‚ ‚è‚Ü‚·B
+ ç›´ç©ã€ã‚ã‚‹ã„ã¯ã‚¯ãƒã‚¹çµåˆã«ã‚ˆã£ã¦å¤šæ•°ã®ã‚¯ãƒ©ã‚¹ãŒå‡ºç¾ã™ã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚
- ƒ[ƒJƒ‹•Ï”‚ÌJava‚̃l[ƒ~ƒ“ƒOŠî€‚ƈê’v‚µ‚½A
- “ª•¶Žš‚ɬ•¶Žš‚ðŽg‚Á‚½ƒNƒGƒŠ‚Ì•Ê–¼‚ð•t‚¯‚邱‚Æ‚Í‚¢‚¢KŠµ‚Å‚·(—Ⴆ‚Î domesticCat )B
+ ãƒãƒ¼ã‚«ãƒ«å¤‰æ•°ã®Javaã®ãƒãƒ¼ãƒŸãƒ³ã‚°åŸºæº–ã¨ä¸€è‡´ã—ãŸã€
+ é æ–‡å—ã«å°æ–‡å—を使ã£ãŸã‚¯ã‚¨ãƒªã®åˆ¥åを付ã‘ã‚‹ã“ã¨ã¯ã„ã„ç¿’æ…£ã§ã™(例ãˆã° domesticCat )。
- ŠÖ˜A‚ÆŒ‹‡
+ 関連ã¨çµåˆ
- ŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚ ‚é‚¢‚Í’lƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚É‚àAŒ‹‡ ‚ðŽg‚Á‚Ä•Ê–¼‚ðŠ„‚è“–‚Ă邱‚Æ‚ªo—ˆ‚Ü‚·B
+ 関連ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚ã‚‹ã„ã¯å€¤ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ ã«ã‚‚ã€çµåˆ を使ã£ã¦åˆ¥åを割り当ã¦ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
- ƒTƒ|[ƒg‚µ‚Ä‚¢‚錋‡‚̃^ƒCƒv‚ÍANSI SQL‚Æ“¯‚¶‚Å‚·B
+ サãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹çµåˆã®ã‚¿ã‚¤ãƒ—ã¯ANSI SQLã¨åŒã˜ã§ã™ã€‚
@@ -114,13 +116,13 @@
- full join (‚½‚¢‚Ä‚¢‚Ìꇎg‚¢‚Â炢)
+ full join (ãŸã„ã¦ã„ã®å ´åˆä½¿ã„ã¥ã‚‰ã„)
- inner joinAleft outer joinAright outer join‚É‚ÍÈ—ªŒ`‚ðŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚·B
+ inner joinã€left outer joinã€right outer joinã«ã¯çœç•¥å½¢ã‚’使ã†ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- HQL‚Ì with ƒL[ƒ[ƒh‚ðŽg‚¤‚ÆAŒ‹‡ðŒ‚ð•t‚¯‰Á‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ HQLã® with ã‚ーワードを使ã†ã¨ã€çµåˆæ¡ä»¶ã‚’付ã‘åŠ ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
10.0]]>
- ‰Á‚¦‚ÄAuƒtƒFƒbƒ`vŒ‹‡‚ÍŠÖ˜A‚â’l‚̃RƒŒƒNƒVƒ‡ƒ“‚ðeƒIƒuƒWƒFƒNƒg‚ƈê‚É1“x‚Ìselect‹å‚ʼnŠú‰»‚µ‚Ü‚·B
- ‚±‚ê‚Í“Á‚ɃRƒŒƒNƒVƒ‡ƒ“‚ÌꇂɗL—p‚Å‚·B‚±‚ê‚ÍŽÀŽ¿ãAŠÖ˜A‚ƃRƒŒƒNƒVƒ‡ƒ“‚ɑ΂·‚éƒ}ƒbƒsƒ“ƒO’è‹`ƒtƒ@ƒCƒ‹‚ÌŠO•”Œ‹‡‚Ælazy‰Šú‰»‚Ì’è‹`‚ðã‘‚«‚·‚邱‚Æ‚É‚È‚è‚Ü‚·B
+ åŠ ãˆã¦ã€ã€Œãƒ•ã‚§ãƒƒãƒã€çµåˆã¯é–¢é€£ã‚„値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’親オブジェクトã¨ä¸€ç·’ã«1度ã®selectå¥ã§åˆæœŸåŒ–ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ç‰¹ã«ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®å ´åˆã«æœ‰ç”¨ã§ã™ã€‚ã“ã‚Œã¯å®Ÿè³ªä¸Šã€é–¢é€£ã¨ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«å¯¾ã™ã‚‹ãƒžãƒƒãƒ”ング定義ファイルã®å¤–部çµåˆã¨lazyåˆæœŸåŒ–ã®å®šç¾©ã‚’上書ãã™ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
- ‚É‚æ‚葽‚‚Ìî•ñ‚ª‚ ‚è‚Ü‚·B
+ ã«ã‚ˆã‚Šå¤šãã®æƒ…å ±ãŒã‚ã‚Šã¾ã™ã€‚
- Œ‹‡‚É‚æ‚éƒtƒFƒbƒ`‚ÍŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg‚ª where ß(‚Ü‚½‚Í‘¼‚Ì‚Ç‚ñ‚Èß‚Å‚à)
- ‚ÅŽg‚í‚ê‚Ä‚Í‚È‚ç‚È‚¢‚Ì‚ÅA’Êí•Ê–¼‚ðŠ„‚è“–‚Ä‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB‚Ü‚½ŠÖ˜AƒIƒuƒWƒFƒNƒg‚Í–â‚¢‡‚킹Œ‹‰Ê‚Æ‚µ‚Ä
- ’¼Ú•Ô‚³‚ê‚Ü‚¹‚ñB‘ã‚í‚è‚ÉeƒIƒuƒWƒFƒNƒg‚ð’Ê‚µ‚ăAƒNƒZƒX‚Å‚«‚Ü‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“‚ðÄ‹A“I‚ÉŒ‹‡ƒtƒFƒbƒ`‚·‚éꇂ̂ÝA•Ê–¼‚ª•K—v‚É‚È‚è‚Ü‚·B
+ çµåˆã«ã‚ˆã‚‹ãƒ•ã‚§ãƒƒãƒã¯é–¢é€£ã™ã‚‹ã‚ªãƒ–ジェクト㌠where 節(ã¾ãŸã¯ä»–ã®ã©ã‚“ãªç¯€ã§ã‚‚)
+ ã§ä½¿ã‚ã‚Œã¦ã¯ãªã‚‰ãªã„ã®ã§ã€é€šå¸¸åˆ¥åを割り当ã¦ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã›ã‚“。ã¾ãŸé–¢é€£ã‚ªãƒ–ジェクトã¯å•ã„åˆã‚ã›çµæžœã¨ã—ã¦
+ 直接返ã•ã‚Œã¾ã›ã‚“。代ã‚ã‚Šã«è¦ªã‚ªãƒ–ジェクトを通ã—ã¦ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚
+ コレクションをå†å¸°çš„ã«çµåˆãƒ•ã‚§ãƒƒãƒã™ã‚‹å ´åˆã®ã¿ã€åˆ¥åãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚
- fetch \•¶‚Í iterate()
- ‚ðŽg‚Á‚½ƒNƒGƒŠŒÄ‚Ño‚µ‚ÅŽg—p‚Å‚«‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢
- iˆê•û‚Å scroll() ‚ÍŽg—p‚Å‚«‚Ü‚·jB
+ fetch 構文㯠iterate()
+ を使ã£ãŸã‚¯ã‚¨ãƒªå‘¼ã³å‡ºã—ã§ä½¿ç”¨ã§ããªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„
+ (一方㧠scroll() ã¯ä½¿ç”¨ã§ãã¾ã™ï¼‰ã€‚
- ‚Ü‚½A‚±‚ê‚ç‚Ì‘€ì‚ÍŒ‹‰Ê‚Ìs‚ÉŠî‚¢‚Ä‚¢‚邽‚ßA
- fetch ‚Í setMaxResults() ‚â setFirstResult()
- ‚ƈê‚ÉŽg—p‚·‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ’Êíeager‚ȃRƒŒƒNƒVƒ‡ƒ“ƒtƒFƒbƒ`‚ð‚·‚é‚Æd•¡‚ªo‚Ä‚µ‚Ü‚¤‚½‚ßA‚ ‚È‚½‚ªŠú‘Ò‚·‚é‚悤‚Ès”‚É‚Í‚È‚ç‚È‚¢‚Ì‚Å‚·B
+ ã¾ãŸã€ã“れらã®æ“作ã¯çµæžœã®è¡Œã«åŸºã¥ã„ã¦ã„ã‚‹ãŸã‚ã€
+ fetch 㯠setMaxResults() や setFirstResult()
+ ã¨ä¸€ç·’ã«ä½¿ç”¨ã™ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 通常eagerãªã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒ•ã‚§ãƒƒãƒã‚’ã™ã‚‹ã¨é‡è¤‡ãŒå‡ºã¦ã—ã¾ã†ãŸã‚ã€ã‚ãªãŸãŒæœŸå¾…ã™ã‚‹ã‚ˆã†ãªè¡Œæ•°ã«ã¯ãªã‚‰ãªã„ã®ã§ã™ã€‚
- ‚»‚µ‚Ä‚Ü‚½ fetch ‚ÍAƒAƒhƒzƒbƒN‚È with ðŒ‚ð
- ˆê‚ÉŽg‚¤‚±‚Æ‚à‚Å‚«‚Ü‚¹‚ñB
- ˆê‚‚̃NƒGƒŠ‚Å•¡”‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŒ‹‡ƒtƒFƒbƒ`‚·‚邱‚Æ‚É‚æ‚蒼ςð쬂ł«‚é‚Ì‚ÅA‚±‚ÌꇒˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚Ü‚½A•¡”‚̃RƒŒƒNƒVƒ‡ƒ“‚ɑ΂·‚錋‡ƒtƒFƒbƒ`‚Íbagƒ}ƒbƒsƒ“ƒO‚ɑ΂µ‚Ä—\Šú‚¹‚ÊŒ‹‰Ê‚ð‚à‚½‚ç‚·‚±‚Æ‚ª‚ ‚é‚Ì‚ÅA
- ‚±‚Ìꇂ̃NƒGƒŠ‚Ì쬂ɂ͒ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ÅŒã‚É ‘SŠO•”Œ‹‡‚É‚æ‚éƒtƒFƒbƒ` ‚Æ
- ‰EŠO•”Œ‹‡‚É‚æ‚éƒtƒFƒbƒ` ‚Í—L—p‚Å‚Í‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ ãã—ã¦ã¾ãŸ fetch ã¯ã€ã‚¢ãƒ‰ãƒ›ãƒƒã‚¯ãª with æ¡ä»¶ã‚’
+ 一緒ã«ä½¿ã†ã“ã¨ã‚‚ã§ãã¾ã›ã‚“。
+ 一ã¤ã®ã‚¯ã‚¨ãƒªã§è¤‡æ•°ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’çµåˆãƒ•ã‚§ãƒƒãƒã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šç›´ç©ã‚’作æˆã§ãã‚‹ã®ã§ã€ã“ã®å ´åˆæ³¨æ„ã—ã¦ãã ã•ã„。
+ ã¾ãŸã€è¤‡æ•°ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«å¯¾ã™ã‚‹çµåˆãƒ•ã‚§ãƒƒãƒã¯bagマッピングã«å¯¾ã—ã¦äºˆæœŸã›ã¬çµæžœã‚’ã‚‚ãŸã‚‰ã™ã“ã¨ãŒã‚ã‚‹ã®ã§ã€
+ ã“ã®å ´åˆã®ã‚¯ã‚¨ãƒªã®ä½œæˆã«ã¯æ³¨æ„ã—ã¦ãã ã•ã„。
+ 最後㫠全外部çµåˆã«ã‚ˆã‚‹ãƒ•ã‚§ãƒƒãƒ ã¨
+ å³å¤–部çµåˆã«ã‚ˆã‚‹ãƒ•ã‚§ãƒƒãƒ ã¯æœ‰ç”¨ã§ã¯ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ‚à‚µƒvƒƒpƒeƒBƒŒƒxƒ‹‚Ì’x‰„ƒtƒFƒbƒ`‚ðŽg‚¤ê‡i“à•”“I‚ɃoƒCƒgƒR[ƒhˆ—‚ð‚·‚éê‡jA
- fetch all properties ‚ðŽg‚¤‚±‚Æ‚Å
- Hibernate‚É’x‰„ƒvƒƒpƒeƒB‚𑬂₩‚Éiʼn‚̃NƒGƒŠ‚ÅjƒtƒFƒbƒ`‚³‚¹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ ã‚‚ã—プãƒãƒ‘ティレベルã®é…延フェッãƒã‚’使ã†å ´åˆï¼ˆå†…部的ã«ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰å‡¦ç†ã‚’ã™ã‚‹å ´åˆï¼‰ã€
+ fetch all properties を使ã†ã“ã¨ã§
+ Hibernateã«é…延プãƒãƒ‘ティを速やã‹ã«ï¼ˆæœ€åˆã®ã‚¯ã‚¨ãƒªã§ï¼‰ãƒ•ã‚§ãƒƒãƒã•ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
@@ -189,32 +191,32 @@
- Œ‹‡\•¶‚ÌŒ`Ž®
+ çµåˆæ§‹æ–‡ã®å½¢å¼
- HQL‚Í‚Q‚‚̊֘AŒ‹‡Œ`Ž®‚ðƒTƒ|[ƒg‚µ‚Ü‚·FˆÃ–Ù“I ‚Æ –¾Ž¦“IB
+ HQLã¯ï¼’ã¤ã®é–¢é€£çµåˆå½¢å¼ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™ï¼šæš—黙的 㨠明示的。
- ‚±‚ê‚܂ł̃ZƒNƒVƒ‡ƒ“‚Å‚¨Œ©‚¹‚µ‚½Žg‚¢•û‚Í‚·‚×‚Ä –¾Ž¦“I‚È Œ`Ž®‚ÅA
- fromß‚Å–¾Ž¦“I‚ÉjoinƒL[ƒ[ƒh‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
- ‚±‚ÌŒ`Ž®‚ð‚¨‚·‚·‚ß‚µ‚Ü‚·B
+ ã“ã‚Œã¾ã§ã®ã‚»ã‚¯ã‚·ãƒ§ãƒ³ã§ãŠè¦‹ã›ã—ãŸä½¿ã„æ–¹ã¯ã™ã¹ã¦ 明示的㪠形å¼ã§ã€
+ from節ã§æ˜Žç¤ºçš„ã«joinã‚ーワードを使ã£ã¦ã„ã¾ã™ã€‚
+ ã“ã®å½¢å¼ã‚’ãŠã™ã™ã‚ã—ã¾ã™ã€‚
- ˆÃ–Ù“I ƒtƒH[ƒ€‚ÍAjoinƒL[ƒ[ƒh‚ðŽg‚¢‚Ü‚¹‚ñB‘ã‚í‚è‚ÉAŽQÆ‚·‚éŠÖ˜A‚É
- ƒhƒbƒg•\‹L‚ðŽg‚¢‚Ü‚·BˆÃ–Ù“I Œ‹‡‚ÍA‚³‚Ü‚´‚Ü‚ÈHQL‚Éo‚Ä‚«‚Ü‚·B
- ˆÃ–Ù“I Œ‹‡‚ÌŒ‹‰Ê‚ÍASQLƒXƒe[ƒgƒƒ“ƒg‚Ì“à•”Œ‹‡Œ‹‰Ê‚Å‚·B
+ 暗黙的 フォームã¯ã€joinã‚ーワードを使ã„ã¾ã›ã‚“。代ã‚ã‚Šã«ã€å‚ç…§ã™ã‚‹é–¢é€£ã«
+ ドット表記を使ã„ã¾ã™ã€‚暗黙的 çµåˆã¯ã€ã•ã¾ã–ã¾ãªHQLã«å‡ºã¦ãã¾ã™ã€‚
+ 暗黙的 çµåˆã®çµæžœã¯ã€SQLステートメントã®å†…部çµåˆçµæžœã§ã™ã€‚
- Selectß
+ Select節
- select ߂͈ȉº‚̂悤‚ɂǂ̃IƒuƒWƒFƒNƒg‚Æ‘®«‚ðƒNƒGƒŠƒŠƒUƒ‹ƒgƒZƒbƒg‚É•Ô‚·‚©‚ð‘I‘ð‚µ‚Ü‚·B:
+ select 節ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã©ã®ã‚ªãƒ–ジェクトã¨å±žæ€§ã‚’クエリリザルトセットã«è¿”ã™ã‹ã‚’é¸æŠžã—ã¾ã™ã€‚:
- ã‹L‚̃NƒGƒŠ‚Í‘¼‚Ì Cat ‚Ì mate ‚ð‘I‘ð‚µ‚Ü‚·B
- ŽÀÛ‚É‚ÍŽŸ‚̂悤‚ÉA‚æ‚èŠÈŒ‰‚É•\Œ»‚Å‚«‚Ü‚·B:
+ 上記ã®ã‚¯ã‚¨ãƒªã¯ä»–ã® Cat ã® mate ã‚’é¸æŠžã—ã¾ã™ã€‚
+ 実際ã«ã¯æ¬¡ã®ã‚ˆã†ã«ã€ã‚ˆã‚Šç°¡æ½”ã«è¡¨ç¾ã§ãã¾ã™ã€‚:
- ƒNƒGƒŠ‚̓Rƒ“ƒ|[ƒlƒ“ƒgŒ^‚̃vƒƒpƒeƒB‚ðŠÜ‚ÞA‚ ‚ç‚ä‚é’lŒ^‚̃vƒƒpƒeƒB‚à•Ô‚¹‚Ü‚·B:
+ クエリã¯ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆåž‹ã®ãƒ—ãƒãƒ‘ティをå«ã‚€ã€ã‚らゆる値型ã®ãƒ—ãƒãƒ‘ティも返ã›ã¾ã™ã€‚:
- ƒNƒGƒŠ‚Í•¡”‚̃IƒuƒWƒFƒNƒg‚Æ(‚Ü‚½‚Í)ƒvƒƒpƒeƒB‚ð Object[] Œ^‚Ì”z—ñ‚Æ‚µ‚Ä•Ô‚¹‚Ü‚·B
+ クエリã¯è¤‡æ•°ã®ã‚ªãƒ–ジェクトã¨(ã¾ãŸã¯)プãƒãƒ‘ティを Object[] åž‹ã®é…列ã¨ã—ã¦è¿”ã›ã¾ã™ã€‚
- ‚à‚µ‚‚Í List ‚Æ‚µ‚ÄA
+ ã‚‚ã—ã㯠List ã¨ã—ã¦ã€
- ‚Ü‚½‚ÍAƒ^ƒCƒvƒZ[ƒt‚ÈJavaƒIƒuƒWƒFƒNƒg‚ð•Ô‚¹‚Ü‚·B
+ ã¾ãŸã¯ã€ã‚¿ã‚¤ãƒ—セーフãªJavaオブジェクトを返ã›ã¾ã™ã€‚
- ‚ ‚é‚¢‚Í Family ƒNƒ‰ƒX‚ª“K؂ȃRƒ“ƒXƒgƒ‰ƒNƒ^‚ðŽ‚Á‚Ä‚¢‚é‚Æ‚·‚é‚È‚ç‚ÎA
+ ã‚ã‚‹ã„㯠Family クラスãŒé©åˆ‡ãªã‚³ãƒ³ã‚¹ãƒˆãƒ©ã‚¯ã‚¿ã‚’æŒã£ã¦ã„ã‚‹ã¨ã™ã‚‹ãªã‚‰ã°ã€
- selectß‚É as ‚ðŽg‚Á‚Ä•Ê–¼‚ð‚‚¯‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ select節㫠as を使ã£ã¦åˆ¥åã‚’ã¤ã‘ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- select new map ‚ƈê‚ÉŽg‚¤‚Æ‚«‚ÉÅ‚à–𗧂¿‚Ü‚·F
+ select new map ã¨ä¸€ç·’ã«ä½¿ã†ã¨ãã«æœ€ã‚‚役立ã¡ã¾ã™ï¼š
- ‚±‚̃NƒGƒŠ‚Í•Ê–¼‚©‚çselect‚µ‚½’l‚Ö Map ‚ð•Ô‚µ‚Ü‚·B
+ ã“ã®ã‚¯ã‚¨ãƒªã¯åˆ¥åã‹ã‚‰selectã—ãŸå€¤ã¸ Map ã‚’è¿”ã—ã¾ã™ã€‚
- W–ñŠÖ”
+ 集約関数
- HQL‚̃NƒGƒŠ‚̓vƒƒpƒeƒB‚ÌW–ñŠÖ”‚ÌŒ‹‰Ê‚à•Ô‚¹‚Ü‚·F
+ HQLã®ã‚¯ã‚¨ãƒªã¯ãƒ—ãƒãƒ‘ティã®é›†ç´„関数ã®çµæžœã‚‚è¿”ã›ã¾ã™ï¼š
-->
- ƒTƒ|[ƒg‚µ‚Ä‚¢‚éW–ñŠÖ”‚͈ȉº‚Ì‚à‚Ì‚Å‚·B
+ サãƒãƒ¼ãƒˆã—ã¦ã„る集約関数ã¯ä»¥ä¸‹ã®ã‚‚ã®ã§ã™ã€‚
@@ -331,7 +333,7 @@ from Cat cat group by cat]]>
- selectß‚É‚¨‚¢‚ÄŽZp‘€ìA˜AŒ‹‚Ƴ”F‚³‚ꂽSQLŠÖ”‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ select節ã«ãŠã„ã¦ç®—è¡“æ“作ã€é€£çµã¨æ‰¿èªã•ã‚ŒãŸSQL関数を使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
- SQL‚Æ“¯‚¶ˆÓ–¡‚ðŽ‚ distinct ‚Æ all ƒL[ƒ[ƒh‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ SQLã¨åŒã˜æ„味をæŒã¤ distinct 㨠all ã‚ーワードを使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
- ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȃNƒGƒŠ
+ ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªã‚¯ã‚¨ãƒª
- ŽŸ‚̂悤‚ȃNƒGƒŠF
+ 次ã®ã‚ˆã†ãªã‚¯ã‚¨ãƒªï¼š
- Cat ƒCƒ“ƒXƒ^ƒ“ƒX‚¾‚¯‚Å‚Í‚È‚ADomesticCat
- ‚̂悤‚ȃTƒuƒNƒ‰ƒX‚à•Ô‚³‚ê‚Ü‚·BHibernateƒNƒGƒŠ‚Í ‚Ç‚ñ‚È
- JavaƒNƒ‰ƒX‚âƒCƒ“ƒ^[ƒtƒFƒCƒX‚à from ß‚É“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ƒNƒGƒŠ‚Í‚»‚̃Nƒ‰ƒX‚ðŠg’£‚µ‚½A‚à‚µ‚‚̓Cƒ“ƒ^[ƒtƒFƒCƒX‚ðŽÀ‘•‚µ‚½‘S‚Ẳi‘±ƒNƒ‰ƒX‚ð•Ô‚µ‚Ü‚·B
- ŽŸ‚̃NƒGƒŠ‚͉i‘±ƒIƒuƒWƒFƒNƒg‚ð‚·‚×‚Ä•Ô‚µ‚Ü‚·:
+ Cat インスタンスã ã‘ã§ã¯ãªãã€DomesticCat
+ ã®ã‚ˆã†ãªã‚µãƒ–クラスも返ã•ã‚Œã¾ã™ã€‚Hibernateクエリ㯠ã©ã‚“ãª
+ Javaクラスやインターフェイスも from 節ã«å…¥ã‚Œã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ クエリã¯ãã®ã‚¯ãƒ©ã‚¹ã‚’æ‹¡å¼µã—ãŸã€ã‚‚ã—ãã¯ã‚¤ãƒ³ã‚¿ãƒ¼ãƒ•ã‚§ã‚¤ã‚¹ã‚’実装ã—ãŸå…¨ã¦ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚
+ 次ã®ã‚¯ã‚¨ãƒªã¯æ°¸ç¶šã‚ªãƒ–ジェクトをã™ã¹ã¦è¿”ã—ã¾ã™:
- Named ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Í—lX‚ȉi‘±ƒNƒ‰ƒX‚É‚æ‚Á‚ÄŽÀ‘•‚³‚ê‚Ü‚·B:
+ Named インターフェイスã¯æ§˜ã€…ãªæ°¸ç¶šã‚¯ãƒ©ã‚¹ã«ã‚ˆã£ã¦å®Ÿè£…ã•ã‚Œã¾ã™ã€‚:
- ÅŒã‚Ì“ñ‚‚̃NƒGƒŠ‚ÍA“ñ‚ˆÈã‚ÌSQL SELECT ‚ð—v‹‚µ‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚Ì‚±‚Æ‚Í order by ß‚ªƒŠƒUƒ‹ƒgƒZƒbƒg‘S‘Ì‚ð³Šm‚É‚Í®—ñ‚µ‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·
- (‚³‚ç‚É‚»‚ê‚ÍAQuery.scroll() ‚ðŽg—p‚µ‚Ä‚±‚ê‚ç‚̃NƒGƒŠ‚ðŒÄ‚Ô‚±‚Æ‚ª‚Å‚«‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B)B
+ 最後ã®äºŒã¤ã®ã‚¯ã‚¨ãƒªã¯ã€äºŒã¤ä»¥ä¸Šã®SQL SELECT ã‚’è¦æ±‚ã—ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“ã®ã“ã¨ã¯ order by 節ãŒãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆå…¨ä½“ã‚’æ£ç¢ºã«ã¯æ•´åˆ—ã—ãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™
+ (ã•ã‚‰ã«ãã‚Œã¯ã€Query.scroll() を使用ã—ã¦ã“れらã®ã‚¯ã‚¨ãƒªã‚’呼ã¶ã“ã¨ãŒã§ããªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚)。
- whereß
+ where節
- where ß‚Í•Ô‚³‚ê‚éƒCƒ“ƒXƒ^ƒ“ƒX‚̃ŠƒXƒg‚ði‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚à‚µ•Ê–¼‚ª‚È‚¢ê‡A–¼‘O‚ŃvƒƒpƒeƒB‚ðŽQÆ‚µ‚Ü‚·B
+ where 節ã¯è¿”ã•ã‚Œã‚‹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ãƒªã‚¹ãƒˆã‚’絞るã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã‚‚ã—別åãŒãªã„å ´åˆã€åå‰ã§ãƒ—ãƒãƒ‘ティをå‚ç…§ã—ã¾ã™ã€‚
- ‚à‚µ•Ê–¼‚ª‚ ‚éê‡ACü–¼‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
+ ã‚‚ã—別åãŒã‚ã‚‹å ´åˆã€ä¿®é£¾åを使ã£ã¦ãã ã•ã„。
- –¼‘O‚ª'Fritz'‚Æ‚¢‚¤ Cat ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚µ‚Ü‚·B
+ åå‰ãŒ'Fritz'ã¨ã„ㆠCat ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’è¿”ã—ã¾ã™ã€‚
- ã‚ÌHQL‚ÍAFoo ‚Ì startDate ƒvƒƒpƒeƒB‚Æ“™‚µ‚¢
- date ƒvƒƒpƒeƒB‚ðŽ‚Á‚½ bar ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‘¶Ý‚·‚éA
- ‚·‚×‚Ä‚Ì Foo ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚µ‚Ü‚·B
- ƒRƒ“ƒpƒEƒ“ƒhƒpƒXŽ®i—Ⴆ‚Îucat.mate.namevj‚Í where ß‚ð”ñí‚É‹—Í‚É‚µ‚Ü‚·B’–ÚF
+ 上ã®HQLã¯ã€Foo ã® startDate プãƒãƒ‘ティã¨ç‰ã—ã„
+ date プãƒãƒ‘ティをæŒã£ãŸ bar インスタンスãŒå˜åœ¨ã™ã‚‹ã€
+ ã™ã¹ã¦ã® Foo インスタンスを返ã—ã¾ã™ã€‚
+ コンパウンドパスå¼ï¼ˆä¾‹ãˆã°ã€Œcat.mate.nameã€ï¼‰ã¯ where 節をéžå¸¸ã«å¼·åŠ›ã«ã—ã¾ã™ã€‚注目:
- ‚±‚̃NƒGƒŠ‚̓e[ƒuƒ‹Œ‹‡i“à•”Œ‹‡j‚ðŽ‚ÂSQLƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
- ‚»‚Ì‘ã‚í‚è‚Ɉȉº‚̂悤‚É‘‚‚ÆA
+ ã“ã®ã‚¯ã‚¨ãƒªã¯ãƒ†ãƒ¼ãƒ–ルçµåˆï¼ˆå†…部çµåˆï¼‰ã‚’æŒã¤SQLクエリã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚
+ ãã®ä»£ã‚ã‚Šã«ä»¥ä¸‹ã®ã‚ˆã†ã«æ›¸ãã¨ã€
- ‚à‚µã‚̃NƒGƒŠ‚ð‹Lq‚µ‚½‚çƒNƒGƒŠ“à‚É4‚‚̃e[ƒuƒ‹Œ‹‡‚ð•K—v‚Æ‚·‚éSQLƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
+ ã‚‚ã—上ã®ã‚¯ã‚¨ãƒªã‚’記述ã—ãŸã‚‰ã‚¯ã‚¨ãƒªå†…ã«4ã¤ã®ãƒ†ãƒ¼ãƒ–ルçµåˆã‚’å¿…è¦ã¨ã™ã‚‹SQLクエリã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚
- = ‰‰ŽZŽq‚͈ȉº‚̂悤‚ÉAƒvƒƒpƒeƒB‚¾‚¯‚Å‚È‚ƒCƒ“ƒXƒ^ƒ“ƒX‚ð”äŠr‚·‚邽‚ß‚É‚àŽg‚í‚ê‚Ü‚·BF
+ = 演算åã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã€ãƒ—ãƒãƒ‘ティã ã‘ã§ãªãインスタンスを比較ã™ã‚‹ãŸã‚ã«ã‚‚使ã‚ã‚Œã¾ã™ã€‚:
@@ -440,8 +442,8 @@ from Cat cat, Cat mate
where cat.mate = mate]]>
- id (¬•¶Žš)‚Í“Á•Ê‚ȃvƒƒpƒeƒB‚Å‚ ‚èA
- ƒIƒuƒWƒFƒNƒg‚̃†ƒj[ƒN‚ÈŽ¯•ÊŽq‚ðŽQÆ‚·‚邽‚ß‚ÉŽg—p‚Å‚«‚Ü‚·B(‚³‚ç‚ÉA‚»‚̃vƒƒpƒeƒB–¼‚ðŽg—p‚Å‚«‚Ü‚·B)
+ id (å°æ–‡å—)ã¯ç‰¹åˆ¥ãªãƒ—ãƒãƒ‘ティã§ã‚ã‚Šã€
+ オブジェクトã®ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªè˜åˆ¥åã‚’å‚ç…§ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãã¾ã™ã€‚(ã•ã‚‰ã«ã€ãã®ãƒ—ãƒãƒ‘ティåを使用ã§ãã¾ã™ã€‚)
from Cat as cat where cat.mate.id = 69]]>
- 2”Ԗڂ̃NƒGƒŠ‚ÍŒø—¦“I‚Å‚·Bƒe[ƒuƒ‹Œ‹‡‚ª•K—v‚ ‚è‚Ü‚¹‚ñI
+ 2番目ã®ã‚¯ã‚¨ãƒªã¯åŠ¹çŽ‡çš„ã§ã™ã€‚テーブルçµåˆãŒå¿…è¦ã‚ã‚Šã¾ã›ã‚“ï¼
- ‚Ü‚½•¡‡Ž¯•ÊŽq‚̃vƒƒpƒeƒB‚àŽg—p‚Å‚«‚Ü‚·B‚±‚±‚Å Person ‚ª
- country ‚Æ medicareNumber ‚©‚ç‚È‚é•¡‡Ž¯•ÊŽq‚ðŽ‚‚Ɖ¼’肵‚Ü‚·B
+ ã¾ãŸè¤‡åˆè˜åˆ¥åã®ãƒ—ãƒãƒ‘ティも使用ã§ãã¾ã™ã€‚ã“ã“㧠Person ãŒ
+ country 㨠medicareNumber ã‹ã‚‰ãªã‚‹è¤‡åˆè˜åˆ¥åã‚’æŒã¤ã¨ä»®å®šã—ã¾ã™ã€‚
- ‚à‚¤ˆê“xŒ¾‚¢‚Ü‚·‚ªA2”Ԗڂ̃NƒGƒŠ‚ɂ̓e[ƒuƒ‹Œ‹‡‚ª•K—v‚ ‚è‚Ü‚¹‚ñB
+ ã‚‚ã†ä¸€åº¦è¨€ã„ã¾ã™ãŒã€2番目ã®ã‚¯ã‚¨ãƒªã«ã¯ãƒ†ãƒ¼ãƒ–ルçµåˆãŒå¿…è¦ã‚ã‚Šã¾ã›ã‚“。
- “¯—l‚É class ‚Í“Á•Ê‚ȃvƒƒpƒeƒB‚Å‚ ‚èA
- ƒ|ƒŠƒ‚[ƒtƒBƒbƒN‚ȉi‘±‰»‚É‚¨‚¯‚éƒCƒ“ƒXƒ^ƒ“ƒX‚Ìdiscriminator’l‚ɃAƒNƒZƒX‚µ‚Ü‚·B
- whereß‚É–„‚ßž‚܂ꂽJava‚̃Nƒ‰ƒX–¼‚Í‚»‚Ìdiscriminator’l‚É•ÏŠ·‚³‚ê‚Ü‚·B
+ åŒæ§˜ã« class ã¯ç‰¹åˆ¥ãªãƒ—ãƒãƒ‘ティã§ã‚ã‚Šã€
+ ãƒãƒªãƒ¢ãƒ¼ãƒ•ã‚£ãƒƒã‚¯ãªæ°¸ç¶šåŒ–ã«ãŠã‘るインスタンスã®discriminator値ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã™ã€‚
+ where節ã«åŸ‹ã‚è¾¼ã¾ã‚ŒãŸJavaã®ã‚¯ãƒ©ã‚¹åã¯ãã®discriminator値ã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚
- ‚Ü‚½ƒRƒ“ƒ|[ƒlƒ“ƒg‚â•¡‡ƒ†[ƒUŒ^(‚Ü‚½‚»‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚̃Rƒ“ƒ|[ƒlƒ“ƒg‚È‚Ç)‚̃vƒƒpƒeƒB‚àŽw’è‚Å‚«‚Ü‚·B
+ ã¾ãŸã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚„複åˆãƒ¦ãƒ¼ã‚¶åž‹(ã¾ãŸãã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆãªã©)ã®ãƒ—ãƒãƒ‘ティも指定ã§ãã¾ã™ã€‚
- ‚µ‚©‚µŒˆ‚µ‚ÄiƒRƒ“ƒ|[ƒlƒ“ƒg‚̃vƒƒpƒeƒB‚Å‚Í‚È‚jƒRƒ“ƒ|[ƒlƒ“ƒgŒ^‚̃vƒƒpƒeƒB‚ÅI—¹‚·‚éƒpƒXŽ®‚ðŽg‚í‚È‚¢‚Å‚‚¾‚³‚¢B
- —Ⴆ‚Î‚à‚µ store.owner ‚ª address
- ƒRƒ“ƒ|[ƒlƒ“ƒg‚ðŽ‚ƒGƒ“ƒeƒBƒeƒB‚È‚ç‚Έȉº‚̂悤‚ÈŒ‹‰Ê‚Æ‚È‚è‚Ü‚·B
+ ã—ã‹ã—決ã—ã¦ï¼ˆã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã®ãƒ—ãƒãƒ‘ティã§ã¯ãªã)コンãƒãƒ¼ãƒãƒ³ãƒˆåž‹ã®ãƒ—ãƒãƒ‘ティã§çµ‚了ã™ã‚‹ãƒ‘スå¼ã‚’使ã‚ãªã„ã§ãã ã•ã„。
+ 例ãˆã°ã‚‚ã— store.owner ㌠address
+ コンãƒãƒ¼ãƒãƒ³ãƒˆã‚’æŒã¤ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãªã‚‰ã°ä»¥ä¸‹ã®ã‚ˆã†ãªçµæžœã¨ãªã‚Šã¾ã™ã€‚
- "any"Œ^‚Í“Á•Ê‚ȃvƒƒpƒeƒB‚Å‚ ‚é id ‚Æ class ‚ðŽ‚¿A
- ˆÈ‰º‚Ì•û–@‚ÅŒ‹‡‚ð•\Œ»‚·‚邱‚Æ‚ð‰Â”\‚É‚µ‚Ü‚·(AuditLog.item ‚Í
- <any> ‚Ń}ƒbƒsƒ“ƒO‚³‚ꂽƒvƒƒpƒeƒB‚Å‚·)B
+ "any"åž‹ã¯ç‰¹åˆ¥ãªãƒ—ãƒãƒ‘ティã§ã‚ã‚‹ id 㨠class ã‚’æŒã¡ã€
+ 以下ã®æ–¹æ³•ã§çµåˆã‚’表ç¾ã™ã‚‹ã“ã¨ã‚’å¯èƒ½ã«ã—ã¾ã™(AuditLog.item ã¯
+ <any> ã§ãƒžãƒƒãƒ”ングã•ã‚ŒãŸãƒ—ãƒãƒ‘ティã§ã™)。
- log.item.class ‚Æ payment.class ‚ª
- ã‹L‚̃NƒGƒŠ’†‚Å‘S‚ˆÙ‚È‚éƒf[ƒ^ƒx[ƒXƒJƒ‰ƒ€‚Ì’l‚ðŽQÆ‚·‚é‚Æ‚¢‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ log.item.class 㨠payment.class ãŒ
+ 上記ã®ã‚¯ã‚¨ãƒªä¸ã§å…¨ãç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚«ãƒ©ãƒ ã®å€¤ã‚’å‚ç…§ã™ã‚‹ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- Expressions Ž®
+ Expressions å¼
- SQL‚Ì where ß‚Å‹Lq‚·‚邱‚Æ‚ªo—ˆ‚鎮‚Ì‚Ù‚Æ‚ñ‚Ç‚ðHQL‚Å‚à‹Lq‚Å‚«‚Ü‚·B:
+ SQLã® where 節ã§è¨˜è¿°ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã‚‹å¼ã®ã»ã¨ã‚“ã©ã‚’HQLã§ã‚‚記述ã§ãã¾ã™ã€‚:
- ŽZp‰‰ŽZŽqF+, -, *, /
+ 算術演算å:+, -, *, /
- 2€”äŠr‰‰ŽZŽqF=, >=, <=, <>, !=, like
+ 2é …æ¯”è¼ƒæ¼”ç®—å:=, >=, <=, <>, !=, like
- ˜_—‰‰ŽZŽqFand, or, not
+ è«–ç†æ¼”ç®—å:and, or, not
- ƒOƒ‹[ƒv•ª‚¯‚ð•\‚·Š‡ŒÊF( )
+ グループ分ã‘を表ã™æ‹¬å¼§ï¼š( )
@@ -547,13 +549,13 @@ where log.item.class = 'Payment' and log.item.id = payment.id]]>
- "ƒVƒ“ƒvƒ‹"‚Ècase case ... when ... then ... else ... endA
- "’Tõ“I"‚Ècase case when ... then ... else ... end
+ "シンプル"ãªcase case ... when ... then ... else ... endã€
+ "探索的"ãªcase case when ... then ... else ... end
- ƒXƒgƒŠƒ“ƒO‚̘AŒ‹ ...||... ‚Ü‚½‚Í concat(...,...)
+ ストリングã®é€£çµ ...||... ã¾ãŸã¯ concat(...,...)
@@ -571,74 +573,74 @@ where log.item.class = 'Payment' and log.item.id = payment.id]]>
- EJB-QL 3.0‚Å’è‹`‚³‚ê‚Ä‚¢‚éŠÖ”‚≉ŽZŽq: substring(), trim(),
+ EJB-QL 3.0ã§å®šç¾©ã•ã‚Œã¦ã„る関数や演算å: substring(), trim(),
lower(), upper(), length(), locate(), abs(), sqrt(), bit_length()
- coalesce() ‚Æ nullif()
+ coalesce() 㨠nullif()
- ”Žš‚⎞ŠÔ‚Ì’l‚ðString‚ɃRƒ“ƒo[ƒg‚·‚é str()j
+ æ•°å—や時間ã®å€¤ã‚’Stringã«ã‚³ãƒ³ãƒãƒ¼ãƒˆã™ã‚‹ str())
- 2”Ԗڂ̈ø”‚ªHibernateŒ^‚Ì–¼‘O‚Å‚ ‚é cast(... as ...) ‚Æ
- extract(... from ...)B
- ‚½‚¾‚µŽg—p‚·‚éƒf[ƒ^ƒx[ƒX‚ªANSI cast() ‚Æ extract()
- ‚ðƒTƒ|[ƒg‚·‚éꇂɌÀ‚è‚Ü‚·B
+ 2番目ã®å¼•æ•°ãŒHibernateåž‹ã®åå‰ã§ã‚ã‚‹ cast(... as ...) ã¨
+ extract(... from ...)。
+ ãŸã ã—使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒANSI cast() 㨠extract()
+ をサãƒãƒ¼ãƒˆã™ã‚‹å ´åˆã«é™ã‚Šã¾ã™ã€‚
- Œ‹‡‚µ‚½ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì•Ê–¼‚É“K—p‚³‚ê‚éHQL‚Ì
- index() ŠÖ”B
+ çµåˆã—ãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ä»˜ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®åˆ¥åã«é©ç”¨ã•ã‚Œã‚‹HQLã®
+ index() 関数。
- ƒRƒŒƒNƒVƒ‡ƒ“’l‚̃pƒXŽ®‚ðŽæ‚éHQLŠÖ”F size(), minelement(), maxelement(),
- minindex(), maxindex() B
- some, all, exists, any, in ‚ðŽg‚Á‚ÄCü‚·‚邱‚Æ‚ª‚Å‚«‚é“Á•Ê‚È
- elements() ‚Æ indices ŠÖ”‚ƈê‚ÉŽg‚¢‚Ü‚·B
+ コレクション値ã®ãƒ‘スå¼ã‚’å–ã‚‹HQL関数: size(), minelement(), maxelement(),
+ minindex(), maxindex() 。
+ some, all, exists, any, in を使ã£ã¦ä¿®é£¾ã™ã‚‹ã“ã¨ãŒã§ãる特別ãª
+ elements() 㨠indices 関数ã¨ä¸€ç·’ã«ä½¿ã„ã¾ã™ã€‚
sign(), trunc(), rtrim(), sin()
- ‚̂悤‚ȃf[ƒ^ƒx[ƒX‚ªƒTƒ|[ƒg‚·‚éSQLƒXƒJƒ‰ŠÖ”B
+ ã®ã‚ˆã†ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒã‚µãƒãƒ¼ãƒˆã™ã‚‹SQLスカラ関数。
- JDBCƒXƒ^ƒCƒ‹‚̈ʒuƒpƒ‰ƒ[ƒ^ ?
+ JDBCスタイルã®ä½ç½®ãƒ‘ラメータ ?
- –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^: :name, :start_date, :x1
+ åå‰ä»˜ãパラメータ: :name, :start_date, :x1
- SQLƒŠƒeƒ‰ƒ‹F'foo', 69, 6.66E+2,
+ SQLリテラル:'foo', 69, 6.66E+2,
'1970-01-01 10:00:01.0'
- Java‚Ì public static final ’è”Feg.Color.TABBY
+ Java㮠public static final 定数:eg.Color.TABBY
- in ‚Æ between ‚͈ȉº‚̂悤‚ÉŽg—p‚Å‚«‚Ü‚·B:
+ in 㨠between ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ä½¿ç”¨ã§ãã¾ã™ã€‚:
@@ -646,7 +648,7 @@ where log.item.class = 'Payment' and log.item.id = payment.id]]>
- ‚Ü‚½A”Û’èŒ`‚Å‹Lq‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ ã¾ãŸã€å¦å®šå½¢ã§è¨˜è¿°ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
@@ -654,25 +656,25 @@ where log.item.class = 'Payment' and log.item.id = payment.id]]>
- “¯—l‚É is null ‚â is not null ‚Ínull’l‚ðƒeƒXƒg‚·‚邽‚ß‚ÉŽg—p‚Å‚«‚Ü‚·B
+ åŒæ§˜ã« is null ã‚„ is not null ã¯null値をテストã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãã¾ã™ã€‚
- HibernateÝ’èƒtƒ@ƒCƒ‹‚ÅHQL query substitutions‚ð’è‹`‚·‚ê‚ÎAboolean’l‚ðŽ®‚Ì’†‚ÅŠÈ’P‚ÉŽg—p‚Å‚«‚ÜBF
+ Hibernateè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã§HQL query substitutionsを定義ã™ã‚Œã°ã€boolean値をå¼ã®ä¸ã§ç°¡å˜ã«ä½¿ç”¨ã§ãã¾ã€‚:
true 1, false 0]]>
- ‚±‚¤‚·‚邱‚Ƃʼnº‹L‚ÌHQL‚ðSQL‚É•ÏŠ·‚·‚é‚Æ‚«‚É true ,
- false ƒL[ƒ[ƒh‚Í 1 , 0 ‚É’u‚«Š·‚¦‚ç‚ê‚Ü‚·B:
+ ã“ã†ã™ã‚‹ã“ã¨ã§ä¸‹è¨˜ã®HQLã‚’SQLã«å¤‰æ›ã™ã‚‹ã¨ãã« true ,
+ false ã‚ーワード㯠1 , 0 ã«ç½®ãæ›ãˆã‚‰ã‚Œã¾ã™ã€‚:
- “Á•Ê‚ȃvƒƒpƒeƒB sizeA‚Ü‚½‚Í“Á•Ê‚ÈŠÖ” size()
- ‚ðŽg‚Á‚ăRƒŒƒNƒVƒ‡ƒ“‚̃TƒCƒY‚ðƒeƒXƒg‚Å‚«‚Ü‚·B:
+ 特別ãªãƒ—ãƒãƒ‘ティ sizeã€ã¾ãŸã¯ç‰¹åˆ¥ãªé–¢æ•° size()
+ を使ã£ã¦ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚µã‚¤ã‚ºã‚’テストã§ãã¾ã™ã€‚:
0]]>
@@ -680,10 +682,10 @@ where log.item.class = 'Payment' and log.item.id = payment.id]]> 0]]>
- ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“‚Å‚ÍAminindex ‚Æ maxindex
- ŠÖ”‚ðŽg‚Á‚ÄAƒCƒ“ƒfƒbƒNƒX‚ÌŬ’l‚ÆÅ‘å’l‚ðŽQÆ‚Å‚«‚Ü‚·B
- “¯—l‚ÉAminelement ‚Æ maxelement ‚ðŽg‚Á‚ÄA
- Šî–{Œ^‚̃RƒŒƒNƒVƒ‡ƒ“—v‘f‚ÌŬ’l‚ÆÅ‘å’l‚ðŽQÆ‚Å‚«‚Ü‚·B
+ インデックス付ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã§ã¯ã€minindex 㨠maxindex
+ 関数を使ã£ã¦ã€ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®æœ€å°å€¤ã¨æœ€å¤§å€¤ã‚’å‚ç…§ã§ãã¾ã™ã€‚
+ åŒæ§˜ã«ã€minelement 㨠maxelement を使ã£ã¦ã€
+ 基本型ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³è¦ç´ ã®æœ€å°å€¤ã¨æœ€å¤§å€¤ã‚’å‚ç…§ã§ãã¾ã™ã€‚
current_date]]>
@@ -693,9 +695,9 @@ where log.item.class = 'Payment' and log.item.id = payment.id]]> 10000]]>
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚âƒCƒ“ƒfƒbƒNƒX‚̃Zƒbƒgielements ‚Æ indices
- ŠÖ”jA‚Ü‚½‚Í•›–â‚¢‡‚킹iŒãqj‚ÌŒ‹‰Ê‚ªŽó‚¯Žæ‚ê‚é‚Æ‚«‚ÍA
- SQLŠÖ” any, some, all, exists, in ‚ªƒTƒ|[ƒg‚³‚ê‚Ü‚·B
+ コレクションã®è¦ç´ やインデックスã®ã‚»ãƒƒãƒˆï¼ˆelements 㨠indices
+ 関数)ã€ã¾ãŸã¯å‰¯å•ã„åˆã‚ã›ï¼ˆå¾Œè¿°ï¼‰ã®çµæžœãŒå—ã‘å–れるã¨ãã¯ã€
+ SQL関数 any, some, all, exists, in ãŒã‚µãƒãƒ¼ãƒˆã•ã‚Œã¾ã™ã€‚
size, elements, indices,
minindex, maxindex, minelement,
- maxelement ‚ÍHibernate3‚Ìwhereß‚¾‚¯‚Å—˜—p‰Â”\‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ maxelement ã¯Hibernate3ã®where節ã ã‘ã§åˆ©ç”¨å¯èƒ½ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- ƒCƒ“ƒfƒbƒNƒX•t‚«‚̃RƒŒƒNƒVƒ‡ƒ“iarrays, lists, mapsj‚Ì—v‘f‚ÍA
- ƒCƒ“ƒfƒbƒNƒX‚ÅŽQÆ‚Å‚«‚Ü‚·iwhereß“à‚Å‚Ì‚ÝjB
+ インデックス付ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆarrays, lists, maps)ã®è¦ç´ ã¯ã€
+ インデックスã§å‚ç…§ã§ãã¾ã™ï¼ˆwhere節内ã§ã®ã¿ï¼‰ã€‚
@@ -734,14 +736,14 @@ where order.items[ order.deliveredItemIndices[0] ] = item and order.id = 11]]>
where order.items[ maxindex(order.items) ] = item and order.id = 11]]>
- [] “à•”‚ÌŽ®‚ÍAŽZpŽ®‚Å‚à\‚¢‚Ü‚¹‚ñB
+ [] 内部ã®å¼ã¯ã€ç®—è¡“å¼ã§ã‚‚構ã„ã¾ã›ã‚“。
- ˆê‘Α½ŠÖ˜A‚â’l‚̃RƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ɑ΂µ‚Ä‚ÍAHQL‚Í‘g‚Ýž‚Ý‚Ì index() ŠÖ”‚à—pˆÓ‚µ‚Ä‚¢‚Ü‚·B
+ 一対多関連や値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ ã«å¯¾ã—ã¦ã¯ã€HQLã¯çµ„ã¿è¾¼ã¿ã® index() 関数も用æ„ã—ã¦ã„ã¾ã™ã€‚
where index(item) < 5]]>
- ƒx[ƒX‚Æ‚È‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒ|[ƒg‚µ‚Ä‚¢‚éƒXƒJƒ‰[SQLŠÖ”‚ªŽg—p‚Å‚«‚Ü‚·
+ ベースã¨ãªã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„るスカラーSQL関数ãŒä½¿ç”¨ã§ãã¾ã™
- ‚à‚µ‚Ü‚¾‘S‚Ä‚ð—‰ð‚µ‚Ä‚¢‚È‚¢‚È‚çA‰º‚̃NƒGƒŠ‚ðSQL‚łǂꂾ‚¯’·‚A“ǂ݂Âç‚o—ˆ‚é‚©l‚¦‚Ä‚‚¾‚³‚¢B:
+ ã‚‚ã—ã¾ã å…¨ã¦ã‚’ç†è§£ã—ã¦ã„ãªã„ãªã‚‰ã€ä¸‹ã®ã‚¯ã‚¨ãƒªã‚’SQLã§ã©ã‚Œã ã‘é•·ãã€èªã¿ã¥ã‚‰ã出æ¥ã‚‹ã‹è€ƒãˆã¦ãã ã•ã„。:
@@ -768,7 +770,7 @@ where prod.name = 'widget'
and prod = all elements(cust.currentOrder.lineItems)]]>
- ƒqƒ“ƒg: —Ⴆ‚΂±‚̂悤‚Éo—ˆ‚Ü‚·B
+ ヒント: 例ãˆã°ã“ã®ã‚ˆã†ã«å‡ºæ¥ã¾ã™ã€‚
- order byß
+ order by節
- ƒNƒGƒŠ‚ª•Ô‚·list‚ÍA•Ô‚³‚ê‚éƒNƒ‰ƒX‚âƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì”CˆÓ‚Ì‘®«‚É‚æ‚Á‚Ä•À‚בւ¦‚ç‚ê‚Ü‚·BF
+ クエリãŒè¿”ã™listã¯ã€è¿”ã•ã‚Œã‚‹ã‚¯ãƒ©ã‚¹ã‚„コンãƒãƒ¼ãƒãƒ³ãƒˆã®ä»»æ„ã®å±žæ€§ã«ã‚ˆã£ã¦ä¸¦ã¹æ›¿ãˆã‚‰ã‚Œã¾ã™ã€‚:
- ƒIƒvƒVƒ‡ƒ“‚Ì asc ‚Æ desc ‚Í‚»‚ꂼ‚긇‚©~‡‚Ì®—ñ‚ðŽ¦‚µ‚Ü‚·B
+ オプション㮠asc 㨠desc ã¯ãã‚Œãžã‚Œæ˜‡é †ã‹é™é †ã®æ•´åˆ—を示ã—ã¾ã™ã€‚
- group byß
+ group by節
- W–ñ’l‚ð•Ô‚·ƒNƒGƒŠ‚ÍA•Ô‚³‚ê‚éƒNƒ‰ƒX‚âƒRƒ“ƒ|[ƒlƒ“ƒg‚Ì”CˆÓ‚̃vƒƒpƒeƒB‚É‚æ‚Á‚ăOƒ‹[ƒv‰»‚Å‚«‚Ü‚·B:
+ 集約値を返ã™ã‚¯ã‚¨ãƒªã¯ã€è¿”ã•ã‚Œã‚‹ã‚¯ãƒ©ã‚¹ã‚„コンãƒãƒ¼ãƒãƒ³ãƒˆã®ä»»æ„ã®ãƒ—ãƒãƒ‘ティã«ã‚ˆã£ã¦ã‚°ãƒ«ãƒ¼ãƒ—化ã§ãã¾ã™ã€‚:
- having ß‚àŽg‚¦‚Ü‚·B
+ having 節も使ãˆã¾ã™ã€‚
- ‚à‚µŽg—p‚·‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒ|[ƒg‚µ‚Ä‚¢‚é‚È‚çA
- having ‚Æ order by ß‚ÅSQLŠÖ”‚ÆW–ñŠÖ”‚ªŽg‚¦‚Ü‚·
- i—Ⴆ‚ÎMySQL‚É‚Í‚ ‚è‚Ü‚¹‚ñjB
+ ã‚‚ã—使用ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã‚‹ãªã‚‰ã€
+ having 㨠order by 節ã§SQL関数ã¨é›†ç´„関数ãŒä½¿ãˆã¾ã™
+ (例ãˆã°MySQLã«ã¯ã‚ã‚Šã¾ã›ã‚“)。
100
order by count(kitten) asc, sum(kitten.weight) desc]]>
- group by ß‚â order by ß‚É
- ŽZpŽ®‚ðŠÜ‚Þ‚±‚Æ‚ª‚Å‚«‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ group by 節や order by 節ã«
+ ç®—è¡“å¼ã‚’å«ã‚€ã“ã¨ãŒã§ããªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- •›–â‚¢‡‚킹
+ 副å•ã„åˆã‚ã›
- ƒTƒuƒZƒŒƒNƒg‚ðƒTƒ|[ƒg‚·‚éƒf[ƒ^ƒx[ƒX‚Ì‚½‚ßAHibernate‚Í•›–â‚¢‡‚킹‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- •›–â‚¢‡‚킹‚ÍŠ‡ŒÊ‚ň͂܂Ȃ¯‚ê‚΂Ȃè‚Ü‚¹‚ñiSQL‚ÌW–ñŠÖ”ŒÄ‚Ño‚µ‚É‚æ‚鎖‚ª‘½‚¢‚Å‚·jB
- ŠÖ˜A•›–â‚¢‡‚킹(ŠO•”ƒNƒGƒŠ’†‚Ì•Ê–¼‚ðŽQÆ‚·‚é•›–â‚¢‡‚킹‚Ì‚±‚Æ)‚³‚¦‹–‰Â‚³‚ê‚Ü‚·B
+ サブセレクトをサãƒãƒ¼ãƒˆã™ã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãŸã‚ã€Hibernateã¯å‰¯å•ã„åˆã‚ã›ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ 副å•ã„åˆã‚ã›ã¯æ‹¬å¼§ã§å›²ã¾ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“(SQLã®é›†ç´„関数呼ã³å‡ºã—ã«ã‚ˆã‚‹äº‹ãŒå¤šã„ã§ã™ï¼‰ã€‚
+ 関連副å•ã„åˆã‚ã›(外部クエリä¸ã®åˆ¥åã‚’å‚ç…§ã™ã‚‹å‰¯å•ã„åˆã‚ã›ã®ã“ã¨)ã•ãˆè¨±å¯ã•ã‚Œã¾ã™ã€‚
- HQL•›–â‚¢‡‚킹‚ÍAselect‚Ü‚½‚Íwhereß‚¾‚¯‚ÅŽg‚í‚ê‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ HQL副å•ã„åˆã‚ã›ã¯ã€selectã¾ãŸã¯where節ã ã‘ã§ä½¿ã‚れるã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- selectƒŠƒXƒg‚É•¡”‚ÌŽ®‚ðŽ‚•›–â‚¢‡‚킹‚É‚ÍAƒ^ƒvƒ‹‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ selectリストã«è¤‡æ•°ã®å¼ã‚’æŒã¤å‰¯å•ã„åˆã‚ã›ã«ã¯ã€ã‚¿ãƒ—ルを使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
- ‚¢‚‚‚©‚̃f[ƒ^ƒx[ƒXiOracle‚âHSQL‚É‚Í‚ ‚è‚Ü‚¹‚ñj‚Å‚ÍA
- ‘¼‚̃Rƒ“ƒeƒLƒXƒg‚Å‚àƒ^ƒvƒ‹‚ªŽg‚¦‚Ü‚·B
- —Ⴆ‚ÎAƒNƒGƒŠƒRƒ“ƒ|[ƒlƒ“ƒg‚â•¡‡ƒ†[ƒUŒ^‚É‚¨‚¢‚Ä‚Å‚·B
+ ã„ãã¤ã‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ï¼ˆOracleã‚„HSQLã«ã¯ã‚ã‚Šã¾ã›ã‚“)ã§ã¯ã€
+ ä»–ã®ã‚³ãƒ³ãƒ†ã‚ストã§ã‚‚タプルãŒä½¿ãˆã¾ã™ã€‚
+ 例ãˆã°ã€ã‚¯ã‚¨ãƒªã‚³ãƒ³ãƒãƒ¼ãƒãƒ³ãƒˆã‚„複åˆãƒ¦ãƒ¼ã‚¶åž‹ã«ãŠã„ã¦ã§ã™ã€‚
- “¯“™‚Å‚·‚ªA‚æ‚èç’·‚ȃNƒGƒŠ‚Å‚·F
+ åŒç‰ã§ã™ãŒã€ã‚ˆã‚Šå†—é•·ãªã‚¯ã‚¨ãƒªã§ã™ï¼š
- ‚±‚̂悤‚È‚±‚Æ‚ð‚µ‚½‚‚È‚¢‚Ì‚É‚Í2‚‚̗—R‚ª‚ ‚è‚Ü‚·F
- 1‚–ڂÍAƒf[ƒ^ƒx[ƒXƒvƒ‰ƒbƒgƒtƒH[ƒ€ŠÔ‚ÅŠ®‘S‚Ȍ݊·«‚Í‚È‚¢‚©‚ç‚Å‚·B
- 2‚–ڂÍAƒNƒGƒŠ‚ªƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚̃vƒƒpƒeƒB‚̇˜‚Ɉˑ¶‚·‚é‚©‚ç‚Å‚·B
+ ã“ã®ã‚ˆã†ãªã“ã¨ã‚’ã—ãŸããªã„ã®ã«ã¯2ã¤ã®ç†ç”±ãŒã‚ã‚Šã¾ã™ï¼š
+ 1ã¤ç›®ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ—ラットフォーム間ã§å®Œå…¨ãªäº’æ›æ€§ã¯ãªã„ã‹ã‚‰ã§ã™ã€‚
+ 2ã¤ç›®ã¯ã€ã‚¯ã‚¨ãƒªãŒãƒžãƒƒãƒ”ングドã‚ュメントã®ãƒ—ãƒãƒ‘ティã®é †åºã«ä¾å˜ã™ã‚‹ã‹ã‚‰ã§ã™ã€‚
- HQL‚Ì—á
+ HQLã®ä¾‹
- HibernateƒNƒGƒŠ‚Í”ñí‚É‹—Í‚Å•¡ŽG‚É‚Å‚«‚Ü‚·BŽÀÛAƒNƒGƒŠŒ¾Œê‚̈З͂ÍHibernate‚ÌŽå—v‚ȃZ[ƒ‹ƒXƒ|ƒCƒ“ƒg‚̈ê‚‚ł·B
- ‚±‚±‚Éŋ߂̃vƒƒWƒFƒNƒg‚ÅŽg—p‚µ‚½ƒNƒGƒŠ‚Æ”ñí‚É‚æ‚Ž—‚½—Ⴊ‚ ‚è‚Ü‚·B
- ‚Ù‚Æ‚ñ‚ǂ̃NƒGƒŠ‚Í‚±‚ê‚ç‚Ì—á‚æ‚èŠÈ’P‚É‹Lq‚Å‚«‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢!
+ Hibernateクエリã¯éžå¸¸ã«å¼·åŠ›ã§è¤‡é›‘ã«ã§ãã¾ã™ã€‚実際ã€ã‚¯ã‚¨ãƒªè¨€èªžã®å¨åŠ›ã¯Hibernateã®ä¸»è¦ãªã‚»ãƒ¼ãƒ«ã‚¹ãƒã‚¤ãƒ³ãƒˆã®ä¸€ã¤ã§ã™ã€‚
+ ã“ã“ã«æœ€è¿‘ã®ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆã§ä½¿ç”¨ã—ãŸã‚¯ã‚¨ãƒªã¨éžå¸¸ã«ã‚ˆãä¼¼ãŸä¾‹ãŒã‚ã‚Šã¾ã™ã€‚
+ ã»ã¨ã‚“ã©ã®ã‚¯ã‚¨ãƒªã¯ã“れらã®ä¾‹ã‚ˆã‚Šç°¡å˜ã«è¨˜è¿°ã§ãã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„!
- ˆÈ‰º‚̃NƒGƒŠ‚Í“Á’è‚̌ڋq‚Æ—^‚¦‚ç‚ꂽŬ‚̇Œv’l‚ɑ΂·‚é–¢•¥‚¢’•¶‚Ì’•¶IDA
- ¤•i‚Ì”A’•¶‚̇Œv‚ð‡Œv’l‚Å®—ñ‚µ‚Ä•Ô‚µ‚Ü‚·B
- ‰¿Ši‚ðŒˆ’è‚·‚éÛAŒ»Ý‚̃Jƒ^ƒƒO‚ðŽg‚¢‚Ü‚·BŒ‹‰Ê‚Æ‚µ‚Ä•Ô‚³‚ê‚éSQLƒNƒGƒŠ‚Í
+ 以下ã®ã‚¯ã‚¨ãƒªã¯ç‰¹å®šã®é¡§å®¢ã¨ä¸Žãˆã‚‰ã‚ŒãŸæœ€å°ã®åˆè¨ˆå€¤ã«å¯¾ã™ã‚‹æœªæ‰•ã„注文ã®æ³¨æ–‡IDã€
+ 商å“ã®æ•°ã€æ³¨æ–‡ã®åˆè¨ˆã‚’åˆè¨ˆå€¤ã§æ•´åˆ—ã—ã¦è¿”ã—ã¾ã™ã€‚
+ ä¾¡æ ¼ã‚’æ±ºå®šã™ã‚‹éš›ã€ç¾åœ¨ã®ã‚«ã‚¿ãƒã‚°ã‚’使ã„ã¾ã™ã€‚çµæžœã¨ã—ã¦è¿”ã•ã‚Œã‚‹SQLクエリã¯
ORDER, ORDER_LINE, PRODUCT,
- CATALOG ‚¨‚æ‚Ñ PRICE ƒe[ƒuƒ‹‚ɑ΂µ4‚Â‚Ì“à•”Œ‹‡‚Æ
- (ŠÖ˜A‚µ‚È‚¢)•›–â‚¢‡‚킹‚ðŽ‚¿‚Ü‚·B
+ CATALOG ãŠã‚ˆã³ PRICE テーブルã«å¯¾ã—4ã¤ã®å†…部çµåˆã¨
+ (関連ã—ãªã„)副å•ã„åˆã‚ã›ã‚’æŒã¡ã¾ã™ã€‚
:minAmount
order by sum(price.amount) desc]]>
- ‰½‚Ä‹‘å‚ȃNƒGƒŠ‚È‚Ì‚Å‚µ‚傤! •’iŽ„‚Í•›–â‚¢‡‚킹‚ð‚ ‚Ü‚èŽg‚¢‚Ü‚¹‚ñB‚µ‚½‚ª‚Á‚ÄŽ„‚̃NƒGƒŠ‚ÍŽÀۂɂ͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B:
+ 何ã¦å·¨å¤§ãªã‚¯ã‚¨ãƒªãªã®ã§ã—ょã†! 普段ç§ã¯å‰¯å•ã„åˆã‚ã›ã‚’ã‚ã¾ã‚Šä½¿ã„ã¾ã›ã‚“。ã—ãŸãŒã£ã¦ç§ã®ã‚¯ã‚¨ãƒªã¯å®Ÿéš›ã«ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚:
:minAmount
order by sum(price.amount) desc]]>
- ŽŸ‚̃NƒGƒŠ‚ÍŠeƒXƒe[ƒ^ƒX‚ÌŽx•¥‚¢”‚𔂦‚Ü‚·B‚½‚¾‚µ‚·‚ׂĂ̎x•¥‚¢‚ªŒ»Ý‚Ì—˜—pŽÒ‚É‚æ‚é
- ÅV‚̃Xƒe[ƒ^ƒX•ÏX‚Å‚ ‚é AWAITING_APPROVAL ‚Å‚ ‚éꇂ𜂫‚Ü‚·B
- ‚±‚̃NƒGƒŠ‚Í2‚Â‚Ì“à•”Œ‹‡‚Æ PAYMENT, PAYMENT_STATUS ‚¨‚æ‚Ñ
- PAYMENT_STATUS_CHANGE ƒe[ƒuƒ‹‚ɑ΂·‚éŠÖ˜A•›–â‚¢‡‚킹‚ð”õ‚¦‚½SQLƒNƒGƒŠ‚É•ÏŠ·‚³‚ê‚Ü‚·B
+ 次ã®ã‚¯ã‚¨ãƒªã¯å„ステータスã®æ”¯æ‰•ã„æ•°ã‚’æ•°ãˆã¾ã™ã€‚ãŸã ã—ã™ã¹ã¦ã®æ”¯æ‰•ã„ãŒç¾åœ¨ã®åˆ©ç”¨è€…ã«ã‚ˆã‚‹
+ 最新ã®ã‚¹ãƒ†ãƒ¼ã‚¿ã‚¹å¤‰æ›´ã§ã‚ã‚‹ AWAITING_APPROVAL ã§ã‚ã‚‹å ´åˆã‚’除ãã¾ã™ã€‚
+ ã“ã®ã‚¯ã‚¨ãƒªã¯2ã¤ã®å†…部çµåˆã¨ PAYMENT, PAYMENT_STATUS ãŠã‚ˆã³
+ PAYMENT_STATUS_CHANGE テーブルã«å¯¾ã™ã‚‹é–¢é€£å‰¯å•ã„åˆã‚ã›ã‚’å‚™ãˆãŸSQLクエリã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚
- ‚à‚µŽ„‚ªset‚Ì‘ã‚í‚è‚Élist‚Æ‚µ‚Ä statusChanges ƒRƒŒƒNƒVƒ‡ƒ“‚ð
- ƒ}ƒbƒsƒ“ƒO‚µ‚½‚È‚ç‚ÎA‚Í‚é‚©‚ÉŠÈ’P‚ɃNƒGƒŠ‚ð‹Lq‚Å‚«‚é‚Å‚µ‚傤B
+ ã‚‚ã—ç§ãŒsetã®ä»£ã‚ã‚Šã«listã¨ã—㦠statusChanges コレクションを
+ マッピングã—ãŸãªã‚‰ã°ã€ã¯ã‚‹ã‹ã«ç°¡å˜ã«ã‚¯ã‚¨ãƒªã‚’記述ã§ãã‚‹ã§ã—ょã†ã€‚
- ŽŸ‚̃NƒGƒŠ‚ÍŒ»Ý‚̃†[ƒU‚ªŠ‘®‚·‚é‘gD‚ɑ΂·‚éƒAƒJƒEƒ“ƒg‚¨‚æ‚Ñ–¢•¥‚¢‚ÌŽx•¥‚¢‚ð
- ‚·‚ׂĕԂ·MS SQL Server
- ‚Ì isNull() ŠÖ”‚ðŽg—p‚µ‚Ä‚¢‚Ü‚·B
- ‚±‚̃NƒGƒŠ‚Í3‚Â‚Ì“à•”Œ‹‡‚Æ1‚‚̊O•”Œ‹‡ A
- ‚»‚µ‚Ä ACCOUNT, PAYMENT, PAYMENT_STATUS,
- ACCOUNT_TYPE, ORGANIZATION ‚¨‚æ‚Ñ
- ORG_USER ƒe[ƒuƒ‹‚ɑ΂·‚é•›–â‚¢‡‚킹Ž‚Á‚½SQL‚É•ÏŠ·‚³‚ê‚Ü‚·B
+ 次ã®ã‚¯ã‚¨ãƒªã¯ç¾åœ¨ã®ãƒ¦ãƒ¼ã‚¶ãŒæ‰€å±žã™ã‚‹çµ„ç¹”ã«å¯¾ã™ã‚‹ã‚¢ã‚«ã‚¦ãƒ³ãƒˆãŠã‚ˆã³æœªæ‰•ã„ã®æ”¯æ‰•ã„ã‚’
+ ã™ã¹ã¦è¿”ã™MS SQL Server
+ ã® isNull() 関数を使用ã—ã¦ã„ã¾ã™ã€‚
+ ã“ã®ã‚¯ã‚¨ãƒªã¯3ã¤ã®å†…部çµåˆã¨1ã¤ã®å¤–部çµåˆ ã€
+ ãã—㦠ACCOUNT, PAYMENT, PAYMENT_STATUS,
+ ACCOUNT_TYPE, ORGANIZATION ãŠã‚ˆã³
+ ORG_USER テーブルã«å¯¾ã™ã‚‹å‰¯å•ã„åˆã‚ã›æŒã£ãŸSQLã«å¤‰æ›ã•ã‚Œã¾ã™ã€‚
- ‚¢‚‚‚©‚̃f[ƒ^ƒx[ƒX‚ɂ‚¢‚Ä‚ÍA(ŠÖ˜A‚³‚¹‚ç‚ꂽ)•›–â‚¢‡‚킹‚ÌŽg—p‚ð”ð‚¯‚é•K—v‚ª‚ ‚é‚Å‚µ‚傤B
+ ã„ãã¤ã‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã¤ã„ã¦ã¯ã€(関連ã•ã›ã‚‰ã‚ŒãŸ)副å•ã„åˆã‚ã›ã®ä½¿ç”¨ã‚’é¿ã‘ã‚‹å¿…è¦ãŒã‚ã‚‹ã§ã—ょã†ã€‚
- ‘å—Ê‚ÌUPDATE‚ÆDELETE
+ 大é‡ã®UPDATEã¨DELETE
- HQL‚Í¡‚Í update ‚Æ deleteAinsert ... select ...
- ƒXƒe[ƒgƒƒ“ƒg‚ðHQL‚É“ü‚ê‚邱‚Æ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- ‚ÉÚׂª‚ ‚è‚Ü‚·B
+ HQLã¯ä»Šã¯ update 㨠deleteã€insert ... select ...
+ ステートメントをHQLã«å…¥ã‚Œã‚‹ã“ã¨ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ ã«è©³ç´°ãŒã‚ã‚Šã¾ã™ã€‚
@@ -1053,13 +1055,13 @@ order by account.type.sortOrder, account.accountNumber, payment.dueDate]]>Tips & Tricks
- ŽÀÛ‚ÉŒ‹‰Ê‚ð•Ô‚³‚È‚‚Ä‚àƒNƒGƒŠ‚ÌŒ‹‰Ê”‚𔂦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B:
+ 実際ã«çµæžœã‚’è¿”ã•ãªãã¦ã‚‚クエリã®çµæžœæ•°ã‚’æ•°ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚:
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃TƒCƒY‚É‚æ‚茋‰Ê‚ð•À‚בւ¦‚邽‚߂ɂ͈ȉº‚̃NƒGƒŠ‚ðŽg—p‚µ‚Ü‚·B:
+ コレクションã®ã‚µã‚¤ã‚ºã«ã‚ˆã‚Šçµæžœã‚’並ã¹æ›¿ãˆã‚‹ãŸã‚ã«ã¯ä»¥ä¸‹ã®ã‚¯ã‚¨ãƒªã‚’使用ã—ã¾ã™ã€‚:
- Žg—p‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒuƒZƒŒƒNƒg‚ðƒTƒ|[ƒg‚·‚éê‡AƒNƒGƒŠ‚Ìwhere߂ŃTƒCƒY‚É‚æ‚é‘I‘ððŒ‚ðÝ’è‚Å‚«‚Ü‚·:
+ 使用ã—ã¦ã„るデータベースãŒã‚µãƒ–セレクトをサãƒãƒ¼ãƒˆã™ã‚‹å ´åˆã€ã‚¯ã‚¨ãƒªã®where節ã§ã‚µã‚¤ã‚ºã«ã‚ˆã‚‹é¸æŠžæ¡ä»¶ã‚’è¨å®šã§ãã¾ã™:
= 1]]>
- Žg—p‚µ‚Ä‚¢‚éƒf[ƒ^ƒx[ƒX‚ªƒTƒuƒZƒŒƒNƒg‚ðƒTƒ|[ƒg‚µ‚È‚¢ê‡‚ÍAŽŸ‚̃NƒGƒŠ‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢:
+ 使用ã—ã¦ã„るデータベースãŒã‚µãƒ–セレクトをサãƒãƒ¼ãƒˆã—ãªã„å ´åˆã¯ã€æ¬¡ã®ã‚¯ã‚¨ãƒªã‚’使用ã—ã¦ãã ã•ã„:
= 1]]>
- “à•”Œ‹‡‚ð‚µ‚Ä‚¢‚邹‚¢‚Åã‚Ì‰ðŒˆ–@‚ªmessage‚ÌŒ”‚ª
- ƒ[ƒ‚Ì User ‚ð•Ô‚·‚±‚Æ‚ª‚Å‚«‚È‚¢‚È‚ç‚ÎAˆÈ‰º‚ÌŒ`Ž®‚ªŽg‚¦‚Ü‚·B
+ 内部çµåˆã‚’ã—ã¦ã„ã‚‹ã›ã„ã§ä¸Šã®è§£æ±ºæ³•ãŒmessageã®ä»¶æ•°ãŒ
+ ゼãƒã® User ã‚’è¿”ã™ã“ã¨ãŒã§ããªã„ãªã‚‰ã°ã€ä»¥ä¸‹ã®å½¢å¼ãŒä½¿ãˆã¾ã™ã€‚
- JavaBean‚̃vƒƒpƒeƒB‚ÍA–¼‘O•t‚«‚̃NƒGƒŠƒpƒ‰ƒ[ƒ^‚ÉŒ‹‚т‚¯‚邱‚Æ‚ªo—ˆ‚Ü‚·BF
+ JavaBeanã®ãƒ—ãƒãƒ‘ティã¯ã€åå‰ä»˜ãã®ã‚¯ã‚¨ãƒªãƒ‘ラメータã«çµã³ã¤ã‘ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚:
- ƒRƒŒƒNƒVƒ‡ƒ“‚̓tƒBƒ‹ƒ^•t‚« Query ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg—p‚·‚邱‚ƂŃy[ƒW‚ð‚‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B:
+ コレクションã¯ãƒ•ã‚£ãƒ«ã‚¿ä»˜ã Query インターフェイスを使用ã™ã‚‹ã“ã¨ã§ãƒšãƒ¼ã‚¸ã‚’ã¤ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚:
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚̓NƒGƒŠƒtƒBƒ‹ƒ^‚ðŽg‚Á‚ÄA•À‚בւ¦‚âƒOƒ‹[ƒv•ª‚¯‚ªo—ˆ‚Ü‚·B:
+ コレクションã®è¦ç´ ã¯ã‚¯ã‚¨ãƒªãƒ•ã‚£ãƒ«ã‚¿ã‚’使ã£ã¦ã€ä¸¦ã¹æ›¿ãˆã‚„グループ分ã‘ãŒå‡ºæ¥ã¾ã™ã€‚:
- ƒRƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚¹‚¸‚ɃRƒŒƒNƒVƒ‡ƒ“‚̃TƒCƒY‚𓾂邱‚Æ‚ª‚Å‚«‚Ü‚·B:
+ コレクションをåˆæœŸåŒ–ã›ãšã«ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚µã‚¤ã‚ºã‚’å¾—ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚:
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml b/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml
index 179e677400..b9a4f266d6 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/query_sql.xml
@@ -1,41 +1,43 @@
-
+
+
+
- ƒlƒCƒeƒBƒuSQL
+ ãƒã‚¤ãƒ†ã‚£ãƒ–SQL
- ƒf[ƒ^ƒx[ƒX‚̃lƒCƒeƒBƒuSQL•ûŒ¾‚ðŽg‚Á‚ăNƒGƒŠ‚ð•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- ƒNƒGƒŠƒqƒ“ƒg‚âOracle‚Ì CONNECT ƒL[ƒ[ƒh‚̂悤‚ÉA
- ƒf[ƒ^ƒx[ƒX“ÆŽ©‚Ì‹@”\‚ð—˜—p‚µ‚½‚¢‚Æ‚«‚ÉŽg‚¦‚Ü‚·B
- SQL/JDBC‚ð’¼ÚŽg—p‚µ‚Ä‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çHibernate‚ւ̈Ús‚à—eˆÕ‚É‚µ‚Ä‚¢‚Ü‚·B
+ データベースã®ãƒã‚¤ãƒ†ã‚£ãƒ–SQL方言を使ã£ã¦ã‚¯ã‚¨ãƒªã‚’表ç¾ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ クエリヒントやOracleã® CONNECT ã‚ーワードã®ã‚ˆã†ã«ã€
+ データベース独自ã®æ©Ÿèƒ½ã‚’利用ã—ãŸã„ã¨ãã«ä½¿ãˆã¾ã™ã€‚
+ SQL/JDBCを直接使用ã—ã¦ã„るアプリケーションã‹ã‚‰Hibernateã¸ã®ç§»è¡Œã‚‚容易ã«ã—ã¦ã„ã¾ã™ã€‚
- Hibernate3‚Å‚ÍA¶¬AXVAíœA“Ç‚Ýž‚݈—‚̂悤‚È‚·‚ׂĂÌ
- SQLiƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŠÜ‚Þj‚ðŽè‘‚«‚Å‚«‚Ü‚·B
+ Hibernate3ã§ã¯ã€ç”Ÿæˆã€æ›´æ–°ã€å‰Šé™¤ã€èªã¿è¾¼ã¿å‡¦ç†ã®ã‚ˆã†ãªã™ã¹ã¦ã®
+ SQL(ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚’å«ã‚€ï¼‰ã‚’手書ãã§ãã¾ã™ã€‚
- SQLQuery ‚ÌŽg—p
+ SQLQuery ã®ä½¿ç”¨
- ƒlƒCƒeƒBƒu‚ÈSQLƒNƒGƒŠ‚ÌŽÀs‚Í SQLQuery
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ð’Ê‚µ‚ħŒä‚µ‚Ü‚·B
- SQLQuery ƒCƒ“ƒ^[ƒtƒFƒCƒX‚Í
- Session.createSQLQuery() ‚ðŒÄ‚Ño‚µ‚Ď擾‚µ‚Ü‚·B
- ‚±‚ÌAPI‚ðŽg‚Á‚Ä–â‚¢‡‚킹‚·‚é•û–@‚ðˆÈ‰º‚Åà–¾‚µ‚Ü‚·B
+ ãƒã‚¤ãƒ†ã‚£ãƒ–ãªSQLクエリã®å®Ÿè¡Œã¯ SQLQuery
+ インターフェイスを通ã—ã¦åˆ¶å¾¡ã—ã¾ã™ã€‚
+ SQLQuery インターフェイスã¯
+ Session.createSQLQuery() を呼ã³å‡ºã—ã¦å–å¾—ã—ã¾ã™ã€‚
+ ã“ã®APIを使ã£ã¦å•ã„åˆã‚ã›ã™ã‚‹æ–¹æ³•ã‚’以下ã§èª¬æ˜Žã—ã¾ã™ã€‚
- ƒXƒJƒ‰[‚̃NƒGƒŠ
+ スカラーã®ã‚¯ã‚¨ãƒª
- Å‚àŠî–{“I‚ÈSQLƒNƒGƒŠ‚̓XƒJƒ‰[i’lj‚̃ŠƒXƒg‚𓾂邱‚Æ‚Å‚·B
+ 最も基本的ãªSQLクエリã¯ã‚¹ã‚«ãƒ©ãƒ¼ï¼ˆå€¤ï¼‰ã®ãƒªã‚¹ãƒˆã‚’å¾—ã‚‹ã“ã¨ã§ã™ã€‚
- ‚±‚ê‚ç‚Í‚Ç‚¿‚ç‚àACATSƒe[ƒuƒ‹‚ÌŠeƒJƒ‰ƒ€‚̃XƒJƒ‰[’l‚ðŠÜ‚Þ
- Object”z—ñiObject[]j‚̃ŠƒXƒg‚ð•Ô‚µ‚Ü‚·B
- •Ô‚·ƒXƒJƒ‰[’l‚ÌŽÀۂ̇”Ô‚ÆŒ^‚ð„’è‚·‚邽‚ß‚ÉA
- Hibernate‚ÍResultSetMetadata‚ðŽg—p‚µ‚Ü‚·B
+ ã“れらã¯ã©ã¡ã‚‰ã‚‚ã€CATSテーブルã®å„カラムã®ã‚¹ã‚«ãƒ©ãƒ¼å€¤ã‚’å«ã‚€
+ Objecté…列(Object[])ã®ãƒªã‚¹ãƒˆã‚’è¿”ã—ã¾ã™ã€‚
+ è¿”ã™ã‚¹ã‚«ãƒ©ãƒ¼å€¤ã®å®Ÿéš›ã®é †ç•ªã¨åž‹ã‚’推定ã™ã‚‹ãŸã‚ã«ã€
+ Hibernateã¯ResultSetMetadataを使用ã—ã¾ã™ã€‚
- ResultSetMetadata ‚ðŽg—p‚·‚éƒI[ƒo[ƒwƒbƒh‚ð”ð‚¯‚é‚½‚ßA
- ‚à‚µ‚‚Í’P‚ɉ½‚ª•Ô‚³‚ê‚é‚©–¾Šm‚É‚·‚邽‚ßAaddScalar()
- ‚ðŽg‚¦‚Ü‚·B
+ ResultSetMetadata を使用ã™ã‚‹ã‚ªãƒ¼ãƒãƒ¼ãƒ˜ãƒƒãƒ‰ã‚’é¿ã‘ã‚‹ãŸã‚ã€
+ ã‚‚ã—ãã¯å˜ã«ä½•ãŒè¿”ã•ã‚Œã‚‹ã‹æ˜Žç¢ºã«ã™ã‚‹ãŸã‚ã€addScalar()
+ を使ãˆã¾ã™ã€‚
- ‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+ ã“ã®ã‚¯ã‚¨ãƒªã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’下記ã«ç¤ºã—ã¾ã™ã€‚
- SQLƒNƒGƒŠ•¶Žš—ñ
+ SQLクエリ文å—列
- •Ô‚³‚ê‚éƒJƒ‰ƒ€‚ÆŒ^
+ è¿”ã•ã‚Œã‚‹ã‚«ãƒ©ãƒ ã¨åž‹
- ‚±‚ê‚Í‚Ü‚¾Object”z—ñ‚ð•Ô‚µ‚Ü‚·‚ªA
- ResultSetMetdata ‚ðŽg—p‚µ‚Ü‚¹‚ñB
- ‚½‚¾‚µA‚»‚Ì‘ã‚í‚è‚ÉŠî‘b‚É‚ ‚郊ƒUƒ‹ƒgƒZƒbƒg‚©‚ç
- IDANAMEABIRTHDATE ƒJƒ‰ƒ€‚ð‚»‚ê‚¼‚ê
- LongAStringAShort ‚Æ‚µ‚Ä–¾Ž¦“I‚Ɏ擾‚µ‚Ü‚·B
- ‚±‚ê‚Í‚R‚‚̃Jƒ‰ƒ€‚ð•Ô‚·‚Ì‚Ý‚Å‚ ‚邱‚Æ‚àˆÓ–¡‚µ‚Ü‚·B
- ‚½‚Æ‚¦AƒNƒGƒŠ‚ª * ‚ðŽg—p‚µA
- —ñ‹“‚µ‚½‚R‚‚æ‚葽‚‚̃Jƒ‰ƒ€‚ð•Ô‚¹‚é‚Æ‚µ‚Ä‚à‚Å‚·B
+ ã“ã‚Œã¯ã¾ã Objecté…列を返ã—ã¾ã™ãŒã€
+ ResultSetMetdata を使用ã—ã¾ã›ã‚“。
+ ãŸã ã—ã€ãã®ä»£ã‚ã‚Šã«åŸºç¤Žã«ã‚るリザルトセットã‹ã‚‰
+ IDã€NAMEã€BIRTHDATE カラムをãã‚Œãžã‚Œ
+ Longã€Stringã€Short ã¨ã—ã¦æ˜Žç¤ºçš„ã«å–å¾—ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ï¼“ã¤ã®ã‚«ãƒ©ãƒ ã‚’è¿”ã™ã®ã¿ã§ã‚ã‚‹ã“ã¨ã‚‚æ„味ã—ã¾ã™ã€‚
+ ãŸã¨ãˆã€ã‚¯ã‚¨ãƒªãŒ * を使用ã—ã€
+ 列挙ã—ãŸï¼“ã¤ã‚ˆã‚Šå¤šãã®ã‚«ãƒ©ãƒ ã‚’è¿”ã›ã‚‹ã¨ã—ã¦ã‚‚ã§ã™ã€‚
- ƒXƒJƒ‰[‚ÌŒ^î•ñ‚ðÈ‚‚±‚Æ‚à‚Å‚«‚Ü‚·B
+ スカラーã®åž‹æƒ…å ±ã‚’çœãã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- ‚±‚ê‚Í–{Ž¿“I‚É‘O‚Æ“¯‚¶ƒNƒGƒŠ‚Å‚·‚ªAA
- NAME ‚Æ BIRTHDATE ‚ÌŒ^‚ðŒˆ‚ß‚é‚½‚ß‚É ResultSetMetaData
- ‚ðŽg—p‚µ‚Ü‚·Bˆê•ûAID ‚ÌŒ^‚Í–¾Ž¦“I‚ÉŽw’肳‚ê‚Ä‚¢‚Ü‚·B
+ ã“ã‚Œã¯æœ¬è³ªçš„ã«å‰ã¨åŒã˜ã‚¯ã‚¨ãƒªã§ã™ãŒã€ã€
+ NAME 㨠BIRTHDATE ã®åž‹ã‚’決ã‚ã‚‹ãŸã‚ã« ResultSetMetaData
+ を使用ã—ã¾ã™ã€‚一方ã€ID ã®åž‹ã¯æ˜Žç¤ºçš„ã«æŒ‡å®šã•ã‚Œã¦ã„ã¾ã™ã€‚
- ResultSetMetaData ‚©‚ç•Ô‚³‚ê‚é java.sql.Types ‚ð Hibernate ‚ÌŒ^‚É
- ƒ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚ÍADialect ‚ª§Œä‚µ‚Ü‚·B
- –¾Ž¦‚³‚ꂽŒ^‚ªƒ}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚È‚¢‚©AŒ‹‰Ê‚ÌŒ^‚ªŠú‘Ò‚µ‚½‚à‚̂ƈقȂéê‡A
- Dialect ‚Ì registerHibernateType ‚ðŒÄ‚Ño‚µA
- ƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚Ü‚·B
+ ResultSetMetaData ã‹ã‚‰è¿”ã•ã‚Œã‚‹ java.sql.Types ã‚’ Hibernate ã®åž‹ã«
+ マッピングã™ã‚‹ã“ã¨ã¯ã€Dialect ãŒåˆ¶å¾¡ã—ã¾ã™ã€‚
+ 明示ã•ã‚ŒãŸåž‹ãŒãƒžãƒƒãƒ”ングã•ã‚Œã¦ã„ãªã„ã‹ã€çµæžœã®åž‹ãŒæœŸå¾…ã—ãŸã‚‚ã®ã¨ç•°ãªã‚‹å ´åˆã€
+ Dialect ã® registerHibernateType を呼ã³å‡ºã—ã€
+ カスタマイズã§ãã¾ã™ã€‚
- ƒGƒ“ƒeƒBƒeƒB‚̃NƒGƒŠ
+ エンティティã®ã‚¯ã‚¨ãƒª
- ‚±‚±‚܂ł̃NƒGƒŠ‚ÍA‚·‚ׂăXƒJƒ‰[’l‚ð•Ô‚·‚à‚Ì‚Å‚µ‚½B
- Šî–{“I‚ÉAƒŠƒUƒ‹ƒgƒZƒbƒg‚©‚çu–¢‰ÁHv‚Ì’l‚ð•Ô‚µ‚Ü‚·B
- ˆÈ~‚Å‚ÍAaddEntity() ‚É‚æ‚èAƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚©‚ç
- ƒGƒ“ƒeƒBƒeƒBƒIƒuƒWƒFƒNƒg‚ðŽæ“¾‚·‚é•û–@‚ðŽ¦‚µ‚Ü‚·B
+ ã“ã“ã¾ã§ã®ã‚¯ã‚¨ãƒªã¯ã€ã™ã¹ã¦ã‚¹ã‚«ãƒ©ãƒ¼å€¤ã‚’è¿”ã™ã‚‚ã®ã§ã—ãŸã€‚
+ 基本的ã«ã€ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‹ã‚‰ã€ŒæœªåŠ å·¥ã€ã®å€¤ã‚’è¿”ã—ã¾ã™ã€‚
+ 以é™ã§ã¯ã€addEntity() ã«ã‚ˆã‚Šã€ãƒã‚¤ãƒ†ã‚£ãƒ–SQLクエリã‹ã‚‰
+ エンティティオブジェクトをå–å¾—ã™ã‚‹æ–¹æ³•ã‚’示ã—ã¾ã™ã€‚
- ‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+ ã“ã®ã‚¯ã‚¨ãƒªã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’下記ã«ç¤ºã—ã¾ã™ã€‚
- SQLƒNƒGƒŠ•¶Žš—ñ
+ SQLクエリ文å—列
- ƒNƒGƒŠ‚ª•Ô‚·ƒGƒ“ƒeƒBƒeƒB‚ÆSQLƒe[ƒuƒ‹‚Ì•Ê–¼
+ クエリãŒè¿”ã™ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¨SQLテーブルã®åˆ¥å
- Cat‚ªID, NAME, BIRTHDATE‚̃Jƒ‰ƒ€‚ðŽg‚Á‚ăNƒ‰ƒX‚Ƀ}ƒbƒsƒ“ƒO‚³‚ê‚éê‡A
- ã‹L‚̃NƒGƒŠ‚Í‚Ç‚¿‚ç‚àA—v‘f‚ªCatƒGƒ“ƒeƒBƒeƒB‚Å‚ ‚郊ƒXƒg‚ð•Ô‚µ‚Ü‚·B
+ CatãŒID, NAME, BIRTHDATEã®ã‚«ãƒ©ãƒ を使ã£ã¦ã‚¯ãƒ©ã‚¹ã«ãƒžãƒƒãƒ”ングã•ã‚Œã‚‹å ´åˆã€
+ 上記ã®ã‚¯ã‚¨ãƒªã¯ã©ã¡ã‚‰ã‚‚ã€è¦ç´ ãŒCatエンティティã§ã‚るリストを返ã—ã¾ã™ã€‚
- ƒGƒ“ƒeƒBƒeƒB‚ð•Ê‚̃Gƒ“ƒeƒBƒeƒB‚É ‘½‘Îˆê ‚Åƒ}ƒbƒsƒ“ƒO‚µ‚Ä‚¢‚éꇂÍA
- ƒlƒCƒeƒBƒuƒNƒGƒŠ‚ðŽÀs‚·‚éÛ‚ÉA‚±‚̕ʂ̃Gƒ“ƒeƒBƒeƒB‚ð•Ô‚·‚±‚Æ‚à—v‹‚µ‚Ü‚·B
- ‚³‚à‚È‚¯‚ê‚ÎAƒf[ƒ^ƒx[ƒXŒÅ—L‚Ìucolumn not found(ƒJƒ‰ƒ€‚ªŒ©‚‚©‚è‚Ü‚¹‚ñ)vƒGƒ‰[‚ª”¶‚µ‚Ü‚·B
- * •\‹L‚ðŽg—p‚µ‚½Û‚ÍA’ljÁ‚̃Jƒ‰ƒ€‚ªŽ©“®“I‚É•Ô‚³‚ê‚Ü‚·‚ªA
- ŽŸ‚Ì—á‚̂悤‚ÉADog ‚É ‘½‘Îˆê ‚Å‚ ‚邱‚Æ‚ð
- –¾Ž¦‚·‚邱‚Æ‚ðŽ„‚½‚¿‚ÍD‚Ý‚Ü‚·B
+ エンティティを別ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã« 多対一 ã§ãƒžãƒƒãƒ”ングã—ã¦ã„ã‚‹å ´åˆã¯ã€
+ ãƒã‚¤ãƒ†ã‚£ãƒ–クエリを実行ã™ã‚‹éš›ã«ã€ã“ã®åˆ¥ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’è¿”ã™ã“ã¨ã‚‚è¦æ±‚ã—ã¾ã™ã€‚
+ ã•ã‚‚ãªã‘ã‚Œã°ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å›ºæœ‰ã®ã€Œcolumn not found(カラムãŒè¦‹ã¤ã‹ã‚Šã¾ã›ã‚“)ã€ã‚¨ãƒ©ãƒ¼ãŒç™ºç”Ÿã—ã¾ã™ã€‚
+ * 表記を使用ã—ãŸéš›ã¯ã€è¿½åŠ ã®ã‚«ãƒ©ãƒ ãŒè‡ªå‹•çš„ã«è¿”ã•ã‚Œã¾ã™ãŒã€
+ 次ã®ä¾‹ã®ã‚ˆã†ã«ã€Dog 㫠多対一 ã§ã‚ã‚‹ã“ã¨ã‚’
+ 明示ã™ã‚‹ã“ã¨ã‚’ç§ãŸã¡ã¯å¥½ã¿ã¾ã™ã€‚
- ‚±‚ê‚É‚æ‚è cat.getDog() ‚ª³‚µ‚‹@”\‚µ‚Ü‚·B
+ ã“ã‚Œã«ã‚ˆã‚Š cat.getDog() ãŒæ£ã—ã機能ã—ã¾ã™ã€‚
- ŠÖ˜A‚ƃRƒŒƒNƒVƒ‡ƒ“‚Ì‘€ì
+ 関連ã¨ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®æ“作
- ƒvƒƒLƒV‚ð‰Šú‰»‚·‚邽‚ß‚Ì—]•ª‚Ȉ—‚ð”ð‚¯‚é‚½‚ßA
- Dog ‚Ì’†‚Å‘¦ŽžŒ‹‡‚Å‚«‚Ü‚·B
- ‚±‚ê‚Í addJoin() ƒƒ\ƒbƒh‚É‚æ‚ès‚¢‚Ü‚·B
- ŠÖ˜A‚à‚µ‚‚̓RƒŒƒNƒVƒ‡ƒ“‚ÉŒ‹‡‚Å‚«‚Ü‚·B
+ プãƒã‚ã‚·ã‚’åˆæœŸåŒ–ã™ã‚‹ãŸã‚ã®ä½™åˆ†ãªå‡¦ç†ã‚’é¿ã‘ã‚‹ãŸã‚ã€
+ Dog ã®ä¸ã§å³æ™‚çµåˆã§ãã¾ã™ã€‚
+ ã“れ㯠addJoin() メソッドã«ã‚ˆã‚Šè¡Œã„ã¾ã™ã€‚
+ 関連もã—ãã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«çµåˆã§ãã¾ã™ã€‚
- ‚±‚Ì—á‚Ì’†‚ÅA•Ô‚³‚ê‚é Cat ‚ÍA
- ƒf[ƒ^ƒx[ƒX‚Ö‚Ì—]•ªˆ—‚È‚µ‚ÅA
- Š®‘S‚ɉŠú‰»‚³‚ꂽ dog ƒvƒƒpƒeƒB‚ðŽ‚¿‚Ü‚·B
- Œ‹‡‘Îۂ̃vƒƒpƒeƒB‚ւ̃pƒX‚ðŽw’è‚Å‚«‚é‚悤‚ÉA
- •Ê–¼iucatvj‚ð’ljÁ‚µ‚½‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‘¦ŽžŒ‹‡‚à“¯‚¶‚悤‚É‚Å‚«‚Ü‚·B
- ‚½‚Æ‚¦‚ÎACat ‚ªˆê‘Α½‚Å Dog
- ‚ðŽ‚Á‚Ä‚¢‚½ê‡AŽŸ‚̂悤‚É‚È‚è‚Ü‚·B
+ ã“ã®ä¾‹ã®ä¸ã§ã€è¿”ã•ã‚Œã‚‹ Cat ã¯ã€
+ データベースã¸ã®ä½™åˆ†å‡¦ç†ãªã—ã§ã€
+ 完全ã«åˆæœŸåŒ–ã•ã‚ŒãŸ dog プãƒãƒ‘ティをæŒã¡ã¾ã™ã€‚
+ çµåˆå¯¾è±¡ã®ãƒ—ãƒãƒ‘ティã¸ã®ãƒ‘スを指定ã§ãるよã†ã«ã€
+ 別å(「catã€ï¼‰ã‚’è¿½åŠ ã—ãŸã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ コレクションã®å³æ™‚çµåˆã‚‚åŒã˜ã‚ˆã†ã«ã§ãã¾ã™ã€‚
+ ãŸã¨ãˆã°ã€Cat ãŒä¸€å¯¾å¤šã§ Dog
+ ã‚’æŒã£ã¦ã„ãŸå ´åˆã€æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
- Œ»Ý‚Ì‚Æ‚±‚ëA
- Hibernate‚ÅŽg‚¢‚â‚·‚‚·‚邽‚ß‚ÌSQLƒNƒGƒŠ‚ÌŠg’£‚È‚µ‚ÉA
- ƒlƒCƒeƒBƒuƒNƒGƒŠ‚ʼn½‚©‚ð‰Â”\‚É‚·‚éŒÀŠE‚É—ˆ‚Ä‚¢‚Ü‚·B
- “¯‚¶Œ^‚̃Gƒ“ƒeƒBƒeƒB‚ð•¡”•Ô‚·Û‚âAƒfƒtƒHƒ‹ƒg‚Ì•Ê–¼‚â—ñ–¼‚Å\•ª‚Å‚Í‚È‚¢ê‡‚ÉA
- –â‘è‚Í‹N‚±‚èŽn‚ß‚Ü‚·B
+ ç¾åœ¨ã®ã¨ã“ã‚ã€
+ Hibernateã§ä½¿ã„ã‚„ã™ãã™ã‚‹ãŸã‚ã®SQLクエリã®æ‹¡å¼µãªã—ã«ã€
+ ãƒã‚¤ãƒ†ã‚£ãƒ–クエリã§ä½•ã‹ã‚’å¯èƒ½ã«ã™ã‚‹é™ç•Œã«æ¥ã¦ã„ã¾ã™ã€‚
+ åŒã˜åž‹ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’複数返ã™éš›ã‚„ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®åˆ¥åや列åã§å分ã§ã¯ãªã„å ´åˆã«ã€
+ å•é¡Œã¯èµ·ã“り始ã‚ã¾ã™ã€‚
- •¡”ƒGƒ“ƒeƒBƒeƒB‚̎擾
+ 複数エンティティã®å–å¾—
- ‚±‚±‚Ü‚Å‚ÍAƒŠƒUƒ‹ƒgƒZƒbƒg‚̃Jƒ‰ƒ€–¼‚ÍA
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÅŽw’肳‚ꂽƒJƒ‰ƒ€–¼‚Æ“¯‚¶‚Å‚ ‚é‚Ɖ¼’肵‚Ä‚¢‚Ü‚µ‚½B
- •¡”‚̃e[ƒuƒ‹‚ª“¯‚¶ƒJƒ‰ƒ€–¼‚ðŽ‚Âꇂª‚ ‚邽‚ßA
- •¡”ƒe[ƒuƒ‹‚ðŒ‹‡‚·‚éSQLƒNƒGƒŠ‚Å–â‘è‚Æ‚È‚éꇂª‚ ‚è‚Ü‚·B
+ ã“ã“ã¾ã§ã¯ã€ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã®ã‚«ãƒ©ãƒ åã¯ã€
+ マッピングファイルã§æŒ‡å®šã•ã‚ŒãŸã‚«ãƒ©ãƒ åã¨åŒã˜ã§ã‚ã‚‹ã¨ä»®å®šã—ã¦ã„ã¾ã—ãŸã€‚
+ 複数ã®ãƒ†ãƒ¼ãƒ–ルãŒåŒã˜ã‚«ãƒ©ãƒ åã‚’æŒã¤å ´åˆãŒã‚ã‚‹ãŸã‚ã€
+ 複数テーブルをçµåˆã™ã‚‹SQLクエリã§å•é¡Œã¨ãªã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚
- ‰º‹L‚̂悤‚ÈiŽ¸”s‚µ‚»‚¤‚ÈjƒNƒGƒŠ‚Å‚ÍA
- ƒJƒ‰ƒ€•Ê–¼ƒCƒ“ƒWƒFƒNƒVƒ‡ƒ“icolumn alias injectionj‚ª•K—v‚Å‚·B
+ 下記ã®ã‚ˆã†ãªï¼ˆå¤±æ•—ã—ãã†ãªï¼‰ã‚¯ã‚¨ãƒªã§ã¯ã€
+ カラム別åインジェクション(column alias injection)ãŒå¿…è¦ã§ã™ã€‚
- ‚±‚̃NƒGƒŠ‚̈Ó}‚ÍA
- ‚Ps‚²‚Æ‚É‚Q‚‚ÌCatƒCƒ“ƒXƒ^ƒ“ƒXA‚‚܂è”L‚Æ‚»‚Ì•êe‚ð•Ô‚·‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- “¯‚¶ƒJƒ‰ƒ€–¼‚Ƀ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚É‚æ‚è–¼‘O‚ªÕ“Ë‚·‚邽‚ßA‚±‚̃NƒGƒŠ‚ÍŽ¸”s‚µ‚Ü‚·B
- ƒx[ƒ^ƒx[ƒX‚É‚æ‚Á‚Ä‚ÍA•Ô‚³‚ê‚éƒJƒ‰ƒ€‚Ì•Ê–¼‚ª "c.ID"A"c.NAME" ‚È‚Ç‚ÌŒ`Ž®‚Å‚ ‚èA
- ƒ}ƒbƒsƒ“ƒO‚ÅŽw’肳‚ꂽƒJƒ‰ƒ€i"ID" ‚Æ "NAME"j‚Æ“™‚µ‚‚È‚¢‚½‚ßAŽ¸”s‚µ‚Ü‚·B
+ ã“ã®ã‚¯ã‚¨ãƒªã®æ„図ã¯ã€
+ 1行ã”ã¨ã«ï¼’ã¤ã®Catインスタンスã€ã¤ã¾ã‚ŠçŒ«ã¨ãã®æ¯è¦ªã‚’è¿”ã™ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ åŒã˜ã‚«ãƒ©ãƒ åã«ãƒžãƒƒãƒ”ングã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šåå‰ãŒè¡çªã™ã‚‹ãŸã‚ã€ã“ã®ã‚¯ã‚¨ãƒªã¯å¤±æ•—ã—ã¾ã™ã€‚
+ ベータベースã«ã‚ˆã£ã¦ã¯ã€è¿”ã•ã‚Œã‚‹ã‚«ãƒ©ãƒ ã®åˆ¥å㌠"c.ID"ã€"c.NAME" ãªã©ã®å½¢å¼ã§ã‚ã‚Šã€
+ マッピングã§æŒ‡å®šã•ã‚ŒãŸã‚«ãƒ©ãƒ ("ID" 㨠"NAME")ã¨ç‰ã—ããªã„ãŸã‚ã€å¤±æ•—ã—ã¾ã™ã€‚
- ‰º‹L‚ÌŒ`Ž®‚ÍAƒJƒ‰ƒ€–¼‚ªd•¡‚µ‚Ä‚à‘åä•v‚Å‚·B
+ 下記ã®å½¢å¼ã¯ã€ã‚«ãƒ©ãƒ åãŒé‡è¤‡ã—ã¦ã‚‚大丈夫ã§ã™ã€‚
- ‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+ ã“ã®ã‚¯ã‚¨ãƒªã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’下記ã«ç¤ºã—ã¾ã™ã€‚
- SQLƒNƒGƒŠ•¶Žš—ñ
- iHibernate‚ªƒJƒ‰ƒ€‚Ì•Ê–¼‚ð‘}“ü‚·‚邽‚߂̃vƒŒ[ƒXƒzƒ‹ƒ_‚ðŠÜ‚Þj
+ SQLクエリ文å—列
+ (HibernateãŒã‚«ãƒ©ãƒ ã®åˆ¥åを挿入ã™ã‚‹ãŸã‚ã®ãƒ—レースホルダをå«ã‚€ï¼‰
- ƒNƒGƒŠ‚É‚æ‚Á‚Ä•Ô‚³‚ê‚éƒGƒ“ƒeƒBƒeƒB
+ クエリã«ã‚ˆã£ã¦è¿”ã•ã‚Œã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£
- ã‹L‚ÅŽg—p‚µ‚Ä‚¢‚é {cat.*} ‚Æ {mother.*} ‚Æ‚¢‚¤•\‹L‚ÍA
- u‚·‚ׂẴvƒƒpƒeƒBv‚ð•\‚·È—ªŒ`‚Å‚·B
- ‘ã‚í‚è‚ÉA–¾Ž¦“I‚ɃJƒ‰ƒ€‚ð—ñ‹“‚µ‚Ä‚à‚æ‚¢‚Å‚·‚ªA
- ‚»‚ÌꇂÍAHibernate‚ÉŠeƒvƒƒpƒeƒB‚ɑΉž‚·‚éSQLƒJƒ‰ƒ€‚Ì•Ê–¼‚ð‘}“ü‚³‚¹‚é‚ׂ«‚Å‚µ‚傤B
- ƒJƒ‰ƒ€‚Ì•Ê–¼‚Ì‚½‚߂̃vƒŒ[ƒXƒzƒ‹ƒ_‚ÍAƒe[ƒuƒ‹‚Ì•Ê–¼‚É‚æ‚Á‚ÄCü‚³‚ꂽƒvƒƒpƒeƒB–¼‚Å‚·B
- ‰º‹L‚Ì—á‚Å‚ÍA•Ê‚̃e[ƒuƒ‹ cat_log ‚©‚ç
- ƒ}ƒbƒsƒ“ƒOƒƒ^ƒf[ƒ^‚Å’è‹`‚³‚ꂽ Cat ‚Æ‚»‚Ì•êe‚𕜌³‚µ‚Ü‚·B
- ‚à‚µD‚Þ‚È‚çAwhereß‚Ì’†‚Å‚àAƒvƒƒpƒeƒB‚Ì•Ê–¼‚ðŽg‚¦‚Ü‚·B
+ 上記ã§ä½¿ç”¨ã—ã¦ã„ã‚‹ {cat.*} 㨠{mother.*} ã¨ã„ã†è¡¨è¨˜ã¯ã€
+ 「ã™ã¹ã¦ã®ãƒ—ãƒãƒ‘ティã€ã‚’表ã™çœç•¥å½¢ã§ã™ã€‚
+ 代ã‚ã‚Šã«ã€æ˜Žç¤ºçš„ã«ã‚«ãƒ©ãƒ を列挙ã—ã¦ã‚‚よã„ã§ã™ãŒã€
+ ãã®å ´åˆã¯ã€Hibernateã«å„プãƒãƒ‘ティã«å¯¾å¿œã™ã‚‹SQLカラムã®åˆ¥åを挿入ã•ã›ã‚‹ã¹ãã§ã—ょã†ã€‚
+ カラムã®åˆ¥åã®ãŸã‚ã®ãƒ—レースホルダã¯ã€ãƒ†ãƒ¼ãƒ–ルã®åˆ¥åã«ã‚ˆã£ã¦ä¿®é£¾ã•ã‚ŒãŸãƒ—ãƒãƒ‘ティåã§ã™ã€‚
+ 下記ã®ä¾‹ã§ã¯ã€åˆ¥ã®ãƒ†ãƒ¼ãƒ–ル cat_log ã‹ã‚‰
+ マッピングメタデータã§å®šç¾©ã•ã‚ŒãŸ Cat ã¨ãã®æ¯è¦ªã‚’復元ã—ã¾ã™ã€‚
+ ã‚‚ã—好むãªã‚‰ã€where節ã®ä¸ã§ã‚‚ã€ãƒ—ãƒãƒ‘ティã®åˆ¥åを使ãˆã¾ã™ã€‚
- •Ê–¼‚ƃvƒƒpƒeƒB‚̃Šƒtƒ@ƒŒƒ“ƒX
+ 別åã¨ãƒ—ãƒãƒ‘ティã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹
- ‘½‚‚Ìê‡Aã‹L‚̂悤‚È•Ê–¼ƒCƒ“ƒWƒFƒNƒVƒ‡ƒ“‚ª•K—v‚Å‚·B
- ‚½‚¾‚µA•¡‡ƒvƒƒpƒeƒBAŒp³Ž¯•ÊŽqAƒRƒŒƒNƒVƒ‡ƒ“‚Ȃǂ̂悤‚È
- ‚æ‚è•¡ŽG‚ȃ}ƒbƒsƒ“ƒO‚ÆŠÖ˜A‚·‚éƒNƒGƒŠ‚ª‚È‚¯‚ê‚΂ł·B
- ‚ ‚é“Á’è‚Ì•Ê–¼‚ðŽg—p‚·‚邱‚Æ‚É‚æ‚èAHibernate‚Í“KØ‚È•Ê–¼‚ð‘}“ü‚Å‚«‚Ü‚·B
+ 多ãã®å ´åˆã€ä¸Šè¨˜ã®ã‚ˆã†ãªåˆ¥åインジェクションãŒå¿…è¦ã§ã™ã€‚
+ ãŸã ã—ã€è¤‡åˆãƒ—ãƒãƒ‘ティã€ç¶™æ‰¿è˜åˆ¥åã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãªã©ã®ã‚ˆã†ãª
+ より複雑ãªãƒžãƒƒãƒ”ングã¨é–¢é€£ã™ã‚‹ã‚¯ã‚¨ãƒªãŒãªã‘ã‚Œã°ã§ã™ã€‚
+ ã‚る特定ã®åˆ¥åを使用ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€Hibernateã¯é©åˆ‡ãªåˆ¥åを挿入ã§ãã¾ã™ã€‚
- •Ê–¼ƒCƒ“ƒWƒFƒNƒVƒ‡ƒ“‚Æ‚µ‚ÄŽg—p‚Å‚«‚é‚à‚Ì‚ð‰º•\‚ÉŽ¦‚µ‚Ü‚·B
- ’ˆÓF‰º•\‚Ì•Ê–¼‚͈ê—á‚Å‚·B
- ‚»‚ꂼ‚ê‚Ì•Ê–¼‚͈êˆÓ‚Å‚ ‚èAŽg—p‚·‚éÛ‚É‚Í‚¨‚»‚炈قȂ閼‘O‚ðŽ‚¿‚Ü‚·B
+ 別åインジェクションã¨ã—ã¦ä½¿ç”¨ã§ãã‚‹ã‚‚ã®ã‚’下表ã«ç¤ºã—ã¾ã™ã€‚
+ 注æ„:下表ã®åˆ¥åã¯ä¸€ä¾‹ã§ã™ã€‚
+ ãã‚Œãžã‚Œã®åˆ¥åã¯ä¸€æ„ã§ã‚ã‚Šã€ä½¿ç”¨ã™ã‚‹éš›ã«ã¯ãŠãらãç•°ãªã‚‹åå‰ã‚’æŒã¡ã¾ã™ã€‚
- •Ê–¼‚É‘}“ü‚·‚é–¼‘O
+ 別åã«æŒ¿å…¥ã™ã‚‹åå‰
@@ -249,60 +251,60 @@ List loggedCats = sess.createSQLQuery(sql)
- à–¾
- \•¶
- —á
+ 説明
+ 構文
+ 例
- ’Pƒ‚ȃvƒƒpƒeƒB
+ å˜ç´”ãªãƒ—ãƒãƒ‘ティ
{[aliasname].[propertyname]}
A_NAME as {item.name}
- •¡‡ƒvƒƒpƒeƒB
+ 複åˆãƒ—ãƒãƒ‘ティ
{[aliasname].[componentname].[propertyname]}
CURRENCY as {item.amount.currency}, VALUE as
{item.amount.value}
- ƒGƒ“ƒeƒBƒeƒB‚̃Nƒ‰ƒX‚ðŽ¯•Ê‚·‚é’l
+ エンティティã®ã‚¯ãƒ©ã‚¹ã‚’è˜åˆ¥ã™ã‚‹å€¤
{[aliasname].class}
DISC as {item.class}
- ƒGƒ“ƒeƒBƒeƒB‚Ì‘SƒvƒƒpƒeƒB
+ エンティティã®å…¨ãƒ—ãƒãƒ‘ティ
{[aliasname].*}
{item.*}
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃L[
+ コレクションã®ã‚ー
{[aliasname].key}
ORGID as {coll.key}
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÌID
+ コレクションã®ID
{[aliasname].id}
EMPID as {coll.id}
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f
+ コレクションã®è¦ç´
{[aliasname].element}
XID as {coll.element}
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚̃vƒƒpƒeƒB
+ コレクションã®è¦ç´ ã®ãƒ—ãƒãƒ‘ティ
{[aliasname].element.[propertyname]}
NAME as {coll.element.name}
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚Ì‘SƒvƒƒpƒeƒB
+ コレクションã®è¦ç´ ã®å…¨ãƒ—ãƒãƒ‘ティ
{[aliasname].element.*}
{coll.element.*}
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‘SƒvƒƒpƒeƒB
+ コレクションã®å…¨ãƒ—ãƒãƒ‘ティ
{[aliasname].*}
{coll.*}
@@ -313,43 +315,43 @@ List loggedCats = sess.createSQLQuery(sql)
- ŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒGƒ“ƒeƒBƒeƒB‚̎擾
+ 管ç†ã•ã‚Œã¦ã„ãªã„エンティティã®å–å¾—
- ƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚É ResultTransformer ‚ð“K—p‚Å‚«‚Ü‚·B
- ‰º‹L‚̂悤‚ÉA—Ⴆ‚ÎAŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒGƒ“ƒeƒBƒeƒB‚ð•Ô‚µ‚Ü‚·B
+ ãƒã‚¤ãƒ†ã‚£ãƒ–SQLクエリ㫠ResultTransformer ã‚’é©ç”¨ã§ãã¾ã™ã€‚
+ 下記ã®ã‚ˆã†ã«ã€ä¾‹ãˆã°ã€ç®¡ç†ã•ã‚Œã¦ã„ãªã„エンティティを返ã—ã¾ã™ã€‚
- ‚±‚̃NƒGƒŠ‚ÅŽw’肳‚ê‚Ä‚¢‚é‚à‚Ì‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+ ã“ã®ã‚¯ã‚¨ãƒªã§æŒ‡å®šã•ã‚Œã¦ã„ã‚‹ã‚‚ã®ã‚’下記ã«ç¤ºã—ã¾ã™ã€‚
- SQLƒNƒGƒŠ•¶Žš—ñ
+ SQLクエリ文å—列
- Œ‹‰Ê‚ð•ÏŠ·‚µ‚½‚à‚Ì
+ çµæžœã‚’変æ›ã—ãŸã‚‚ã®
- ã‹L‚̃NƒGƒŠ‚ÍAƒCƒ“ƒXƒ^ƒ“ƒX‰»‚µANAME ‚Æ BIRTHDATE ‚Ì’l‚ð
- ‘Ήž‚·‚éƒvƒƒpƒeƒB‚à‚µ‚‚̓tƒB[ƒ‹ƒh‚É‘}“ü‚µ‚½ CatDTO
- ‚̃ŠƒXƒg‚ð•Ô‚µ‚Ü‚·B
+ 上記ã®ã‚¯ã‚¨ãƒªã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã—ã€NAME 㨠BIRTHDATE ã®å€¤ã‚’
+ 対応ã™ã‚‹ãƒ—ãƒãƒ‘ティもã—ãã¯ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«æŒ¿å…¥ã—㟠CatDTO
+ ã®ãƒªã‚¹ãƒˆã‚’è¿”ã—ã¾ã™ã€‚
- Œp³‚̧Œä
+ 継承ã®åˆ¶å¾¡
- Œp³‚̈ꕔ‚Æ‚µ‚ă}ƒbƒsƒ“ƒO‚³‚ꂽƒGƒ“ƒeƒBƒeƒB‚ð–â‚¢‡‚킹‚éƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚ÍA
- ƒx[ƒX‚̃Nƒ‰ƒX‚Æ‚»‚Ì‚·‚ׂẴTƒuƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚·‚ׂĂðŠÜ‚Ü‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ 継承ã®ä¸€éƒ¨ã¨ã—ã¦ãƒžãƒƒãƒ”ングã•ã‚ŒãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’å•ã„åˆã‚ã›ã‚‹ãƒã‚¤ãƒ†ã‚£ãƒ–SQLクエリã¯ã€
+ ベースã®ã‚¯ãƒ©ã‚¹ã¨ãã®ã™ã¹ã¦ã®ã‚µãƒ–クラスã®ãƒ—ãƒãƒ‘ティã™ã¹ã¦ã‚’å«ã¾ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ƒpƒ‰ƒ[ƒ^
+ パラメータ
- ƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚ÍAˆÈ‰º‚̂悤‚ÉA
- –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^i:namej‚Æ“¯—l‚Ɉʒuƒpƒ‰ƒ[ƒ^‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+ ãƒã‚¤ãƒ†ã‚£ãƒ–SQLクエリã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã€
+ åå‰ä»˜ãパラメータ(:name)ã¨åŒæ§˜ã«ä½ç½®ãƒ‘ラメータをサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
- –¼‘O•t‚«SQLƒNƒGƒŠ
+ åå‰ä»˜ãSQLクエリ
- –¼‘O•t‚«SQLƒNƒGƒŠ‚̓}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Å’è‹`‚·‚邱‚Æ‚ª‚Å‚«A
- –¼‘O•t‚«HQLƒNƒGƒŠ‚Æ‘S‚“¯‚¶•û–@‚ŌĂԂ±‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚±‚Ìê‡AaddEntity() ‚ðŒÄ‚Ño‚·•K—v‚Í ‚È‚¢ ‚Å‚·B
+ åå‰ä»˜ãSQLクエリã¯ãƒžãƒƒãƒ”ングドã‚ュメントã§å®šç¾©ã™ã‚‹ã“ã¨ãŒã§ãã€
+ åå‰ä»˜ãHQLクエリã¨å…¨ãåŒã˜æ–¹æ³•ã§å‘¼ã¶ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã“ã®å ´åˆã€addEntity() を呼ã³å‡ºã™å¿…è¦ã¯ ãªã„ ã§ã™ã€‚
@@ -381,9 +383,9 @@ List pusList = query.setString("name", "Pus%").list(); ]]>
- ŠÖ˜A‚ðŒ‹‡‚·‚邽‚߂ƃRƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚·‚éƒNƒGƒŠ‚ð’è‹`‚·‚邽‚ß‚ÉA‚»‚ꂼ‚ê
- <return-join> ‚Æ <load-collection>
- —v‘f‚ðŽg‚¢‚Ü‚·B
+ 関連をçµåˆã™ã‚‹ãŸã‚ã¨ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’åˆæœŸåŒ–ã™ã‚‹ã‚¯ã‚¨ãƒªã‚’定義ã™ã‚‹ãŸã‚ã«ã€ãã‚Œãžã‚Œ
+ <return-join> 㨠<load-collection>
+ è¦ç´ を使ã„ã¾ã™ã€‚
@@ -401,9 +403,9 @@ List pusList = query.setString("name", "Pus%").list(); ]]>]]>
- –¼‘O•t‚«SQLƒNƒGƒŠ‚̓XƒJƒ‰’l‚ð•Ô‚·‚±‚Æ‚à‚Å‚«‚Ü‚·B
- <return-scalar> —v‘f‚ðŽg‚Á‚ÄA
- —ñ‚Ì•Ê–¼‚ÆHibernate‚ÌŒ^‚ð錾‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ åå‰ä»˜ãSQLクエリã¯ã‚¹ã‚«ãƒ©å€¤ã‚’è¿”ã™ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ <return-scalar> è¦ç´ を使ã£ã¦ã€
+ 列ã®åˆ¥åã¨Hibernateã®åž‹ã‚’宣言ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
@@ -414,10 +416,10 @@ List pusList = query.setString("name", "Pus%").list(); ]]>]]>
- ƒŠƒUƒ‹ƒgƒZƒbƒg‚̃}ƒbƒsƒ“ƒOî•ñ‚ð <resultset>
- ‚ÉŠOo‚µ‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- •¡”‚Ì–¼‘O•t‚«ƒNƒGƒŠ‚ÅÄ—˜—p‚µ‚½‚èAsetResultSetMapping()
- API‚ð’Ê‚µ‚ÄÄ—˜—p‚µ‚½‚è‚Å‚«‚Ü‚·B
+ リザルトセットã®ãƒžãƒƒãƒ”ãƒ³ã‚°æƒ…å ±ã‚’ <resultset>
+ ã«å¤–出ã—ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 複数ã®åå‰ä»˜ãクエリã§å†åˆ©ç”¨ã—ãŸã‚Šã€setResultSetMapping()
+ APIを通ã—ã¦å†åˆ©ç”¨ã—ãŸã‚Šã§ãã¾ã™ã€‚
@@ -439,8 +441,8 @@ List pusList = query.setString("name", "Pus%").list(); ]]>]]>
- ‘ã‚í‚è‚ÉAhbmƒtƒ@ƒCƒ‹“à‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚̃}ƒbƒsƒ“ƒOî•ñ‚ð
- ’¼ÚJavaƒR[ƒh‚Ì’†‚ÅŽg—p‚Å‚«‚Ü‚·B
+ 代ã‚ã‚Šã«ã€hbmファイル内ã®ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã®ãƒžãƒƒãƒ”ãƒ³ã‚°æƒ…å ±ã‚’
+ 直接Javaコードã®ä¸ã§ä½¿ç”¨ã§ãã¾ã™ã€‚
- —ñ‚Æ—ñ‚Ì•Ê–¼‚𖾎¦“I‚ÉŽw’è‚·‚邽‚ß‚É return-property ‚ðŽg‚¤
+ 列ã¨åˆ—ã®åˆ¥åを明示的ã«æŒ‡å®šã™ã‚‹ãŸã‚ã« return-property を使ã†
- •Ê–¼‚ð‘}“ü‚·‚邽‚ß‚É {} \•¶‚ðŽg‚¤‘ã‚í‚è‚ÉA
- <return-property> ‚ðŽg‚¢A
- ‚Ç‚Ì—ñ‚Ì•Ê–¼‚ðŽg‚¤‚Ì‚©‚𖾎¦‚Å‚«‚Ü‚·B
+ 別åを挿入ã™ã‚‹ãŸã‚ã« {} 構文を使ã†ä»£ã‚ã‚Šã«ã€
+ <return-property> を使ã„ã€
+ ã©ã®åˆ—ã®åˆ¥åを使ã†ã®ã‹ã‚’明示ã§ãã¾ã™ã€‚
@@ -468,9 +470,9 @@ List pusList = query.setString("name", "Pus%").list(); ]]>
]]>
- <return-property> ‚Í•¡”‚Ì—ñ‚àˆµ‚¦‚Ü‚·B
- ‚±‚ê‚ÍA•¡”—ñ‚̃vƒƒpƒeƒB‚ð‚«‚ßׂ©‚§Œä‚Å‚«‚È‚¢‚Æ‚¢‚¤A
- {} \•¶‚̧ŒÀ‚ð‰ðŒˆ‚µ‚Ü‚·B
+ <return-property> ã¯è¤‡æ•°ã®åˆ—も扱ãˆã¾ã™ã€‚
+ ã“ã‚Œã¯ã€è¤‡æ•°åˆ—ã®ãƒ—ãƒãƒ‘ティをãã‚ç´°ã‹ã制御ã§ããªã„ã¨ã„ã†ã€
+ {} 構文ã®åˆ¶é™ã‚’解決ã—ã¾ã™ã€‚
@@ -488,24 +490,24 @@ List pusList = query.setString("name", "Pus%").list(); ]]>]]>
- ‚±‚Ì—á‚Å‚ÍA‘}“ü‚Ì‚½‚ß‚Ì {} \•¶‚Æ‚¢‚Á‚µ‚å‚ÉA
- <return-property> ‚ðŽg‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- —ñ‚ƃvƒƒpƒeƒB‚ð‚ǂ̂悤‚ÉŽQÆ‚·‚é‚©‚ð‘I‚ׂ܂·B
+ ã“ã®ä¾‹ã§ã¯ã€æŒ¿å…¥ã®ãŸã‚ã® {} 構文ã¨ã„ã£ã—ょã«ã€
+ <return-property> を使ã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ 列ã¨ãƒ—ãƒãƒ‘ティをã©ã®ã‚ˆã†ã«å‚ç…§ã™ã‚‹ã‹ã‚’é¸ã¹ã¾ã™ã€‚
- ƒ}ƒbƒsƒ“ƒO‚É discriminator ‚ªŠÜ‚Ü‚ê‚Ä‚¢‚éê‡A
- discriminator ‚Ì—ñ‚ðŽw’è‚·‚邽‚ß‚ÉA<return-discriminator>
- ‚ðŽg‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ マッピング㫠discriminator ãŒå«ã¾ã‚Œã¦ã„ã‚‹å ´åˆã€
+ discriminator ã®åˆ—を指定ã™ã‚‹ãŸã‚ã«ã€<return-discriminator>
+ を使ã‚ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- –â‚¢‡‚킹‚·‚邽‚߂ɃXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg‚¤
+ å•ã„åˆã‚ã›ã™ã‚‹ãŸã‚ã«ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚’使ã†
- Hibernate‚̓o[ƒWƒ‡ƒ“3‚©‚çAƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ƃXƒgƒAƒhŠÖ”Œo—R‚Ì–â‚¢‡‚킹‚ª
- ƒTƒ|[ƒg‚³‚ê‚Ü‚µ‚½B
- ˆÈ~‚Ì•¶‘‚Ì‘½‚‚ÍA—¼•û‚É“–‚Ä‚Í‚Ü‚è‚Ü‚·B
- ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚âƒXƒgƒAƒhŠÖ”‚ðHibernate‚ÅŽg‚¤‚½‚ß‚É‚ÍA
- 1”Ô–Ú‚Ìo—̓pƒ‰ƒ[ƒ^‚Æ‚µ‚ăŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- Oracle 9i‚à‚µ‚‚Í‚»‚êˆÈã‚̃o[ƒWƒ‡ƒ“j‚̃XƒgƒAƒhƒvƒƒV[ƒWƒƒ‚Ì—á‚ðˆÈ‰º‚ÉŽ¦‚µ‚Ü‚·B
+ Hibernateã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³3ã‹ã‚‰ã€ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã¨ã‚¹ãƒˆã‚¢ãƒ‰é–¢æ•°çµŒç”±ã®å•ã„åˆã‚ã›ãŒ
+ サãƒãƒ¼ãƒˆã•ã‚Œã¾ã—ãŸã€‚
+ 以é™ã®æ–‡æ›¸ã®å¤šãã¯ã€ä¸¡æ–¹ã«å½“ã¦ã¯ã¾ã‚Šã¾ã™ã€‚
+ ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚„ストアド関数をHibernateã§ä½¿ã†ãŸã‚ã«ã¯ã€
+ 1番目ã®å‡ºåŠ›ãƒ‘ラメータã¨ã—ã¦ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’è¿”ã•ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ Oracle 9(もã—ãã¯ãれ以上ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼‰ã®ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã®ä¾‹ã‚’以下ã«ç¤ºã—ã¾ã™ã€‚
- Hibernate‚Å‚±‚̃NƒGƒŠ‚ðŽg‚¤‚½‚ß‚É‚ÍA
- –¼‘O•t‚«ƒNƒGƒŠ‚Ń}ƒbƒsƒ“ƒO‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
+ Hibernateã§ã“ã®ã‚¯ã‚¨ãƒªã‚’使ã†ãŸã‚ã«ã¯ã€
+ åå‰ä»˜ãクエリã§ãƒžãƒƒãƒ”ングã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
@@ -539,57 +541,57 @@ BEGIN
{ ? = call selectAllEmployments() }
]]>
- ’ˆÓF¡‚Ì‚Æ‚±‚ëAƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚̓XƒJƒ‰‚ƃGƒ“ƒeƒBƒeƒB‚ð•Ô‚·‚Ì‚Ý‚Å‚·B
- <return-join> ‚Æ <load-collection>
- ‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
+ 注æ„:今ã®ã¨ã“ã‚ã€ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã¯ã‚¹ã‚«ãƒ©ã¨ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’è¿”ã™ã®ã¿ã§ã™ã€‚
+ <return-join> 㨠<load-collection>
+ ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。
- ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg‚¤ã‚ł̃‹[ƒ‹‚ƧŒÀ
+ ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚’使ã†ä¸Šã§ã®ãƒ«ãƒ¼ãƒ«ã¨åˆ¶é™
- Hibernate‚ŃXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚âŠÖ”‚ðŽg‚¤‚½‚ß‚É‚ÍA
- ‚»‚̃vƒƒV[ƒWƒƒ‚Í‚¢‚‚‚©‚̃‹[ƒ‹‚É€‹’‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ƒ‹[ƒ‹‚É€‹’‚µ‚Ä‚¢‚È‚¢ƒvƒƒV[ƒWƒƒ‚ÍAHibernate‚ÅŽg‚¤‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
- ‚»‚ê‚Å‚àA€‹’‚µ‚Ä‚¢‚È‚¢ƒvƒƒV[ƒWƒƒ‚ðŽg‚¢‚½‚¢‚Ì‚Å‚ ‚ê‚ÎA
- session.connection() ‚ð’Ê‚¶‚ÄŽÀs‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ƒ‹[ƒ‹‚̓f[ƒ^ƒx[ƒX‚²‚ƂɈقȂè‚Ü‚·B
- ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚̃Zƒ}ƒ“ƒeƒBƒbƒNƒX‚ƃVƒ“ƒ^ƒbƒNƒX‚ÍA
- ƒf[ƒ^ƒx[ƒXƒxƒ“ƒ_‚²‚ƂɈقȂ邽‚ß‚Å‚·B
+ Hibernateã§ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚„関数を使ã†ãŸã‚ã«ã¯ã€
+ ãã®ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã¯ã„ãã¤ã‹ã®ãƒ«ãƒ¼ãƒ«ã«æº–æ‹ ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ ルールã«æº–æ‹ ã—ã¦ã„ãªã„プãƒã‚·ãƒ¼ã‚¸ãƒ£ã¯ã€Hibernateã§ä½¿ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+ ãã‚Œã§ã‚‚ã€æº–æ‹ ã—ã¦ã„ãªã„プãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚’使ã„ãŸã„ã®ã§ã‚ã‚Œã°ã€
+ session.connection() を通ã˜ã¦å®Ÿè¡Œã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ルールã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã”ã¨ã«ç•°ãªã‚Šã¾ã™ã€‚
+ ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã®ã‚»ãƒžãƒ³ãƒ†ã‚£ãƒƒã‚¯ã‚¹ã¨ã‚·ãƒ³ã‚¿ãƒƒã‚¯ã‚¹ã¯ã€
+ データベースベンダã”ã¨ã«ç•°ãªã‚‹ãŸã‚ã§ã™ã€‚
- setFirstResult()/setMaxResults() ‚ðŽg‚Á‚ÄA
- ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒƒNƒGƒŠ‚ðƒy[ƒW•ª‚¯‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+ setFirstResult()/setMaxResults() を使ã£ã¦ã€
+ ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚¯ã‚¨ãƒªã‚’ページ分ã‘ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
- „§‚·‚éŒÄ‚Ño‚µ•û‚ÍA•W€‚Å‚ ‚éSQL92‚É]‚¤‚±‚Æ‚Å‚·B
- { ? = call functionName(<parameters>) } ‚â
- { ? = call procedureName(<parameters>) } ‚Å‚·B
- ƒlƒCƒeƒBƒu‚ȌĂÑo‚µ\•¶‚̓Tƒ|[ƒg‚³‚ê‚Ä‚¢‚Ü‚¹‚ñB
+ 推奨ã™ã‚‹å‘¼ã³å‡ºã—æ–¹ã¯ã€æ¨™æº–ã§ã‚ã‚‹SQL92ã«å¾“ã†ã“ã¨ã§ã™ã€‚
+ { ? = call functionName(<parameters>) } ã‚„
+ { ? = call procedureName(<parameters>) } ã§ã™ã€‚
+ ãƒã‚¤ãƒ†ã‚£ãƒ–ãªå‘¼ã³å‡ºã—構文ã¯ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„ã¾ã›ã‚“。
- Oracle‚ɂ͉º‹L‚̃‹[ƒ‹‚ª“K—p‚³‚ê‚Ü‚·B
+ Oracleã«ã¯ä¸‹è¨˜ã®ãƒ«ãƒ¼ãƒ«ãŒé©ç”¨ã•ã‚Œã¾ã™ã€‚
- ŠÖ”‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ƒvƒƒV[ƒWƒƒ‚Ì‘æˆêˆø”‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚·‚½‚ßA
- OUT ‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- Oracle 9‚Æ10‚Å‚ÍASYS_REFCURSOR ‚ðŽg‚¤‚±‚Æ‚É‚æ‚Á‚Ä‚Å‚«‚Ü‚·B
- Oracle‚Å‚Í REF CURSOR Œ^‚ð’è‹`‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- Oracle‚Ì•¶Œ£‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 関数ã¯ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’è¿”ã•ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ プãƒã‚·ãƒ¼ã‚¸ãƒ£ã®ç¬¬ä¸€å¼•æ•°ã¯ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’è¿”ã™ãŸã‚ã€
+ OUT ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ Oracle 9ã¨10ã§ã¯ã€SYS_REFCURSOR を使ã†ã“ã¨ã«ã‚ˆã£ã¦ã§ãã¾ã™ã€‚
+ Oracleã§ã¯ REF CURSOR 型を定義ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ Oracleã®æ–‡çŒ®ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- Sybase‚ÆMS SQLƒT[ƒo[‚É“K—p‚³‚ê‚郋[ƒ‹‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+ Sybaseã¨MS SQLサーãƒãƒ¼ã«é©ç”¨ã•ã‚Œã‚‹ãƒ«ãƒ¼ãƒ«ã‚’下記ã«ç¤ºã—ã¾ã™ã€‚
- ƒvƒƒV[ƒWƒƒ‚̓ŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚³‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ƒT[ƒo[‚Í•¡”‚̃ŠƒUƒ‹ƒgƒZƒbƒg‚ÆXVƒJƒEƒ“ƒg‚ð•Ô‚µ‚Ü‚·‚ªA
- Hibernate‚Í1‚–ڂ̃ŠƒUƒ‹ƒgƒZƒbƒg‚¾‚¯‚ð•Ô‚·‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚»‚Ì‘¼‚Í‚·‚ׂĎ̂Ăç‚ê‚Ü‚·B
+ プãƒã‚·ãƒ¼ã‚¸ãƒ£ã¯ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’è¿”ã•ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ サーãƒãƒ¼ã¯è¤‡æ•°ã®ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã¨æ›´æ–°ã‚«ã‚¦ãƒ³ãƒˆã‚’è¿”ã—ã¾ã™ãŒã€
+ Hibernateã¯1ã¤ç›®ã®ãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã ã‘ã‚’è¿”ã™ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ãã®ä»–ã¯ã™ã¹ã¦æ¨ã¦ã‚‰ã‚Œã¾ã™ã€‚
- ƒvƒƒV[ƒWƒƒ‚Ì’†‚Å SET NOCOUNT ON ‚ð—LŒø‚É‚Å‚«‚ê‚ÎA
- ‚¨‚»‚ç‚Œø—¦‚ª‚æ‚‚È‚é‚Å‚µ‚傤B
- ‚µ‚©‚µA‚±‚ê‚Í•K—vðŒ‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+ プãƒã‚·ãƒ¼ã‚¸ãƒ£ã®ä¸ã§ SET NOCOUNT ON を有効ã«ã§ãã‚Œã°ã€
+ ãŠãらã効率ãŒã‚ˆããªã‚‹ã§ã—ょã†ã€‚
+ ã—ã‹ã—ã€ã“ã‚Œã¯å¿…è¦æ¡ä»¶ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
@@ -597,15 +599,15 @@ BEGIN
- ì¬AXVA휂̂½‚߂̃JƒXƒ^ƒ€SQL
+ 作æˆã€æ›´æ–°ã€å‰Šé™¤ã®ãŸã‚ã®ã‚«ã‚¹ã‚¿ãƒ SQL
- Hibernate3‚Íì¬AXVA휈—‚Ì‚½‚߂̃JƒXƒ^ƒ€SQL•¶‚ðŽg—p‚Å‚«‚Ü‚·B
- ƒNƒ‰ƒX‚ƃRƒŒƒNƒVƒ‡ƒ“‚̉i‘±‰»‹@\‚ÍAƒRƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“Žž‚ɶ¬‚³‚ꂽ•¶Žš—ñ
- iinsertsqlAdeletesqlAupdatesql‚È‚Çj‚̃Zƒbƒg‚ð‚·‚Å‚É•ÛŽ‚µ‚Ä‚¢‚Ü‚·B
- ‚±‚ê‚ç‚Ì•¶Žš—ñ‚æ‚èA
- <sql-insert>A
- <sql-delete>A
- <sql-update> ‚Æ‚¢‚¤ƒ}ƒbƒsƒ“ƒOƒ^ƒO‚ª—D悳‚ê‚Ü‚·B
+ Hibernate3ã¯ä½œæˆã€æ›´æ–°ã€å‰Šé™¤å‡¦ç†ã®ãŸã‚ã®ã‚«ã‚¹ã‚¿ãƒ SQL文を使用ã§ãã¾ã™ã€‚
+ クラスã¨ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®æ°¸ç¶šåŒ–機構ã¯ã€ã‚³ãƒ³ãƒ•ã‚£ã‚°ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³æ™‚ã«ç”Ÿæˆã•ã‚ŒãŸæ–‡å—列
+ (insertsqlã€deletesqlã€updatesqlãªã©ï¼‰ã®ã‚»ãƒƒãƒˆã‚’ã™ã§ã«ä¿æŒã—ã¦ã„ã¾ã™ã€‚
+ ã“れらã®æ–‡å—列よりã€
+ <sql-insert>ã€
+ <sql-delete>ã€
+ <sql-update> ã¨ã„ã†ãƒžãƒƒãƒ”ングタグãŒå„ªå…ˆã•ã‚Œã¾ã™ã€‚
@@ -617,11 +619,11 @@ BEGIN
DELETE FROM PERSON WHERE ID=?
]]>
- SQL‚ð’¼Úƒf[ƒ^ƒx[ƒX‚ÅŽÀs‚·‚邽‚ßAD‚Ý‚Ì•ûŒ¾‚ðŽ©—R‚ÉŽg—p‚Å‚«‚Ü‚·B
- ƒf[ƒ^ƒx[ƒX“ÆŽ©‚ÌSQL‚ðŽg‚¦‚ÎA“–‘Rƒ}ƒbƒsƒ“ƒO‚̃|[ƒ^ƒrƒŠƒeƒB‚ª‰º‚ª‚è‚Ü‚·B
+ SQLを直接データベースã§å®Ÿè¡Œã™ã‚‹ãŸã‚ã€å¥½ã¿ã®æ–¹è¨€ã‚’自由ã«ä½¿ç”¨ã§ãã¾ã™ã€‚
+ データベース独自ã®SQLを使ãˆã°ã€å½“然マッピングã®ãƒãƒ¼ã‚¿ãƒ“リティãŒä¸‹ãŒã‚Šã¾ã™ã€‚
- callable ‘®«‚ðƒZƒbƒg‚·‚ê‚ÎA
- ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðŽg—p‚Å‚«‚Ü‚·B
+ callable 属性をセットã™ã‚Œã°ã€
+ ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚’使用ã§ãã¾ã™ã€‚
@@ -633,21 +635,21 @@ BEGIN
{? = call updatePerson (?, ?)}
]]>
- ¡‚Ì‚Æ‚±‚ëAˆÊ’uƒpƒ‰ƒ[ƒ^‚̇”Ô‚Í‚Æ‚Ä‚àd—v‚Å‚·B
- ‚·‚È‚í‚¿AHibernate‚ªŠú‘Ò‚·‚釘‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ 今ã®ã¨ã“ã‚ã€ä½ç½®ãƒ‘ラメータã®é †ç•ªã¯ã¨ã¦ã‚‚é‡è¦ã§ã™ã€‚
+ ã™ãªã‚ã¡ã€HibernateãŒæœŸå¾…ã™ã‚‹é †åºã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- org.hiberante.persister.entity ƒŒƒxƒ‹‚̃fƒoƒbƒOƒƒO‚ð
- —LŒø‚É‚·‚邱‚Æ‚É‚æ‚Á‚ÄAŠú‘Ò‚³‚ê‚釔ԂðŠm‚©‚ß‚ç‚ê‚Ü‚·B
- ‚±‚̃Œƒxƒ‹‚ð—LŒø‚É‚·‚邱‚Æ‚É‚æ‚èAƒGƒ“ƒeƒBƒeƒB‚Ìì¬AXVA휂ȂǂÅ
- Žg—p‚³‚ê‚éÓI‚ÈSQL‚ªo—Í‚³‚ê‚Ü‚·B
- iŠú‘Ò‚³‚ê‚釘‚ðŠm”F‚·‚邽‚ß‚É‚ÍAHibernate‚ª¶¬‚·‚éÓI‚ÈSQL‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚é
- ƒJƒXƒ^ƒ€SQL‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚È‚¢‚±‚Æ‚ð–Y‚ê‚È‚¢‚Å‚‚¾‚³‚¢Bj
+ org.hiberante.persister.entity レベルã®ãƒ‡ãƒãƒƒã‚°ãƒã‚°ã‚’
+ 有効ã«ã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€æœŸå¾…ã•ã‚Œã‚‹é †ç•ªã‚’確ã‹ã‚られã¾ã™ã€‚
+ ã“ã®ãƒ¬ãƒ™ãƒ«ã‚’有効ã«ã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ä½œæˆã€æ›´æ–°ã€å‰Šé™¤ãªã©ã§
+ 使用ã•ã‚Œã‚‹é™çš„ãªSQLãŒå‡ºåŠ›ã•ã‚Œã¾ã™ã€‚
+ (期待ã•ã‚Œã‚‹é †åºã‚’確èªã™ã‚‹ãŸã‚ã«ã¯ã€HibernateãŒç”Ÿæˆã™ã‚‹é™çš„ãªSQLをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹
+ カスタムSQLをマッピングファイルã«å«ã‚ãªã„ã“ã¨ã‚’忘れãªã„ã§ãã ã•ã„。)
- ƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚Í‘}“ü/XV/휂³‚ꂽs”‚ð•Ô‚·•K—v‚ª‚ ‚è‚Ü‚·
- i“Ç‚Ýž‚Ý‚ÌꇂÍA•Ô‚³‚È‚¢‚æ‚è‚Í•Ô‚·•û‚ª‚æ‚¢‚Å‚·jB
- ŽÀsŽž‚ÉHibernate‚ªSQL•¶‚̬Œ÷‚ðƒ`ƒFƒbƒN‚·‚é‚©‚ç‚Å‚·B
- Hibernate‚ÍACUDˆ—‚Ì‚½‚ß‚Ì”’l‚Ìo—̓pƒ‰ƒ[ƒ^‚Æ‚µ‚ÄA
- SQL•¶‚Ìʼn‚̃pƒ‰ƒ[ƒ^‚ð‚¢‚Â‚à‹L˜^‚µ‚Ü‚·B
+ ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã¯æŒ¿å…¥/æ›´æ–°/削除ã•ã‚ŒãŸè¡Œæ•°ã‚’è¿”ã™å¿…è¦ãŒã‚ã‚Šã¾ã™
+ (èªã¿è¾¼ã¿ã®å ´åˆã¯ã€è¿”ã•ãªã„よりã¯è¿”ã™æ–¹ãŒã‚ˆã„ã§ã™ï¼‰ã€‚
+ 実行時ã«HibernateãŒSQLæ–‡ã®æˆåŠŸã‚’ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã‹ã‚‰ã§ã™ã€‚
+ Hibernateã¯ã€CUD処ç†ã®ãŸã‚ã®æ•°å€¤ã®å‡ºåŠ›ãƒ‘ラメータã¨ã—ã¦ã€
+ SQLæ–‡ã®æœ€åˆã®ãƒ‘ラメータをã„ã¤ã‚‚記録ã—ã¾ã™ã€‚
- ƒ[ƒh‚Ì‚½‚߂̃JƒXƒ^ƒ€SQL
+ ãƒãƒ¼ãƒ‰ã®ãŸã‚ã®ã‚«ã‚¹ã‚¿ãƒ SQL
- ƒGƒ“ƒeƒBƒeƒB‚ð“Ç‚Ýž‚Þ‚½‚ß‚Ì“ÆŽ©‚ÌSQLi‚à‚µ‚‚ÍHQLjƒNƒGƒŠ‚à錾‚Å‚«‚Ü‚·B
+ エンティティをèªã¿è¾¼ã‚€ãŸã‚ã®ç‹¬è‡ªã®SQL(もã—ãã¯HQL)クエリも宣言ã§ãã¾ã™ã€‚
@@ -677,8 +679,8 @@ END updatePerson;]]>
FOR UPDATE
]]>
- ‚±‚ê‚ÍA‚Ü‚³‚ÉiˆÈ‘O‹c˜_‚µ‚½j–¼‘O•t‚«ƒNƒGƒŠ‚Ì錾‚Å‚·B
- ‚±‚Ì–¼‘O•t‚«ƒNƒGƒŠ‚ðƒNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚©‚çŽQÆ‚Å‚«‚Ü‚·B
+ ã“ã‚Œã¯ã€ã¾ã•ã«ï¼ˆä»¥å‰è°è«–ã—ãŸï¼‰åå‰ä»˜ãクエリã®å®£è¨€ã§ã™ã€‚
+ ã“ã®åå‰ä»˜ãクエリをクラスã®ãƒžãƒƒãƒ”ングã‹ã‚‰å‚ç…§ã§ãã¾ã™ã€‚
@@ -689,9 +691,9 @@ END updatePerson;]]>
]]>
- ‚±‚ê‚̓XƒgƒAƒhƒvƒƒV[ƒWƒƒ‚Å‚³‚¦‚à“®ì‚µ‚Ü‚·B
+ ã“ã‚Œã¯ã‚¹ãƒˆã‚¢ãƒ‰ãƒ—ãƒã‚·ãƒ¼ã‚¸ãƒ£ã§ã•ãˆã‚‚動作ã—ã¾ã™ã€‚
- ŽŸ‚̂悤‚ÉAƒRƒŒƒNƒVƒ‡ƒ“‚ðƒ[ƒh‚·‚邽‚߂̃NƒGƒŠ‚³‚¦’è‹`‚µ‚Ä‚æ‚¢‚Å‚·B
+ 次ã®ã‚ˆã†ã«ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’ãƒãƒ¼ãƒ‰ã™ã‚‹ãŸã‚ã®ã‚¯ã‚¨ãƒªã•ãˆå®šç¾©ã—ã¦ã‚ˆã„ã§ã™ã€‚
@@ -707,8 +709,8 @@ END updatePerson;]]>
ORDER BY STARTDATE ASC, EMPLOYEE ASC
]]>
- ŽŸ‚̂悤‚ÉAŒ‹‡ƒtƒFƒbƒ`‚É‚æ‚èƒRƒŒƒNƒVƒ‡ƒ“‚ðƒ[ƒh‚·‚é
- ƒGƒ“ƒeƒBƒeƒBƒ[ƒ_[‚ð’è‹`‚Å‚«‚Ü‚·B
+ 次ã®ã‚ˆã†ã«ã€çµåˆãƒ•ã‚§ãƒƒãƒã«ã‚ˆã‚Šã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’ãƒãƒ¼ãƒ‰ã™ã‚‹
+ エンティティãƒãƒ¼ãƒ€ãƒ¼ã‚’定義ã§ãã¾ã™ã€‚
@@ -721,4 +723,4 @@ END updatePerson;]]>
]]>
-
\ No newline at end of file
+
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml b/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml
index ab2ea5f489..3267925d93 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/session_api.xml
@@ -1,81 +1,83 @@
-
+
+
+
- ƒIƒuƒWƒFƒNƒg‚ðˆµ‚¤
+ オブジェクトを扱ã†
- Hibernate ‚ÍŠ®‘S‚ȃIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒOƒ\ƒŠƒ…[ƒVƒ‡ƒ“‚Å‚ ‚èA
- ƒf[ƒ^ƒx[ƒXŠÇ—ƒVƒXƒeƒ€‚ÌÚׂðŠJ”ŽÒ‚©‚ç‰B•Á‚·‚邾‚¯‚Å‚È‚A ƒIƒuƒWƒFƒNƒg‚Ì ó‘ÔŠÇ— ‚às‚¢‚Ü‚·B
- ‚±‚ê‚ÍAJDBC/SQL‰i‘±‘w‚Æ“¯‚¶‚悤‚ÈSQL •¶ ‚ÌŠÇ—‚Ƃ͈قȂèA
- JavaƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚¨‚¯‚é‰i‘±‰»‚ɑ΂·‚éA‚Æ‚Ä‚àŽ©‘R‚ȃIƒuƒWƒFƒNƒgŽwŒü‚Ìl‚¦•û‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+ Hibernate ã¯å®Œå…¨ãªã‚ªãƒ–ジェクト/リレーショナルマッピングソリューションã§ã‚ã‚Šã€
+ データベース管ç†ã‚·ã‚¹ãƒ†ãƒ ã®è©³ç´°ã‚’開発者ã‹ã‚‰éš 蔽ã™ã‚‹ã ã‘ã§ãªãã€ ã‚ªãƒ–ã‚¸ã‚§ã‚¯ãƒˆã® çŠ¶æ…‹ç®¡ç† ã‚‚è¡Œã„ã¾ã™ã€‚
+ ã“ã‚Œã¯ã€JDBC/SQL永続層ã¨åŒã˜ã‚ˆã†ãªSQL æ–‡ ã®ç®¡ç†ã¨ã¯ç•°ãªã‚Šã€
+ Javaアプリケーションã«ãŠã‘る永続化ã«å¯¾ã™ã‚‹ã€ã¨ã¦ã‚‚自然ãªã‚ªãƒ–ジェクト指å‘ã®è€ƒãˆæ–¹ã‚’æä¾›ã—ã¾ã™ã€‚
- Œ¾‚¢‚©‚¦‚ê‚ÎAHibernate‚ð—p‚¢‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”ŽÒ‚ÍAƒIƒuƒWƒFƒNƒg‚Ì ó‘Ô ‚ɂ‚¢‚Ä‚Í
- í‚Ɉӎ¯‚·‚ׂ«‚Å‚ ‚èASQL•¶‚ÌŽÀs‚ɂ‚¢‚Ä‚Í•K‚¸‚µ‚à‚»‚¤‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚±‚Ì•”•ª‚ÍA’ÊíAHibernate‚ªˆ—‚µAƒVƒXƒeƒ€‚̃pƒtƒH[ƒ}ƒ“ƒX‚ðƒ`ƒ…[ƒjƒ“ƒO‚·‚é‚Æ‚«‚É‚¾‚¯A –â‘è‚É‚È‚Á‚Ä‚«‚Ü‚·B
+ 言ã„ã‹ãˆã‚Œã°ã€Hibernateを用ã„るアプリケーション開発者ã¯ã€ã‚ªãƒ–ジェクト㮠状態 ã«ã¤ã„ã¦ã¯
+ 常ã«æ„è˜ã™ã¹ãã§ã‚ã‚Šã€SQLæ–‡ã®å®Ÿè¡Œã«ã¤ã„ã¦ã¯å¿…ãšã—ã‚‚ãã†ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ã“ã®éƒ¨åˆ†ã¯ã€é€šå¸¸ã€HibernateãŒå‡¦ç†ã—ã€ã‚·ã‚¹ãƒ†ãƒ ã®ãƒ‘フォーマンスをãƒãƒ¥ãƒ¼ãƒ‹ãƒ³ã‚°ã™ã‚‹ã¨ãã«ã ã‘〠å•é¡Œã«ãªã£ã¦ãã¾ã™ã€‚
- Hibernate‚É‚¨‚¯‚éƒIƒuƒWƒFƒNƒg‚Ìó‘Ô
+ Hibernateã«ãŠã‘るオブジェクトã®çŠ¶æ…‹
- Hibernate‚ÍŽŸ‚̂悤‚ȃIƒuƒWƒFƒNƒg‚Ìó‘Ô‚ð’è‹`‚µAƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+ Hibernateã¯æ¬¡ã®ã‚ˆã†ãªã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’定義ã—ã€ã‚µãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
- ˆêŽž“I(Transient) - new
- ‰‰ŽZŽq‚ðŽg‚Á‚Ä ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‚¾‚¯‚ÅA Hibernate‚Ì Session
- ‚ÉŠÖ˜A•t‚¯‚ç‚ê‚Ä‚¢‚È‚¢ƒIƒuƒWƒFƒNƒg‚ÍA ˆêŽž“I(transient)‚Å‚·B
- ‚»‚ê‚ÍAƒf[ƒ^ƒx[ƒX‚ɉi‘±“I‚È•\Œ»‚ðŽ‚½‚¸AŽ¯•ÊŽq‚Æ‚È‚é’l‚ÍŠ„‚è“–‚Ä‚ç‚ê‚Ä‚¢‚Ü‚¹‚ñB
- ˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚»‚ÌŽQÆ‚ð‚Ç‚±‚É‚à•ÛŽ‚µ‚È‚¢ê‡‚ÉA ƒKƒx[ƒWƒRƒŒƒNƒ^‚É‚æ‚Á‚Ä”jŠü‚³‚ê‚Ü‚·B
- ƒIƒuƒWƒFƒNƒg‚ð‰i‘±“I(persistent)‚Èó‘Ô‚É‚·‚邽‚ß‚É‚ÍAHibernate‚Ì
- Session ‚ðŽg‚¢‚Ü‚µ‚傤B
- i‚±‚Ìó‘Ô‘JˆÚ‚É•K—v‚Æ‚È‚éSQL•¶‚Ì”s‚ÍAHibernate‚É”C‚¹‚Ü‚µ‚傤Bj
+ 一時的(Transient) - new
+ 演算åを使ã£ã¦ インスタンス化ã•ã‚ŒãŸã ã‘ã§ã€ Hibernateã® Session
+ ã«é–¢é€£ä»˜ã‘られã¦ã„ãªã„オブジェクトã¯ã€ 一時的(transient)ã§ã™ã€‚
+ ãã‚Œã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æ°¸ç¶šçš„ãªè¡¨ç¾ã‚’æŒãŸãšã€è˜åˆ¥åã¨ãªã‚‹å€¤ã¯å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¦ã„ã¾ã›ã‚“。
+ 一時的ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ã‚¢ãƒ—リケーションãŒãã®å‚照をã©ã“ã«ã‚‚ä¿æŒã—ãªã„å ´åˆã«ã€ ガベージコレクタã«ã‚ˆã£ã¦ç ´æ£„ã•ã‚Œã¾ã™ã€‚
+ オブジェクトを永続的(persistent)ãªçŠ¶æ…‹ã«ã™ã‚‹ãŸã‚ã«ã¯ã€Hibernateã®
+ Session を使ã„ã¾ã—ょã†ã€‚
+ (ã“ã®çŠ¶æ…‹é·ç§»ã«å¿…è¦ã¨ãªã‚‹SQLæ–‡ã®ç™ºè¡Œã¯ã€Hibernateã«ä»»ã›ã¾ã—ょã†ã€‚)
- ‰i‘±“I(Persistent) -
- ‰i‘±“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚̓f[ƒ^ƒx[ƒX‚É ‰i‘±“I‚È•\Œ»‚ðŽ‚¿AŽ¯•ÊŽq‚Æ‚È‚é’l‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
- ‚»‚ê‚ÍAƒZ[ƒu‚³‚ꂽ‚èAƒ[ƒh‚³‚ꂽ‚è‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA
- ’è‹`ã‚ÍA Session ‚̃XƒR[ƒv‚Ì’†‚É‘¶Ý‚µ‚Ä‚¢‚Ü‚·B
- Hibernate‚ÍAì‹Æ’PˆÊiUnit of workj‚ªŠ®—¹‚µ‚½‚Æ‚«‚ÉA ‰i‘±ó‘Ԃ̃IƒuƒWƒFƒNƒg‚ɉÁ‚¦‚ç‚ꂽ•ÏX‚ðŒŸo‚µA
- ƒIƒuƒWƒFƒNƒg‚Ìó‘Ԃƃf[ƒ^ƒx[ƒX‚𓯊ú‚µ‚Ü‚·B ƒIƒuƒWƒFƒNƒg‚ðˆêŽž“I(transient)‚É‚·‚é‚Æ‚«‚ÍAŠJ”ŽÒ‚ÍAŽèì‹Æ‚Å
- UPDATE •¶‚â DELETE
- •¶‚ðŽÀs‚µ‚Ü‚¹‚ñB
+ 永続的(Persistent) -
+ 永続的ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã« 永続的ãªè¡¨ç¾ã‚’æŒã¡ã€è˜åˆ¥åã¨ãªã‚‹å€¤ã‚’æŒã£ã¦ã„ã¾ã™ã€‚
+ ãã‚Œã¯ã€ã‚»ãƒ¼ãƒ–ã•ã‚ŒãŸã‚Šã€ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸã‚Šã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€
+ 定義上ã¯ã€ Session ã®ã‚¹ã‚³ãƒ¼ãƒ—ã®ä¸ã«å˜åœ¨ã—ã¦ã„ã¾ã™ã€‚
+ Hibernateã¯ã€ä½œæ¥å˜ä½ï¼ˆUnit of work)ãŒå®Œäº†ã—ãŸã¨ãã«ã€ 永続状態ã®ã‚ªãƒ–ジェクトã«åŠ ãˆã‚‰ã‚ŒãŸå¤‰æ›´ã‚’検出ã—ã€
+ オブジェクトã®çŠ¶æ…‹ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’åŒæœŸã—ã¾ã™ã€‚ オブジェクトを一時的(transient)ã«ã™ã‚‹ã¨ãã¯ã€é–‹ç™ºè€…ã¯ã€æ‰‹ä½œæ¥ã§
+ UPDATE 文や DELETE
+ 文を実行ã—ã¾ã›ã‚“。
- •ª—£(Detached) - •ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‚ÍA‰i‘±‰»‚³‚ê‚Ä‚¢‚邪A
- ‚»‚ê‚ÆŠÖ˜A•t‚¢‚Ä‚¢‚½ Session ‚ªƒNƒ[ƒY‚³‚ê‚Ä‚¢‚éƒIƒuƒWƒFƒNƒg‚Ì‚±‚Æ‚Å‚·B
- ‚»‚̃IƒuƒWƒFƒNƒg‚Ö‚ÌŽQÆ‚ÍAˆË‘R‚Æ‚µ‚Ä—LŒø‚Å‚·B
- ‚»‚µ‚ÄA‚à‚¿‚ë‚ñA•ª—£‚³‚ꂽó‘Ô‚É‚ ‚éƒIƒuƒWƒFƒNƒg‚ÍAC³‚·‚邱‚Æ‚³‚¦‚Å‚«‚Ü‚·B
- •ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ÍA‚à‚¤ˆê“x‰i‘±‰»‚µ‚½‚¢i‚»‚µ‚ÄA‚·‚ׂĂ̕ÏX‚ð‰i‘±‰»‚µ‚½‚¢j‚Æ‚«‚ÉA V‚µ‚¢
- Session ‚ÉĒljÁ‚Å‚«‚Ü‚·B
- ‚±‚Ì‹@”\‚ÍAƒ†[ƒU‚ªl‚¦‚鎞ŠÔ‚ð•K—v‚Æ‚·‚é‚悤‚ÈA’·ŠúŠÔ‚É‹y‚Ôì‹Æ’PˆÊ‚ɑ΂·‚é ƒvƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚ð‰Â”\‚É‚µ‚Ü‚·B
- ‰äX‚ÍA‚±‚ê‚ð ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“iapplication
- transactionsj ‚ƌĂñ‚Å‚¢‚Ü‚·B ‚·‚È‚í‚¿Aƒ†[ƒU‚©‚猩‚½ì‹Æ’PˆÊ‚¾‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+ 分離(Detached) - 分離ã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¨ã¯ã€æ°¸ç¶šåŒ–ã•ã‚Œã¦ã„ã‚‹ãŒã€
+ ãã‚Œã¨é–¢é€£ä»˜ã„ã¦ã„㟠Session ãŒã‚¯ãƒãƒ¼ã‚ºã•ã‚Œã¦ã„るオブジェクトã®ã“ã¨ã§ã™ã€‚
+ ãã®ã‚ªãƒ–ジェクトã¸ã®å‚ç…§ã¯ã€ä¾ç„¶ã¨ã—ã¦æœ‰åŠ¹ã§ã™ã€‚
+ ãã—ã¦ã€ã‚‚ã¡ã‚ã‚“ã€åˆ†é›¢ã•ã‚ŒãŸçŠ¶æ…‹ã«ã‚るオブジェクトã¯ã€ä¿®æ£ã™ã‚‹ã“ã¨ã•ãˆã§ãã¾ã™ã€‚
+ 分離ã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ã‚‚ã†ä¸€åº¦æ°¸ç¶šåŒ–ã—ãŸã„(ãã—ã¦ã€ã™ã¹ã¦ã®å¤‰æ›´ã‚’永続化ã—ãŸã„)ã¨ãã«ã€ æ–°ã—ã„
+ Session ã«å†è¿½åŠ ã§ãã¾ã™ã€‚
+ ã“ã®æ©Ÿèƒ½ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒè€ƒãˆã‚‹æ™‚é–“ã‚’å¿…è¦ã¨ã™ã‚‹ã‚ˆã†ãªã€é•·æœŸé–“ã«åŠã¶ä½œæ¥å˜ä½ã«å¯¾ã™ã‚‹ プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãƒ¢ãƒ‡ãƒ«ã‚’å¯èƒ½ã«ã—ã¾ã™ã€‚
+ 我々ã¯ã€ã“れを アプリケーションã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆapplication
+ transactions) ã¨å‘¼ã‚“ã§ã„ã¾ã™ã€‚ ã™ãªã‚ã¡ã€ãƒ¦ãƒ¼ã‚¶ã‹ã‚‰è¦‹ãŸä½œæ¥å˜ä½ã ã¨ã„ã†ã“ã¨ã§ã™ã€‚
- ‚±‚ê‚©‚çAó‘Ô‚Æó‘Ô‘JˆÚi‚»‚µ‚ÄA‘JˆÚ‚Ì‚«‚Á‚©‚¯‚Æ‚È‚éHibernate‚̃ƒ\ƒbƒhj‚ɂ‚¢‚Ä AÚׂÉq‚ׂ܂·B
+ ã“ã‚Œã‹ã‚‰ã€çŠ¶æ…‹ã¨çŠ¶æ…‹é·ç§»ï¼ˆãã—ã¦ã€é·ç§»ã®ãã£ã‹ã‘ã¨ãªã‚‹Hibernateã®ãƒ¡ã‚½ãƒƒãƒ‰ï¼‰ã«ã¤ã„㦠ã€è©³ç´°ã«è¿°ã¹ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ð‰i‘±ó‘Ô‚É‚·‚é
+ オブジェクトを永続状態ã«ã™ã‚‹
- V‚µ‚ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽ‰i‘±ƒNƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA Hibernate‚Å‚Í
- ˆêŽž“I(transient) ‚ÆŒ©‚È‚³‚ê‚Ü‚·B
- ˆÈ‰º‚̂悤‚ÉAƒZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A‚¯‚邱‚Æ‚ÅAˆêŽž“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚ð
- ‰i‘±ó‘Ô(persistent) ‚É‚Å‚«‚Ü‚·B
+ æ–°ã—ãインスタンス化ã•ã‚ŒãŸæ°¸ç¶šã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ Hibernateã§ã¯
+ 一時的(transient) ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚
+ 以下ã®ã‚ˆã†ã«ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¨é–¢é€£ã¥ã‘ã‚‹ã“ã¨ã§ã€ä¸€æ™‚çš„ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’
+ 永続状態(persistent) ã«ã§ãã¾ã™ã€‚
@@ -86,18 +88,18 @@ fritz.setName("Fritz");
Long generatedId = (Long) sess.save(fritz);]]>
- Cat ƒNƒ‰ƒX‚ÌŽ¯•ÊŽq‚ªŽ©“®¶¬‚³‚ê‚é‚Ì‚Å‚ ‚ê‚ÎA
- save() ‚ªŒÄ‚΂ê‚é‚Æ‚«‚ÉA Ž¯•ÊŽq‚ª¶¬‚³‚êA cat
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ÉŠ„‚è“–‚Ä‚ç‚ê‚Ü‚·B Cat
- ‚ÌŽ¯•ÊŽq‚ª‘¼‚©‚犄‚è“–‚Ä‚ç‚ê‚éi assigned Ž¯•ÊŽq‚ðŽ‚Âj‚©A•¡‡ƒL[‚Å‚ ‚é‚È‚çA
- save() ‚ðŒÄ‚Ño‚·‘O‚ÉAŽ¯•ÊŽq‚ðŠ„‚è“–‚Ä‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- save() ‚Ì‘ã‚í‚è‚ÉAEJB3 ‚̉Šúƒhƒ‰ƒtƒg‚Å’è‹`‚³‚ꂽ
- persist() ‚ðŽg‚¤‚±‚Æ‚à‰Â”\‚Å‚·B
+ Cat クラスã®è˜åˆ¥åãŒè‡ªå‹•ç”Ÿæˆã•ã‚Œã‚‹ã®ã§ã‚ã‚Œã°ã€
+ save() ãŒå‘¼ã°ã‚Œã‚‹ã¨ãã«ã€ è˜åˆ¥åãŒç”Ÿæˆã•ã‚Œã€ cat
+ インスタンスã«å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã¾ã™ã€‚ Cat
+ ã®è˜åˆ¥åãŒä»–ã‹ã‚‰å‰²ã‚Šå½“ã¦ã‚‰ã‚Œã‚‹ï¼ˆ assigned è˜åˆ¥åã‚’æŒã¤ï¼‰ã‹ã€è¤‡åˆã‚ーã§ã‚ã‚‹ãªã‚‰ã€
+ save() を呼ã³å‡ºã™å‰ã«ã€è˜åˆ¥åを割り当ã¦ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ save() ã®ä»£ã‚ã‚Šã«ã€EJB3 ã®åˆæœŸãƒ‰ãƒ©ãƒ•ãƒˆã§å®šç¾©ã•ã‚ŒãŸ
+ persist() を使ã†ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
- ‘ã‚í‚è‚ÉAŽ¯•ÊŽq‚ðˆø”‚É‚Æ‚é save()
- ƒƒ\ƒbƒh‚ðŽg‚Á‚ÄA Ž¯•ÊŽq‚ðŠ„‚è“–‚Ă邱‚Æ‚à‚Å‚«‚Ü‚·B
+ 代ã‚ã‚Šã«ã€è˜åˆ¥åを引数ã«ã¨ã‚‹ save()
+ メソッドを使ã£ã¦ã€ è˜åˆ¥åを割り当ã¦ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
@@ -110,29 +112,29 @@ pk.addKitten(fritz);
sess.save( pk, new Long(1234) );]]>
- ‰i‘±‰»‚·‚éƒIƒuƒWƒFƒNƒg‚ªŠÖ˜AƒIƒuƒWƒFƒNƒg‚ðŽ‚Á‚Ä‚¢‚éê‡ i—Ⴆ‚ÎA‘O‚Ì—á‚É‚¨‚¯‚é
- kittens ƒRƒŒƒNƒVƒ‡ƒ“‚̂悤‚ÉjA ŠO•”ƒL[ƒJƒ‰ƒ€‚ÉA NOT
- NULL §–ñ‚ð‚‚¯‚È‚¢ŒÀ‚è‚ÍA ‚±‚ê‚ç‚̈ê˜A‚̃IƒuƒWƒFƒNƒg‚ð‚Ç‚ñ‚ȇ”Ԃʼni‘±‰»‚µ‚Ä‚à‚©‚Ü‚¢‚Ü‚¹‚ñB
- ŠO•”ƒL[§–ñ‚ðˆá”½‚·‚é‹°‚ê‚Í‚ ‚è‚Ü‚¹‚ñB ‚µ‚©‚µA NOT NULL
- §–ñ‚ª‚ ‚éê‡AŠÔˆá‚Á‚½‡”ԂŃIƒuƒWƒFƒNƒg‚ð save() ‚µ‚Ä‚µ‚Ü‚¤‚ÆA
- §–ñ‚Ɉᔽ‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ 永続化ã™ã‚‹ã‚ªãƒ–ジェクトãŒé–¢é€£ã‚ªãƒ–ジェクトをæŒã£ã¦ã„ã‚‹å ´åˆ ï¼ˆä¾‹ãˆã°ã€å‰ã®ä¾‹ã«ãŠã‘ã‚‹
+ kittens コレクションã®ã‚ˆã†ã«ï¼‰ã€ 外部ã‚ーカラムã«ã€ NOT
+ NULL 制約をã¤ã‘ãªã„é™ã‚Šã¯ã€ ã“れらã®ä¸€é€£ã®ã‚ªãƒ–ジェクトをã©ã‚“ãªé †ç•ªã§æ°¸ç¶šåŒ–ã—ã¦ã‚‚ã‹ã¾ã„ã¾ã›ã‚“。
+ 外部ã‚ー制約をé•åã™ã‚‹æã‚Œã¯ã‚ã‚Šã¾ã›ã‚“。 ã—ã‹ã—〠NOT NULL
+ 制約ãŒã‚ã‚‹å ´åˆã€é–“é•ã£ãŸé †ç•ªã§ã‚ªãƒ–ジェクトを save() ã—ã¦ã—ã¾ã†ã¨ã€
+ 制約ã«é•åã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- ŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg‚ðŽ©“®“I‚É•Û‘¶‚·‚éA Hibernate‚Ì ‘JˆÚ“I‚ȉi‘±‰»(transitive
- persistence) ‹@”\‚ð Žg‚¤‚‚à‚è‚È‚ç‚ÎA‚»‚̂悤‚ÈÚׂð‹C‚É‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚»‚µ‚ÄA NOT NULL §–ñ‚̈ᔽ‚·‚ç‹N‚±‚è‚Ü‚¹‚ñB
- Hibernate‚ª‚·‚ׂĖʓ|‚ð‚Ý‚Ä‚‚ê‚Ü‚·B‘JˆÚ“I‚ȉi‘±‰»‚ÍA‚±‚Ì͂̌㔼‚É‘‚©‚ê‚Ä‚¢‚Ü‚·B
+ 関連ã™ã‚‹ã‚ªãƒ–ジェクトを自動的ã«ä¿å˜ã™ã‚‹ã€ Hibernateã® é·ç§»çš„ãªæ°¸ç¶šåŒ–(transitive
+ persistence) 機能を 使ã†ã¤ã‚‚ã‚Šãªã‚‰ã°ã€ãã®ã‚ˆã†ãªè©³ç´°ã‚’æ°—ã«ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ãã—ã¦ã€ NOT NULL 制約ã®é•åã™ã‚‰èµ·ã“ã‚Šã¾ã›ã‚“。
+ HibernateãŒã™ã¹ã¦é¢å€’ã‚’ã¿ã¦ãã‚Œã¾ã™ã€‚é·ç§»çš„ãªæ°¸ç¶šåŒ–ã¯ã€ã“ã®ç« ã®å¾ŒåŠã«æ›¸ã‹ã‚Œã¦ã„ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚̃[ƒh
+ オブジェクトã®ãƒãƒ¼ãƒ‰
- ‰i‘±‰»‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ÌŽ¯•ÊŽq‚ª‚ ‚ç‚©‚¶‚ß•ª‚©‚Á‚Ä‚¢‚é‚È‚çA Session ‚Ì
- load() ƒƒ\ƒbƒh‚ðŽg‚Á‚ÄA•œŒ³‚Å‚«‚Ü‚·B load()
- ‚ÍAClass ƒIƒuƒWƒFƒNƒg‚ðˆø”‚É‚Æ‚èA ‚»‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðV‚½‚ɶ¬‚µAó‘Ô‚ðƒ[ƒh‚µ‚Ü‚·B
- ‚»‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Ìó‘Ô‚ÍA‰i‘±(persistent)ó‘Ô‚Å‚·B
+ 永続化ã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®è˜åˆ¥åãŒã‚らã‹ã˜ã‚分ã‹ã£ã¦ã„ã‚‹ãªã‚‰ã€ Session ã®
+ load() メソッドを使ã£ã¦ã€å¾©å…ƒã§ãã¾ã™ã€‚ load()
+ ã¯ã€Class オブジェクトを引数ã«ã¨ã‚Šã€ ãã®ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’æ–°ãŸã«ç”Ÿæˆã—ã€çŠ¶æ…‹ã‚’ãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚
+ ãã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®çŠ¶æ…‹ã¯ã€æ°¸ç¶š(persistent)状態ã§ã™ã€‚
@@ -142,7 +144,7 @@ sess.save( pk, new Long(1234) );]]>
long id = 1234;
DomesticCat pk = (DomesticCat) sess.load( DomesticCat.class, new Long(id) );]]>
- ‚ ‚é‚¢‚ÍAˆÈ‰º‚̂悤‚ÉAŠù‘¶‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Éó‘Ô‚ðƒ[ƒh‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ ã‚ã‚‹ã„ã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã€æ—¢å˜ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«çŠ¶æ…‹ã‚’ãƒãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- DB‚ÉŠY“–‚·‚és‚ª–³‚¢ê‡A load() ‚͉ñ•œ•s‰Â”\‚È—áŠO‚ð “Š‚°‚邱‚Æ‚É’ˆÓ‚µ‚Ü‚µ‚傤B
- ‚»‚̃Nƒ‰ƒX‚ªƒvƒƒLƒV‚ðŽg‚Á‚ă}ƒbƒsƒ“ƒO‚³‚ê‚Ä‚¢‚éê‡A load()
- ‚͉Šú‰»‚³‚ê‚Ä‚¢‚È‚¢ƒvƒƒLƒV‚ð•Ô‚µAƒvƒƒLƒV‚̃ƒ\ƒbƒh‚ªŒÄ‚΂ê‚é‚Ü‚ÅŽÀÛ‚É‚Í ƒf[ƒ^ƒx[ƒX‚ɃAƒNƒZƒX‚µ‚Ü‚¹‚ñB
- ‚à‚µAŽÀۂɃf[ƒ^ƒx[ƒX‚©‚çƒ[ƒh‚¹‚¸‚ÉAƒIƒuƒWƒFƒNƒg‚ɑ΂·‚éŠÖ˜A‚ðì‚肽‚¢ê‡A ‚±‚ÌU‚é•‘‚¢‚Í‚Æ‚Ä‚à–𗧂¿‚Ü‚·B
- batch-size ‚ªƒNƒ‰ƒXƒ}ƒbƒsƒ“ƒO‚É’è‹`‚³‚ê‚Ä‚¢‚é‚È‚ç‚ÎA
- •¡”‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðˆêŠ‡‚Ń[ƒh‚·‚邱‚Æ‚ª‰Â”\‚Å‚·B
+ DBã«è©²å½“ã™ã‚‹è¡ŒãŒç„¡ã„å ´åˆã€ load() ã¯å›žå¾©ä¸å¯èƒ½ãªä¾‹å¤–ã‚’ 投ã’ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¾ã—ょã†ã€‚
+ ãã®ã‚¯ãƒ©ã‚¹ãŒãƒ—ãƒã‚シを使ã£ã¦ãƒžãƒƒãƒ”ングã•ã‚Œã¦ã„ã‚‹å ´åˆã€ load()
+ ã¯åˆæœŸåŒ–ã•ã‚Œã¦ã„ãªã„プãƒã‚ã‚·ã‚’è¿”ã—ã€ãƒ—ãƒã‚ã‚·ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒå‘¼ã°ã‚Œã‚‹ã¾ã§å®Ÿéš›ã«ã¯ データベースã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã¾ã›ã‚“。
+ ã‚‚ã—ã€å®Ÿéš›ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰ãƒãƒ¼ãƒ‰ã›ãšã«ã€ã‚ªãƒ–ジェクトã«å¯¾ã™ã‚‹é–¢é€£ã‚’作りãŸã„å ´åˆã€ ã“ã®æŒ¯ã‚‹èˆžã„ã¯ã¨ã¦ã‚‚役立ã¡ã¾ã™ã€‚
+ batch-size ãŒã‚¯ãƒ©ã‚¹ãƒžãƒƒãƒ”ングã«å®šç¾©ã•ã‚Œã¦ã„ã‚‹ãªã‚‰ã°ã€
+ 複数ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’一括ã§ãƒãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ãŒå¯èƒ½ã§ã™ã€‚
- ŠY“–‚·‚és‚ª‘¶Ý‚·‚邱‚Æ‚ðŠmM‚Å‚«‚È‚¢ê‡‚ÍA get() ƒƒ\ƒbƒh‚ðŽg‚¤‚ׂ«‚Å‚·B
- ‚»‚ê‚ÍAƒf[ƒ^ƒx[ƒX‚É‚·‚®‚ɃAƒNƒZƒX‚µAŠY“–‚·‚és‚ª–³‚¢ê‡‚Ínull‚ð•Ô‚µ‚Ü‚·B
+ 該当ã™ã‚‹è¡ŒãŒå˜åœ¨ã™ã‚‹ã“ã¨ã‚’確信ã§ããªã„å ´åˆã¯ã€ get() メソッドを使ã†ã¹ãã§ã™ã€‚
+ ãã‚Œã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã™ãã«ã‚¢ã‚¯ã‚»ã‚¹ã—ã€è©²å½“ã™ã‚‹è¡ŒãŒç„¡ã„å ´åˆã¯nullã‚’è¿”ã—ã¾ã™ã€‚
- LockMode ‚ðŽg‚¦‚ÎA
- SELECT ... FOR UPDATE‚Æ‚¢‚¤SQL‚ð Žg‚Á‚ăIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ÚׂÈî•ñ‚ÍAAPIƒhƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ LockMode を使ãˆã°ã€
+ SELECT ... FOR UPDATEã¨ã„ã†SQLã‚’ 使ã£ã¦ã‚ªãƒ–ジェクトをãƒãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 詳細ãªæƒ…å ±ã¯ã€APIドã‚ュメントをå‚ç…§ã—ã¦ãã ã•ã„。
- ŠÖ˜A‚ɑ΂·‚éƒJƒXƒP[ƒh•û–@‚Æ‚µ‚Ä
- lock ‚â all ‚ð
- Žw’肵‚È‚¢ŒÀ‚èAŠÖ˜A‚·‚éƒCƒ“ƒXƒ^ƒ“ƒX‚âŠÜ‚Ü‚ê‚éƒRƒŒƒNƒVƒ‡ƒ“‚Í FOR UPDATE ‚Å•œŒ³
- ‚³‚ê‚È‚¢ ‚±‚Æ‚É’ˆÓ‚µ‚Ü‚µ‚傤B
+ 関連ã«å¯¾ã™ã‚‹ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰æ–¹æ³•ã¨ã—ã¦
+ lock ã‚„ all ã‚’
+ 指定ã—ãªã„é™ã‚Šã€é–¢é€£ã™ã‚‹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚„å«ã¾ã‚Œã‚‹ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯ FOR UPDATE ã§å¾©å…ƒ
+ ã•ã‚Œãªã„ ã“ã¨ã«æ³¨æ„ã—ã¾ã—ょã†ã€‚
- refresh() ƒƒ\ƒbƒh‚ðŽg‚¤‚±‚Æ‚ÅA‚Ç‚ñ‚È‚Æ‚«‚Å‚àAƒIƒuƒWƒFƒNƒg‚â‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ð
- ƒŠƒ[ƒh‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B ƒf[ƒ^ƒx[ƒX‚̃gƒŠƒK‚ªƒe[ƒuƒ‹‚ðXV‚µ‚½Û‚ÉA
- ‚»‚̃e[ƒuƒ‹‚ɑΉž‚·‚éƒIƒuƒWƒFƒNƒg‚̃vƒƒpƒeƒB‚𓯊ú‚·‚éê‡A‚±‚̃ƒ\ƒbƒh‚ª–ð‚É—§‚¿‚Ü‚·B
+ refresh() メソッドを使ã†ã“ã¨ã§ã€ã©ã‚“ãªã¨ãã§ã‚‚ã€ã‚ªãƒ–ジェクトやãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ リãƒãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ データベースã®ãƒˆãƒªã‚¬ãŒãƒ†ãƒ¼ãƒ–ルを更新ã—ãŸéš›ã«ã€
+ ãã®ãƒ†ãƒ¼ãƒ–ルã«å¯¾å¿œã™ã‚‹ã‚ªãƒ–ジェクトã®ãƒ—ãƒãƒ‘ティをåŒæœŸã™ã‚‹å ´åˆã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒå½¹ã«ç«‹ã¡ã¾ã™ã€‚
- ‘åØ‚È–â‘è‚ÍA‚¢‚Â‚àŽŸ‚Ì“_‚ÉŠÖ‚·‚é‚à‚Ì‚Å‚·B‚»‚ê‚ÍAHibernate‚ªƒf[ƒ^ƒx[ƒX‚©‚çA
- ‚Ç‚Ì‚‚ç‚¢‚̗ʂ𕜌³‚·‚é‚Ì‚©‚ÆA‚Ç‚Ì‚‚ç‚¢‚Ì”‚ÌSQL‚Ì SELECT •¶‚ªŽg‚í‚ê‚é‚Ì‚©‚Å‚·B
- ‚±‚ê‚ÍA ƒtƒFƒbƒ`‚Ìí—ª ‚É‚æ‚è‚Ü‚·B‚±‚ê‚ɂ‚¢‚Ä‚ÍA ‚Åà–¾‚µ‚Ä‚¢‚Ü‚·B
+ 大切ãªå•é¡Œã¯ã€ã„ã¤ã‚‚次ã®ç‚¹ã«é–¢ã™ã‚‹ã‚‚ã®ã§ã™ã€‚ãã‚Œã¯ã€HibernateãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰ã€
+ ã©ã®ãらã„ã®é‡ã‚’復元ã™ã‚‹ã®ã‹ã¨ã€ã©ã®ãらã„ã®æ•°ã®SQLã® SELECT æ–‡ãŒä½¿ã‚れるã®ã‹ã§ã™ã€‚
+ ã“ã‚Œã¯ã€ フェッãƒã®æˆ¦ç•¥ ã«ã‚ˆã‚Šã¾ã™ã€‚ã“ã‚Œã«ã¤ã„ã¦ã¯ã€ ã§èª¬æ˜Žã—ã¦ã„ã¾ã™ã€‚
- ƒNƒGƒŠ
+ クエリ
- ’T‚µ‚½‚¢ƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ª•ª‚©‚ç‚È‚¢ê‡‚ÍAƒNƒGƒŠ‚ª•K—v‚É‚È‚è‚Ü‚·B
- Hibernate‚ÍŽg‚¢‚â‚·‚‚Ä‹—͂ȃIƒuƒWƒFƒNƒgŽwŒü‚̃NƒGƒŠŒ¾Œê (HQL)‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- ƒvƒƒOƒ‰ƒ€‚É‚æ‚Á‚ăNƒGƒŠ‚ªì¬‚Å‚«‚é‚悤‚ÉAHibernate‚Íô—û‚³‚ꂽCriteria‚ÆExampleƒNƒGƒŠ‹@”\(QBC‚ÆQBEj‚ð
- ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·BResultSet‚ðƒIƒuƒWƒFƒNƒg‚É•ÏŠ·‚·‚éHibernate‚̃IƒvƒVƒ‡ƒ“‹@”\‚ðŽg‚¤‚±‚Æ‚ÅA
- ƒf[ƒ^ƒx[ƒX‚̃lƒCƒeƒBƒu‚ÈSQL‚ŃNƒGƒŠ‚ð•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ 探ã—ãŸã„オブジェクトã®è˜åˆ¥åãŒåˆ†ã‹ã‚‰ãªã„å ´åˆã¯ã€ã‚¯ã‚¨ãƒªãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚
+ Hibernateã¯ä½¿ã„ã‚„ã™ãã¦å¼·åŠ›ãªã‚ªãƒ–ジェクト指å‘ã®ã‚¯ã‚¨ãƒªè¨€èªž (HQL)をサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ プãƒã‚°ãƒ©ãƒ ã«ã‚ˆã£ã¦ã‚¯ã‚¨ãƒªãŒä½œæˆã§ãるよã†ã«ã€Hibernateã¯æ´—ç·´ã•ã‚ŒãŸCriteriaã¨Exampleクエリ機能(QBCã¨QBE)を
+ サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚ResultSetをオブジェクトã«å¤‰æ›ã™ã‚‹Hibernateã®ã‚ªãƒ—ション機能を使ã†ã“ã¨ã§ã€
+ データベースã®ãƒã‚¤ãƒ†ã‚£ãƒ–ãªSQLã§ã‚¯ã‚¨ãƒªã‚’表ç¾ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- ƒNƒGƒŠ‚ÌŽÀs
+ クエリã®å®Ÿè¡Œ
- HQL‚âƒlƒCƒeƒBƒu‚ÈSQLƒNƒGƒŠ‚ÍA org.hibernate.Query
- ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Æ‚µ‚Ä•\Œ»‚³‚ê‚Ü‚·B ‚±‚̃Cƒ“ƒ^ƒtƒF[ƒX‚ÍAƒpƒ‰ƒ[ƒ^ƒoƒCƒ“ƒfƒBƒ“ƒO‚âResultSet‚̃nƒ“ƒhƒŠƒ“ƒO‚â
- ƒNƒGƒŠ‚ÌŽÀs‚ðs‚¤ƒƒ\ƒbƒh‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B ’ÊíA Query ‚ÍAˆÈ‰º‚ÉŽ¦‚·‚悤‚ÉA
- ‚»‚ÌŽž“_‚Ì Session ‚ðŽg‚Á‚Ď擾‚µ‚Ü‚·B
+ HQLã‚„ãƒã‚¤ãƒ†ã‚£ãƒ–ãªSQLクエリã¯ã€ org.hibernate.Query
+ ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¨ã—ã¦è¡¨ç¾ã•ã‚Œã¾ã™ã€‚ ã“ã®ã‚¤ãƒ³ã‚¿ãƒ•ã‚§ãƒ¼ã‚¹ã¯ã€ãƒ‘ラメータãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã‚„ResultSetã®ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã‚„
+ クエリã®å®Ÿè¡Œã‚’è¡Œã†ãƒ¡ã‚½ãƒƒãƒ‰ã‚’用æ„ã—ã¦ã„ã¾ã™ã€‚ 通常〠Query ã¯ã€ä»¥ä¸‹ã«ç¤ºã™ã‚ˆã†ã«ã€
+ ãã®æ™‚点㮠Session を使ã£ã¦å–å¾—ã—ã¾ã™ã€‚
- ƒNƒGƒŠ‚ÍA•’ÊA list() ‚ðŒÄ‚Ño‚·‚±‚Æ‚É‚æ‚Á‚ÄŽÀs‚³‚ê‚Ü‚·B
- ƒNƒGƒŠ‚ÌŒ‹‰Ê‚ÍAƒƒ‚ƒŠã‚É‚ ‚éƒRƒŒƒNƒVƒ‡ƒ“‚É‚·‚ׂă[ƒh‚³‚ê‚Ü‚·B
- ƒNƒGƒŠ‚É‚æ‚Á‚Ä•œŒ³‚³‚ꂽƒGƒ“ƒeƒBƒeƒB‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA‰i‘±ó‘Ô‚Å‚·B
- ‚à‚µAƒNƒGƒŠ‚ª‚½‚Á‚½1ŒÂ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð•Ô‚·‚Æ•ª‚©‚Á‚Ä‚¢‚é‚È‚çA
- uniqueResult() ƒƒ\ƒbƒh‚ªŽè‚ÁŽæ‚è‘‚¢•û–@‚Å‚·B
- ‘¦ŽžƒtƒFƒbƒ`‚ð—˜—p‚µ‚½ƒNƒGƒŠ‚Ìê‡A‚ӂ‚¤A“¾‚ç‚ꂽƒRƒŒƒNƒVƒ‡ƒ“‚É‚ÍA
- ƒ‹[ƒg‚̃IƒuƒWƒFƒNƒg‚ªd•¡‚µ‚ÄŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·
- i‚µ‚©‚µAƒ‹[ƒg‚ªŽ‚ƒRƒŒƒNƒVƒ‡ƒ“‚͉Šú‰»(ƒ[ƒhj‚³‚ê‚Ä‚¢‚Ü‚·jB
- ‚±‚Ìd•¡‚Í Set ‚ðŽg‚Á‚ÄŽæ‚蜂‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ クエリã¯ã€æ™®é€šã€ list() を呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã£ã¦å®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
+ クエリã®çµæžœã¯ã€ãƒ¡ãƒ¢ãƒªä¸Šã«ã‚るコレクションã«ã™ã¹ã¦ãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚
+ クエリã«ã‚ˆã£ã¦å¾©å…ƒã•ã‚ŒãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€æ°¸ç¶šçŠ¶æ…‹ã§ã™ã€‚
+ ã‚‚ã—ã€ã‚¯ã‚¨ãƒªãŒãŸã£ãŸ1個ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’è¿”ã™ã¨åˆ†ã‹ã£ã¦ã„ã‚‹ãªã‚‰ã€
+ uniqueResult() メソッドãŒæ‰‹ã£å–ã‚Šæ—©ã„方法ã§ã™ã€‚
+ å³æ™‚フェッãƒã‚’利用ã—ãŸã‚¯ã‚¨ãƒªã®å ´åˆã€ãµã¤ã†ã€å¾—られãŸã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ã¯ã€
+ ルートã®ã‚ªãƒ–ジェクトãŒé‡è¤‡ã—ã¦å«ã¾ã‚Œã¦ã„ã¾ã™
+ (ã—ã‹ã—ã€ãƒ«ãƒ¼ãƒˆãŒæŒã¤ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯åˆæœŸåŒ–(ãƒãƒ¼ãƒ‰ï¼‰ã•ã‚Œã¦ã„ã¾ã™ï¼‰ã€‚
+ ã“ã®é‡è¤‡ã¯ Set を使ã£ã¦å–り除ãã“ã¨ãŒã§ãã¾ã™ã€‚
- Œ‹‰Ê‚ðƒCƒeƒŒ[ƒg‚·‚é
+ çµæžœã‚’イテレートã™ã‚‹
- ŽžXA iterate() ƒƒ\ƒbƒh‚ðŽg‚Á‚ăNƒGƒŠ‚ðŽÀs‚·‚邱‚Æ‚ÅA
- ‚æ‚è—Ç‚¢ƒpƒtƒH[ƒ}ƒ“ƒX‚𓾂邱‚Æ‚ª‚Å‚«‚Ü‚·B ‚±‚ê‚ÍA’ÊíAƒNƒGƒŠ‚É‚æ‚Á‚Ä“¾‚ç‚ꂽŽÀۂ̃Gƒ“ƒeƒBƒeƒB‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ªA
- ‚·‚łɃZƒbƒVƒ‡ƒ“‚Ü‚½‚Í“ñŽŸƒLƒƒƒbƒVƒ…‚É‘¶Ý‚·‚邱‚Æ‚ªŠú‘Ò‚Å‚«‚éꇂ¾‚¯‚Å‚·B
- ‚»‚ê‚炪A‚Ü‚¾ƒLƒƒƒbƒVƒ…‚³‚ê‚Ä‚¢‚È‚¢‚È‚çA iterate() ‚ÍA
- list() ‚æ‚è‚à’x‚AŠÈ’P‚ȃNƒGƒŠ‚ɑ΂µ‚Ä‚à‘½‚‚̃f[ƒ^ƒx[ƒXƒAƒNƒZƒX‚ð
- •K—v‚Æ‚µ‚Ü‚·B‚»‚̃AƒNƒZƒX‚Æ‚ÍAŽ¯•ÊŽq‚¾‚¯‚ðŽæ“¾‚·‚邽‚ß‚Ìʼn‚Ìselect‚P‰ñ‚ÆA
- ŽÀۂ̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‰Šú‰»‚·‚邽‚߂Ɍォ‚çs‚¤n‰ñ‚Ìselect‚Ì‚±‚Æ‚Å‚·B
+ 時々〠iterate() メソッドを使ã£ã¦ã‚¯ã‚¨ãƒªã‚’実行ã™ã‚‹ã“ã¨ã§ã€
+ より良ã„パフォーマンスを得るã“ã¨ãŒã§ãã¾ã™ã€‚ ã“ã‚Œã¯ã€é€šå¸¸ã€ã‚¯ã‚¨ãƒªã«ã‚ˆã£ã¦å¾—られãŸå®Ÿéš›ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã€
+ ã™ã§ã«ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¾ãŸã¯äºŒæ¬¡ã‚ャッシュã«å˜åœ¨ã™ã‚‹ã“ã¨ãŒæœŸå¾…ã§ãã‚‹å ´åˆã ã‘ã§ã™ã€‚
+ ãれらãŒã€ã¾ã ã‚ャッシュã•ã‚Œã¦ã„ãªã„ãªã‚‰ã€ iterate() ã¯ã€
+ list() よりもé…ãã€ç°¡å˜ãªã‚¯ã‚¨ãƒªã«å¯¾ã—ã¦ã‚‚多ãã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¢ã‚¯ã‚»ã‚¹ã‚’
+ å¿…è¦ã¨ã—ã¾ã™ã€‚ãã®ã‚¢ã‚¯ã‚»ã‚¹ã¨ã¯ã€è˜åˆ¥åã ã‘ã‚’å–å¾—ã™ã‚‹ãŸã‚ã®æœ€åˆã®select1回ã¨ã€
+ 実際ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’åˆæœŸåŒ–ã™ã‚‹ãŸã‚ã«å¾Œã‹ã‚‰è¡Œã†n回ã®selectã®ã“ã¨ã§ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚Ì‘gituplej‚ð•Ô‚·ƒNƒGƒŠ
+ オブジェクトã®çµ„(tuple)を返ã™ã‚¯ã‚¨ãƒª
- Hibernate‚̃NƒGƒŠ‚Å‚ÍAŽžXAƒIƒuƒWƒFƒNƒg‚Ì‘g‚ð•Ô‚·‚±‚Æ‚ª‚ ‚è‚Ü‚·B ‚»‚ÌꇂÍAŠeƒ^ƒvƒ‹‚Í”z—ñ‚Æ‚µ‚Ä•Ô‚³‚ê‚Ü‚·B
+ Hibernateã®ã‚¯ã‚¨ãƒªã§ã¯ã€æ™‚々ã€ã‚ªãƒ–ジェクトã®çµ„ã‚’è¿”ã™ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚ ãã®å ´åˆã¯ã€å„タプルã¯é…列ã¨ã—ã¦è¿”ã•ã‚Œã¾ã™ã€‚
@@ -306,12 +308,12 @@ while ( kittensAndMothers.hasNext() ) {
- ƒXƒJƒ‰[‚ÌŒ‹‰Ê
+ スカラーã®çµæžœ
- ƒNƒGƒŠ‚Å‚ÍA select ߂ŃNƒ‰ƒX‚̃vƒƒpƒeƒB‚ðŽw’è‚Å‚«‚Ü‚·B
- SQL‚ÌW‡ŠÖ”‚ðŒÄ‚Ô‚±‚Æ‚à‚Å‚«‚Ü‚·BƒvƒƒpƒeƒB‚âW‡ŠÖ”‚ÍA
- i‰i‘±ó‘Ԃ̃Gƒ“ƒeƒBƒeƒB‚Å‚Í‚È‚juƒXƒJƒ‰[’lv‚Å‚ ‚é‚ÆŒ©‚È‚³‚ê‚Ü‚·B
+ クエリã§ã¯ã€ select 節ã§ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティを指定ã§ãã¾ã™ã€‚
+ SQLã®é›†åˆé–¢æ•°ã‚’呼ã¶ã“ã¨ã‚‚ã§ãã¾ã™ã€‚プãƒãƒ‘ティや集åˆé–¢æ•°ã¯ã€
+ (永続状態ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã§ã¯ãªã)「スカラー値ã€ã§ã‚ã‚‹ã¨è¦‹ãªã•ã‚Œã¾ã™ã€‚
- ƒpƒ‰ƒ[ƒ^‚̃oƒCƒ“ƒh
+ パラメータã®ãƒã‚¤ãƒ³ãƒ‰
Query
- ‚ÍA–¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚âJDBCƒXƒ^ƒCƒ‹‚Ì ?
- ƒpƒ‰ƒ[ƒ^‚É’l‚ðƒoƒCƒ“ƒh‚·‚邽‚߂̃ƒ\ƒbƒh‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
- JDBC‚Ƃ͈ႢAHibernate‚̓pƒ‰ƒ[ƒ^‚Ƀ[ƒ‚©‚ç”Ô†‚ðU‚Á‚Ä‚¢‚«‚Ü‚·B
- –¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚Æ‚ÍAƒNƒGƒŠ•¶Žš—ñ‚Ì‚È‚©‚É‚ ‚é :name Œ`Ž®‚ÌŽ¯•ÊŽq‚Å‚·B
- –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^‚Ì—˜“_‚ÍŽŸ‚Ì’Ê‚è‚Å‚·B
+ ã¯ã€åå‰ä»˜ãã®ãƒ‘ラメータやJDBCスタイル㮠?
+ パラメータã«å€¤ã‚’ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ãŸã‚ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’æŒã£ã¦ã„ã¾ã™ã€‚
+ JDBCã¨ã¯é•ã„ã€Hibernateã¯ãƒ‘ラメータã«ã‚¼ãƒã‹ã‚‰ç•ªå·ã‚’振ã£ã¦ã„ãã¾ã™ã€‚
+ åå‰ä»˜ãã®ãƒ‘ラメータã¨ã¯ã€ã‚¯ã‚¨ãƒªæ–‡å—列ã®ãªã‹ã«ã‚ã‚‹ :name å½¢å¼ã®è˜åˆ¥åã§ã™ã€‚
+ åå‰ä»˜ãパラメータã®åˆ©ç‚¹ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚
- –¼‘O•t‚«ƒpƒ‰ƒ[ƒ^‚ÍAƒNƒGƒŠ•¶Žš—ñ‚É“oê‚·‚釔ԂƖ³ŠÖŒW‚Å‚·
+ åå‰ä»˜ãパラメータã¯ã€ã‚¯ã‚¨ãƒªæ–‡å—列ã«ç™»å ´ã™ã‚‹é †ç•ªã¨ç„¡é–¢ä¿‚ã§ã™
- “¯‚¶ƒNƒGƒŠ“à‚É•¡”‰ñ“oê‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·
+ åŒã˜ã‚¯ã‚¨ãƒªå†…ã«è¤‡æ•°å›žç™»å ´ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™
- Ž©•ªŽ©g‚ðà–¾‚µ‚Ü‚·
+ 自分自身を説明ã—ã¾ã™
@@ -377,12 +379,12 @@ List cats = q.list();]]>
- ƒXƒNƒ[ƒ‹‰Â”\‚ȃCƒeƒŒ[ƒVƒ‡ƒ“
+ スクãƒãƒ¼ãƒ«å¯èƒ½ãªã‚¤ãƒ†ãƒ¬ãƒ¼ã‚·ãƒ§ãƒ³
- JDBCƒhƒ‰ƒCƒo‚ªƒXƒNƒ[ƒ‹‰Â”\‚È ResultSet ‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚ê‚ÎA
+ JDBCドライãƒãŒã‚¹ã‚¯ãƒãƒ¼ãƒ«å¯èƒ½ãª ResultSet をサãƒãƒ¼ãƒˆã—ã¦ã„ã‚Œã°ã€
Query
- ƒCƒ“ƒ^[ƒtƒFƒCƒX‚ðŽg‚Á‚ÄA ScrollableResults ƒIƒuƒWƒFƒNƒg‚ð
- Žæ“¾‚Å‚«‚Ü‚·B‚»‚ê‚ðŽg‚¤‚ÆAƒNƒGƒŠ‚ÌŒ‹‰Ê‚ɑ΂µ‚Ä_“î‚ɃiƒrƒQ[ƒVƒ‡ƒ“‚Å‚«‚Ü‚·B
+ インターフェイスを使ã£ã¦ã€ ScrollableResults オブジェクトを
+ å–å¾—ã§ãã¾ã™ã€‚ãれを使ã†ã¨ã€ã‚¯ã‚¨ãƒªã®çµæžœã«å¯¾ã—ã¦æŸ”軟ã«ãƒŠãƒ“ゲーションã§ãã¾ã™ã€‚
- ‚±‚Ì‹@”\‚ɂ̓I[ƒvƒ“ó‘Ԃ̃f[ƒ^ƒx[ƒXƒRƒlƒNƒVƒ‡ƒ“‚ª•K—v‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚à‚µAƒIƒtƒ‰ƒCƒ“‚̃y[ƒW•ª‚¯‹@”\‚ª•K—v‚Å‚ ‚ê‚ÎA setMaxResult() /
- setFirstResult() ‚ðŽg‚¢‚Ü‚µ‚傤B
+ ã“ã®æ©Ÿèƒ½ã«ã¯ã‚ªãƒ¼ãƒ—ン状態ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒå¿…è¦ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã‚‚ã—ã€ã‚ªãƒ•ãƒ©ã‚¤ãƒ³ã®ãƒšãƒ¼ã‚¸åˆ†ã‘機能ãŒå¿…è¦ã§ã‚ã‚Œã°ã€ setMaxResult() /
+ setFirstResult() を使ã„ã¾ã—ょã†ã€‚
- –¼‘O•t‚«ƒNƒGƒŠ‚ÌŠOo‚µ
+ åå‰ä»˜ãクエリã®å¤–出ã—
- ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚É–¼‘O•t‚«‚̃NƒGƒŠ‚ð’è‹`‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- iƒ}[ƒNƒAƒbƒv‚ƉðŽß‚³‚ê‚镶Žš‚ªƒNƒGƒŠ‚ÉŠÜ‚Ü‚ê‚é‚È‚çA CDATA ƒZƒNƒVƒ‡ƒ“‚ð
- Žg‚¤‚±‚Æ‚ð–Y‚ê‚È‚¢‚悤‚É‚µ‚Ü‚µ‚傤Bj
+ マッピングドã‚ュメントã«åå‰ä»˜ãã®ã‚¯ã‚¨ãƒªã‚’定義ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ (マークアップã¨è§£é‡ˆã•ã‚Œã‚‹æ–‡å—ãŒã‚¯ã‚¨ãƒªã«å«ã¾ã‚Œã‚‹ãªã‚‰ã€ CDATA セクションを
+ 使ã†ã“ã¨ã‚’忘れãªã„よã†ã«ã—ã¾ã—ょã†ã€‚)
and cat.weight > ?
] ]>]]>
- ƒpƒ‰ƒ[ƒ^‚̃oƒCƒ“ƒfƒBƒ“ƒO‚ÆŽÀs‚ÍAˆÈ‰º‚̂悤‚ȃvƒƒOƒ‰ƒ€‚Ås‚í‚ê‚Ü‚·B
+ パラメータã®ãƒã‚¤ãƒ³ãƒ‡ã‚£ãƒ³ã‚°ã¨å®Ÿè¡Œã¯ã€ä»¥ä¸‹ã®ã‚ˆã†ãªãƒ—ãƒã‚°ãƒ©ãƒ ã§è¡Œã‚ã‚Œã¾ã™ã€‚
- ŽÀۂ̃vƒƒOƒ‰ƒ€ƒR[ƒh‚ÍAŽg‚í‚ê‚éƒNƒGƒŠŒ¾Œê‚Ɉˑ¶‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ü‚µ‚傤B
- ƒƒ^ƒf[ƒ^‚É‚ÍAƒlƒCƒeƒBƒuSQLƒNƒGƒŠ‚ð’è‹`‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B ‚Ü‚½AŠù‘¶‚̃NƒGƒŠ‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ɉڂ·‚±‚Æ‚ÅA
- Hibernate‚ɈÚs‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
+ 実際ã®ãƒ—ãƒã‚°ãƒ©ãƒ コードã¯ã€ä½¿ã‚れるクエリ言語ã«ä¾å˜ã—ã¦ã„ãªã„ã“ã¨ã«æ³¨æ„ã—ã¾ã—ょã†ã€‚
+ メタデータã«ã¯ã€ãƒã‚¤ãƒ†ã‚£ãƒ–SQLクエリを定義ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚ ã¾ãŸã€æ—¢å˜ã®ã‚¯ã‚¨ãƒªã‚’マッピングファイルã«ç§»ã™ã“ã¨ã§ã€
+ Hibernateã«ç§»è¡Œã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- <hibernate-mapping> ‚Ì’†‚̃NƒGƒŠ’è‹`‚ÍAƒNƒGƒŠ‚ɑ΂·‚é
- ƒ†ƒj[ƒN‚È–¼‘O‚ª•K—v‚È‚±‚Æ‚É‚à’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B‚»‚ê‚ɑ΂µ‚ÄA <class> ‚Ì’†‚Ì
- ƒNƒGƒŠ’è‹`‚ÍAƒNƒ‰ƒX‚ÌŠ®‘SŒÀ’è–¼‚ª‘O‚É•t‚¯‚ç‚ê‚é‚Ì‚ÅAŽ©“®“I‚Ƀ†ƒj[ƒN‚È–¼‘O‚É‚È‚è‚Ü‚·B
- —áF eg.Cat.ByNameAndMaximumWeight
+ <hibernate-mapping> ã®ä¸ã®ã‚¯ã‚¨ãƒªå®šç¾©ã¯ã€ã‚¯ã‚¨ãƒªã«å¯¾ã™ã‚‹
+ ユニークãªåå‰ãŒå¿…è¦ãªã“ã¨ã«ã‚‚注æ„ã—ã¦ãã ã•ã„。ãã‚Œã«å¯¾ã—ã¦ã€ <class> ã®ä¸ã®
+ クエリ定義ã¯ã€ã‚¯ãƒ©ã‚¹ã®å®Œå…¨é™å®šåãŒå‰ã«ä»˜ã‘られるã®ã§ã€è‡ªå‹•çš„ã«ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªåå‰ã«ãªã‚Šã¾ã™ã€‚
+ 例: eg.Cat.ByNameAndMaximumWeight
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃tƒBƒ‹ƒ^ƒŠƒ“ƒO
- ƒRƒŒƒNƒVƒ‡ƒ“ ƒtƒBƒ‹ƒ^ ‚ÍA‰i‘±‰»‚³‚ê‚Ä‚¢‚éƒRƒŒƒNƒVƒ‡ƒ“‚â”z—ñ‚É“K—p‚³‚ê‚é
- “ÁŽê‚ȃ^ƒCƒv‚̃NƒGƒŠ‚Å‚·B‚»‚̃NƒGƒŠ•¶Žš—ñ‚Å‚ÍAƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚»‚ÌŽž“_‚Å‚Ì—v‘f‚ðˆÓ–¡‚·‚é
- this ‚ðŽg‚¢‚Ü‚·B
+ コレクションã®ãƒ•ã‚£ãƒ«ã‚¿ãƒªãƒ³ã‚°
+ コレクション フィルタ ã¯ã€æ°¸ç¶šåŒ–ã•ã‚Œã¦ã„るコレクションやé…列ã«é©ç”¨ã•ã‚Œã‚‹
+ 特殊ãªã‚¿ã‚¤ãƒ—ã®ã‚¯ã‚¨ãƒªã§ã™ã€‚ãã®ã‚¯ã‚¨ãƒªæ–‡å—列ã§ã¯ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ãã®æ™‚点ã§ã®è¦ç´ ã‚’æ„味ã™ã‚‹
+ this を使ã„ã¾ã™ã€‚
.list()
);]]>
- •Ô‚³‚ê‚éƒRƒŒƒNƒVƒ‡ƒ“‚ÍBag‚Æ‚Ý‚È‚³‚ê‚Ü‚·B‚»‚µ‚ÄA‚»‚ê‚Í‚à‚Ƃ̃RƒŒƒNƒVƒ‡ƒ“‚̃Rƒs[‚É‚È‚è‚Ü‚·B
- Œ³‚̃RƒŒƒNƒVƒ‡ƒ“‚ÍC³‚³‚ê‚Ü‚¹‚ñi‚±‚ê‚ÍA"filter"‚Æ‚¢‚¤–¼‘O‚̈Ӗ¡‚Ƃ͈قȂè‚Ü‚·‚ªA Šú‘Ò‚³‚ê‚é“®‚«‚Ƃ͈ê’v‚µ‚Ä‚¢‚Ü‚·jB
+ è¿”ã•ã‚Œã‚‹ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯Bagã¨ã¿ãªã•ã‚Œã¾ã™ã€‚ãã—ã¦ã€ãã‚Œã¯ã‚‚ã¨ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚³ãƒ”ーã«ãªã‚Šã¾ã™ã€‚
+ å…ƒã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯ä¿®æ£ã•ã‚Œã¾ã›ã‚“(ã“ã‚Œã¯ã€"filter"ã¨ã„ã†åå‰ã®æ„味ã¨ã¯ç•°ãªã‚Šã¾ã™ãŒã€ 期待ã•ã‚Œã‚‹å‹•ãã¨ã¯ä¸€è‡´ã—ã¦ã„ã¾ã™ï¼‰ã€‚
- ƒtƒBƒ‹ƒ^‚É‚Í from
- ß‚ª•s—v‚Å‚ ‚邱‚Æ‚É‹C‚‚łµ‚傤i•K—v‚È‚çAŽ‚‚±‚Æ‚à‰Â”\‚Å‚·‚ªjB ƒtƒBƒ‹ƒ^‚ÍAƒRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘fŽ©‘Ì‚ð•Ô‚µ‚Ä\‚¢‚Ü‚¹‚ñB
+ フィルタã«ã¯ from
+ 節ãŒä¸è¦ã§ã‚ã‚‹ã“ã¨ã«æ°—ã¥ãã§ã—ょã†ï¼ˆå¿…è¦ãªã‚‰ã€æŒã¤ã“ã¨ã‚‚å¯èƒ½ã§ã™ãŒï¼‰ã€‚ フィルタã¯ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ 自体を返ã—ã¦æ§‹ã„ã¾ã›ã‚“。
@@ -497,8 +499,8 @@ List cats = q.list();]]>
"select this.mate where this.color = eg.Color.BLACK.intValue")
.list();]]>
- ƒNƒGƒŠ‚ðŠÜ‚Ü‚È‚¢ƒtƒBƒ‹ƒ^‚à–ð‚É—§‚¿‚Ü‚·B
- —Ⴆ‚ÎA”ñí‚É‘å‚«‚ȃRƒŒƒNƒVƒ‡ƒ“‚Ì•”•ªW‡‚ðƒ[ƒh‚·‚邽‚ß‚ÉŽg‚¦‚Ü‚·B
+ クエリをå«ã¾ãªã„フィルタも役ã«ç«‹ã¡ã¾ã™ã€‚
+ 例ãˆã°ã€éžå¸¸ã«å¤§ããªã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®éƒ¨åˆ†é›†åˆã‚’ãƒãƒ¼ãƒ‰ã™ã‚‹ãŸã‚ã«ä½¿ãˆã¾ã™ã€‚
- ƒNƒ‰ƒCƒeƒŠƒA‚̃NƒGƒŠ
+ クライテリアã®ã‚¯ã‚¨ãƒª
- HQL‚Í”ñí‚É‹—Í‚Å‚·‚ªAƒNƒGƒŠ•¶Žš—ñ‚ðì‚é‚æ‚è‚àAƒIƒuƒWƒFƒNƒgŽwŒü‚ÌAPI‚ðŽg‚Á‚Ä
- “®“I‚ɃNƒGƒŠ‚ðì‚é•û‚ðD‚ÞŠJ”ŽÒ‚à‚¢‚Ü‚·B ‚±‚¤‚¢‚Á‚½ê‡‚Ì‚½‚ß‚ÉAHibernate‚Í’¼Š´“I‚È
- Criteria ƒNƒGƒŠAPI‚ð’ñ‹Ÿ‚µ‚Ä‚¢‚Ü‚·B
+ HQLã¯éžå¸¸ã«å¼·åŠ›ã§ã™ãŒã€ã‚¯ã‚¨ãƒªæ–‡å—列を作るよりもã€ã‚ªãƒ–ジェクト指å‘ã®APIを使ã£ã¦
+ å‹•çš„ã«ã‚¯ã‚¨ãƒªã‚’作る方を好む開発者もã„ã¾ã™ã€‚ ã“ã†ã„ã£ãŸå ´åˆã®ãŸã‚ã«ã€Hibernateã¯ç›´æ„Ÿçš„ãª
+ Criteria クエリAPIã‚’æä¾›ã—ã¦ã„ã¾ã™ã€‚
- Criteria ‚Æ
- Example API‚ÌÚׂÍA
- ‚Éq‚ׂç‚ê‚Ä‚¢‚Ü‚·B
+ Criteria ã¨
+ Example APIã®è©³ç´°ã¯ã€
+ ã«è¿°ã¹ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚
- ƒlƒCƒeƒBƒuSQL‚̃NƒGƒŠ
+ ãƒã‚¤ãƒ†ã‚£ãƒ–SQLã®ã‚¯ã‚¨ãƒª
- createSQLQuery() ‚ðŽg‚Á‚ÄASQL‚ŃNƒGƒŠ‚ð•\Œ»‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- ‚»‚µ‚ÄAHibernate‚ÉAResultSet ‚©‚çƒIƒuƒWƒFƒNƒg‚ւ̃}ƒbƒsƒ“ƒO‚ð‚Ü‚©‚¹‚Ü‚·B
- session.connection() ‚ðŒÄ‚ׂ΂ǂñ‚È‚Æ‚«‚Å‚àA’¼ÚAJDBC
- Connection ‚ðŽg—p‚Å‚«‚邱‚Æ‚ðŠo‚¦‚Ä‚¨‚«‚Ü‚µ‚傤B ‚à‚µAHibernate
- API‚ðŽg‚¤‚Ì‚Å‚ ‚ê‚ÎA‰º‹L‚̂悤‚ÉSQL‚Ì•Ê–¼‚ðŠ‡ŒÊ‚Å‚‚‚ç‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ createSQLQuery() を使ã£ã¦ã€SQLã§ã‚¯ã‚¨ãƒªã‚’表ç¾ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ ãã—ã¦ã€Hibernateã«ã€ResultSet ã‹ã‚‰ã‚ªãƒ–ジェクトã¸ã®ãƒžãƒƒãƒ”ングをã¾ã‹ã›ã¾ã™ã€‚
+ session.connection() を呼ã¹ã°ã©ã‚“ãªã¨ãã§ã‚‚ã€ç›´æŽ¥ã€JDBC
+ Connection を使用ã§ãã‚‹ã“ã¨ã‚’覚ãˆã¦ãŠãã¾ã—ょã†ã€‚ ã‚‚ã—ã€Hibernate
+ APIを使ã†ã®ã§ã‚ã‚Œã°ã€ä¸‹è¨˜ã®ã‚ˆã†ã«SQLã®åˆ¥åを括弧ã§ããらãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
.list()]]>
- SQLƒNƒGƒŠ‚ÍAHibernateƒNƒGƒŠ‚Æ“¯‚¶‚悤‚ÉA–¼‘O•t‚«‚̃pƒ‰ƒ[ƒ^‚ƈʒuƒpƒ‰ƒ[ƒ^‚ðŽ‚‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- Hibernate‚É‚¨‚¯‚éƒlƒCƒeƒBƒu‚ÈSQLƒNƒGƒŠ‚ÌÚׂɂ‚¢‚Ä‚ÍA
- ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ SQLクエリã¯ã€Hibernateクエリã¨åŒã˜ã‚ˆã†ã«ã€åå‰ä»˜ãã®ãƒ‘ラメータã¨ä½ç½®ãƒ‘ラメータをæŒã¤ã“ã¨ãŒã§ãã¾ã™ã€‚
+ Hibernateã«ãŠã‘ã‚‹ãƒã‚¤ãƒ†ã‚£ãƒ–ãªSQLクエリã®è©³ç´°ã«ã¤ã„ã¦ã¯ã€
+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- ‰i‘±ƒIƒuƒWƒFƒNƒg‚ÌC³
+ 永続オブジェクトã®ä¿®æ£
- ˆ—’†‚̉i‘±ƒCƒ“ƒXƒ^ƒ“ƒX
- i—áF Session ‚É‚æ‚Á‚ÄA
- ƒ[ƒhAƒZ[ƒuAì¬AƒNƒGƒŠ‚³‚ꂽƒIƒuƒWƒFƒNƒgj‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‘€ì‚³‚ê‚Ü‚·B
- ‚»‚ÌÛ‚É•ÏX‚³‚ꂽ‰i‘±ó‘Ô‚ÍA Session ‚ª ƒtƒ‰ƒbƒVƒ…
- ‚³‚ê‚é‚Æ‚«‚ÉA‰i‘±‰»‚³‚ê‚Ü‚·i‚±‚ê‚ÍA‚±‚Ì͂̌㔼‚Åq‚ׂĂ¢‚Ü‚·jB
- •ÏX‚ð‰i‘±‰»‚·‚邽‚ß‚ÉA“ÁŽê‚ȃƒ\ƒbƒhi update()
- ‚̂悤‚È‚à‚ÌB‚±‚ê‚ÍA•Ê‚Ì–Ú“I‚ÅŽg—p‚µ‚Ü‚·j‚ð ŒÄ‚Ô•K—v‚Í‚ ‚è‚Ü‚¹‚ñB ƒIƒuƒWƒFƒNƒg‚Ìó‘Ô‚ðXV‚·‚éˆê”ÔŠÈ’P‚È•û–@‚ÍAƒIƒuƒWƒFƒNƒg‚ð
- load() ‚µA Session
- ‚ðƒI[ƒvƒ“‚É‚µ‚Ä‚¢‚éŠÔ‚ÉA’¼Ú‘€ì‚·‚邱‚Æ‚Å‚·B
+ 処ç†ä¸ã®æ°¸ç¶šã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹
+ (例: Session ã«ã‚ˆã£ã¦ã€
+ ãƒãƒ¼ãƒ‰ã€ã‚»ãƒ¼ãƒ–ã€ä½œæˆã€ã‚¯ã‚¨ãƒªã•ã‚ŒãŸã‚ªãƒ–ジェクト)ã¯ã€ã‚¢ãƒ—リケーションã«æ“作ã•ã‚Œã¾ã™ã€‚
+ ãã®éš›ã«å¤‰æ›´ã•ã‚ŒãŸæ°¸ç¶šçŠ¶æ…‹ã¯ã€ Session ㌠フラッシュ
+ ã•ã‚Œã‚‹ã¨ãã«ã€æ°¸ç¶šåŒ–ã•ã‚Œã¾ã™ï¼ˆã“ã‚Œã¯ã€ã“ã®ç« ã®å¾ŒåŠã§è¿°ã¹ã¦ã„ã¾ã™ï¼‰ã€‚
+ 変更を永続化ã™ã‚‹ãŸã‚ã«ã€ç‰¹æ®Šãªãƒ¡ã‚½ãƒƒãƒ‰ï¼ˆ update()
+ ã®ã‚ˆã†ãªã‚‚ã®ã€‚ã“ã‚Œã¯ã€åˆ¥ã®ç›®çš„ã§ä½¿ç”¨ã—ã¾ã™ï¼‰ã‚’ 呼ã¶å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。 オブジェクトã®çŠ¶æ…‹ã‚’æ›´æ–°ã™ã‚‹ä¸€ç•ªç°¡å˜ãªæ–¹æ³•ã¯ã€ã‚ªãƒ–ジェクトを
+ load() ã—〠Session
+ をオープンã«ã—ã¦ã„ã‚‹é–“ã«ã€ç›´æŽ¥æ“作ã™ã‚‹ã“ã¨ã§ã™ã€‚
- iƒIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚·‚邽‚ß‚ÌjSQL‚Ì SELECT ‚ÆiXV‚³‚ꂽó‘Ô‚ð‰i‘±‰»‚·‚邽‚ß‚Ìj
- SQL‚Ì UPDATE ‚ª“¯‚¶ƒZƒbƒVƒ‡ƒ“‚Å•K—v‚Æ‚È‚é‚Ì‚ÅA‚±‚̃vƒƒOƒ‰ƒ~ƒ“ƒOƒ‚ƒfƒ‹‚ÍA
- Œø—¦‚ªˆ«‚‚È‚éꇂª‚ ‚è‚Ü‚·B
- ‚»‚Ì‚½‚ßAHibernate‚Í•Ê‚Ì•û–@‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚·B‚»‚ê‚ÍAƒCƒ“ƒXƒ^ƒ“ƒX‚𕪗£‚·‚éidetachedj•û–@‚Å‚·B
+ (オブジェクトをãƒãƒ¼ãƒ‰ã™ã‚‹ãŸã‚ã®ï¼‰SQLã® SELECT ã¨ï¼ˆæ›´æ–°ã•ã‚ŒãŸçŠ¶æ…‹ã‚’永続化ã™ã‚‹ãŸã‚ã®ï¼‰
+ SQLã® UPDATE ãŒåŒã˜ã‚»ãƒƒã‚·ãƒ§ãƒ³ã§å¿…è¦ã¨ãªã‚‹ã®ã§ã€ã“ã®ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãƒ¢ãƒ‡ãƒ«ã¯ã€
+ 効率ãŒæ‚ªããªã‚‹å ´åˆãŒã‚ã‚Šã¾ã™ã€‚
+ ãã®ãŸã‚ã€Hibernateã¯åˆ¥ã®æ–¹æ³•ã‚’用æ„ã—ã¦ã„ã¾ã™ã€‚ãã‚Œã¯ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’分離ã™ã‚‹ï¼ˆdetached)方法ã§ã™ã€‚
- Hibernate‚ÍA UPDATE •¶‚â
- DELETE •¶‚ð’¼ÚŽÀs‚·‚éAPI‚ð—pˆÓ‚µ‚Ä‚¢‚Ü‚¹‚ñB
- Hibernate‚ÍA ó‘ÔŠÇ— ƒT[ƒrƒX‚Å‚ ‚èAŽg‚í‚ê‚éSQL
- •¶ ‚Ì‚±‚Æ‚ðŠJ”ŽÒ‚ªl‚¦‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- JDBC‚ÍSQL•¶‚ðŽÀs‚·‚銮àø‚ÈAPI‚Å‚ ‚èA session.connection()
- ‚ðŒÄ‚Ô‚±‚Æ‚Å ‚¢‚‚łàAJDBC Connection ‚ðŠJ”ŽÒ‚͎擾‚Å‚«‚Ü‚·B
- ‚³‚ç‚ÉA‘å—ʂ̃f[ƒ^‘€ì‚Ìl‚¦•û‚ÍAƒIƒ“ƒ‰ƒCƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ˆ—Œü‚«ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì
- ƒIƒuƒWƒFƒNƒg/ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒ}ƒbƒsƒ“ƒO‚ÆÕ“Ë‚µ‚Ü‚·B
- ‚µ‚©‚µAHibernate‚Ì¡Œã‚̃o[ƒWƒ‡ƒ“‚Å‚ÍA‘å—ʃf[ƒ^‚ðˆ—‚·‚é“Á•Ê‚È‹@”\‚ð’ñ‹Ÿ‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ƒoƒbƒ`‘€ì‚É—˜—p‚Å‚«‚é‚¢‚‚‚©‚ÌH•v‚ɂ‚¢‚Ä‚ÍA ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ Hibernateã¯ã€ UPDATE 文や
+ DELETE 文を直接実行ã™ã‚‹APIを用æ„ã—ã¦ã„ã¾ã›ã‚“。
+ Hibernateã¯ã€ çŠ¶æ…‹ç®¡ç† ã‚µãƒ¼ãƒ“ã‚¹ã§ã‚ã‚Šã€ä½¿ã‚れるSQL
+ æ–‡ ã®ã“ã¨ã‚’開発者ãŒè€ƒãˆã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ JDBCã¯SQL文を実行ã™ã‚‹å®Œç’§ãªAPIã§ã‚り〠session.connection()
+ を呼ã¶ã“ã¨ã§ ã„ã¤ã§ã‚‚ã€JDBC Connection を開発者ã¯å–å¾—ã§ãã¾ã™ã€‚
+ ã•ã‚‰ã«ã€å¤§é‡ã®ãƒ‡ãƒ¼ã‚¿æ“作ã®è€ƒãˆæ–¹ã¯ã€ã‚ªãƒ³ãƒ©ã‚¤ãƒ³ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å‡¦ç†å‘ãアプリケーションã®
+ オブジェクト/リレーショナルマッピングã¨è¡çªã—ã¾ã™ã€‚
+ ã—ã‹ã—ã€Hibernateã®ä»Šå¾Œã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã§ã¯ã€å¤§é‡ãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã™ã‚‹ç‰¹åˆ¥ãªæ©Ÿèƒ½ã‚’æä¾›ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ãƒãƒƒãƒæ“作ã«åˆ©ç”¨ã§ãã‚‹ã„ãã¤ã‹ã®å·¥å¤«ã«ã¤ã„ã¦ã¯ã€ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- •ª—£ƒIƒuƒWƒFƒNƒg‚ÌC³
+ 分離オブジェクトã®ä¿®æ£
- ‘½‚‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍŽŸ‚Ì‚±‚Æ‚ª•K—v‚É‚È‚è‚Ü‚·B
- ‚»‚ê‚ÍA‚ ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ŃIƒuƒWƒFƒNƒg‚𕜌³‚µA‘€ì‚·‚邽‚ß‚É‚»‚ê‚ðUI‘w‚É‘—‚èA
- ‚»‚ÌŒã‚ÉAV‚µ‚¢ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Å•ÏX‚ðƒZ[ƒu‚·‚é‚Æ‚¢‚Á‚½‚±‚Æ‚Å‚·B
- •Às«‚Ì‚‚¢ŠÂ‹«‚ÅA‚±‚̃^ƒCƒv‚̃Aƒvƒ[ƒ`‚ðŽg‚¤ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍA "ŠúŠÔ‚Ì’·‚¢"
- ì‹Æ’PˆÊ‚ÌŠu—£«‚ð•ÛØ‚·‚邽‚ß‚ÉAƒo[ƒWƒ‡ƒ“ƒf[ƒ^‚ª’ÊíŽg‚í‚ê‚Ü‚·B
+ 多ãã®ã‚¢ãƒ—リケーションã§ã¯æ¬¡ã®ã“ã¨ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚
+ ãã‚Œã¯ã€ã‚るトランザクションã§ã‚ªãƒ–ジェクトを復元ã—ã€æ“作ã™ã‚‹ãŸã‚ã«ãれをUI層ã«é€ã‚Šã€
+ ãã®å¾Œã«ã€æ–°ã—ã„トランザクションã§å¤‰æ›´ã‚’セーブã™ã‚‹ã¨ã„ã£ãŸã“ã¨ã§ã™ã€‚
+ 並行性ã®é«˜ã„環境ã§ã€ã“ã®ã‚¿ã‚¤ãƒ—ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã‚’使ã†ã‚¢ãƒ—リケーションã§ã¯ã€ "期間ã®é•·ã„"
+ 作æ¥å˜ä½ã®éš”離性をä¿è¨¼ã™ã‚‹ãŸã‚ã«ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒ‡ãƒ¼ã‚¿ãŒé€šå¸¸ä½¿ã‚ã‚Œã¾ã™ã€‚
- Hibernate‚ÍA Session.update() ‚â
- Session.merge() ƒƒ\ƒbƒh‚ð
- Žg‚Á‚ÄA•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðĒljÁ‚·‚邱‚Æ‚ÅA‚±‚̃‚ƒfƒ‹‚ɑΉž‚µ‚Ü‚·B
+ Hibernateã¯ã€ Session.update() ã‚„
+ Session.merge() メソッドを
+ 使ã£ã¦ã€åˆ†é›¢ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’å†è¿½åŠ ã™ã‚‹ã“ã¨ã§ã€ã“ã®ãƒ¢ãƒ‡ãƒ«ã«å¯¾å¿œã—ã¾ã™ã€‚
- Ž¯•ÊŽqcatId ‚ðŽ‚ Cat ‚ªAŠù‚É
- secondSession ‚Ń[ƒh‚³‚ê‚Ä‚¢‚½ê‡‚ÍAĒljÁ‚µ‚悤‚Æ‚µ‚½‚Æ‚«‚ÉA—áŠO‚ª“Š‚°‚ç‚ê‚Ü‚·B
+ è˜åˆ¥åcatId ã‚’æŒã¤ Cat ãŒã€æ—¢ã«
+ secondSession ã§ãƒãƒ¼ãƒ‰ã•ã‚Œã¦ã„ãŸå ´åˆã¯ã€å†è¿½åŠ ã—よã†ã¨ã—ãŸã¨ãã«ã€ä¾‹å¤–ãŒæŠ•ã’られã¾ã™ã€‚
- “¯‚¶Ž¯•ÊŽq‚ðŽ‚‰i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒZƒbƒVƒ‡ƒ“‚ªŠù‚É•ÛŽ‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ð
- ŠmM‚Å‚«‚é‚È‚ç update() ‚ðŽg‚¢‚Ü‚µ‚傤B
- ‚»‚µ‚ÄAƒZƒbƒVƒ‡ƒ“‚Ìó‘Ô‚ðl‚¦‚¸‚ÉA‚Ç‚ñ‚Èꇂłà•ÏX‚ðƒ}[ƒW‚µ‚½‚¢ê‡‚ÍA merge()
- ‚ðŽg‚¢‚Ü‚µ‚傤B ‚·‚È‚í‚¿A•ª—£ƒIƒuƒWƒFƒNƒg‚ÌĒljÁ‘€ì‚ªAʼn‚ÉŽÀs‚³‚ê‚邱‚Æ‚ðŠmŽÀ‚É‚·‚邽‚ß‚ÉA ’Êí‚Í
- update() ‚ªV‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚Ì‚È‚©‚Åʼn‚ɌĂ΂ê‚郃\ƒbƒh‚É‚È‚è‚Ü‚·B
+ åŒã˜è˜åˆ¥åã‚’æŒã¤æ°¸ç¶šã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’セッションãŒæ—¢ã«ä¿æŒã—ã¦ã„ãªã„ã“ã¨ã‚’
+ 確信ã§ãã‚‹ãªã‚‰ update() を使ã„ã¾ã—ょã†ã€‚
+ ãã—ã¦ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®çŠ¶æ…‹ã‚’考ãˆãšã«ã€ã©ã‚“ãªå ´åˆã§ã‚‚変更をマージã—ãŸã„å ´åˆã¯ã€ merge()
+ を使ã„ã¾ã—ょã†ã€‚ ã™ãªã‚ã¡ã€åˆ†é›¢ã‚ªãƒ–ジェクトã®å†è¿½åŠ æ“作ãŒã€æœ€åˆã«å®Ÿè¡Œã•ã‚Œã‚‹ã“ã¨ã‚’確実ã«ã™ã‚‹ãŸã‚ã«ã€ 通常ã¯
+ update() ãŒæ–°ã—ã„セッションã®ãªã‹ã§æœ€åˆã«å‘¼ã°ã‚Œã‚‹ãƒ¡ã‚½ãƒƒãƒ‰ã«ãªã‚Šã¾ã™ã€‚
- •ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚©‚ç“ž’B‰Â”\‚ÈA•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍŒÂ•Ê‚É update()
- ‚·‚ׂ«‚Å‚·B‚»‚ê‚ÍA‚»‚Ìó‘Ô‚ðXV‚µ‚½‚¢ê‡‚É ŒÀ‚è ‚Ü‚·B
- ‘JˆÚ“I‚ȉi‘±‰» ‚ðŽg‚¦‚ÎA‚à‚¿‚ë‚ñŽ©“®‰»‚Å‚«‚Ü‚·B ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 分離インスタンスã‹ã‚‰åˆ°é”å¯èƒ½ãªã€åˆ†é›¢ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’アプリケーションã¯å€‹åˆ¥ã« update()
+ ã™ã¹ãã§ã™ã€‚ãã‚Œã¯ã€ãã®çŠ¶æ…‹ã‚’æ›´æ–°ã—ãŸã„å ´åˆã« é™ã‚Š ã¾ã™ã€‚
+ é·ç§»çš„ãªæ°¸ç¶šåŒ– を使ãˆã°ã€ã‚‚ã¡ã‚ん自動化ã§ãã¾ã™ã€‚ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- ƒƒ\ƒbƒh‚Å‚à‚Ü‚½AV‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ɃIƒuƒWƒFƒNƒg‚ðÄŠÖ˜A•t‚¯‚Å‚«‚Ü‚·B ‚µ‚©‚µA•ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚Í–³C³‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ メソッドã§ã‚‚ã¾ãŸã€æ–°ã—ã„セッションã«ã‚ªãƒ–ジェクトをå†é–¢é€£ä»˜ã‘ã§ãã¾ã™ã€‚ ã—ã‹ã—ã€åˆ†é›¢ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ç„¡ä¿®æ£ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
@@ -657,24 +659,24 @@ sess.lock(izi, LockMode.READ);
sess.lock(pk, LockMode.UPGRADE);]]>
- lock() ‚ÍA‚³‚Ü‚´‚Ü‚È
- LockMode ‚Æ‚Æ‚à‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ÚׂÍAAPIƒhƒLƒ…ƒƒ“ƒg‚ƃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ˆ—‚ÌÍ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
- ĒljÁ‚Ì‚Æ‚«‚É‚¾‚¯A lock() ‚ªŽg‚í‚ê‚é‚킯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+ lock() ã¯ã€ã•ã¾ã–ã¾ãª
+ LockMode ã¨ã¨ã‚‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 詳細ã¯ã€APIドã‚ュメントã¨ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å‡¦ç†ã®ç« ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
+ å†è¿½åŠ ã®ã¨ãã«ã ã‘〠lock() ãŒä½¿ã‚れるã‚ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
- ŠúŠÔ‚Ì’·‚¢ì‹Æ’PˆÊ‚ÌA‚»‚Ì‘¼‚̃‚ƒfƒ‹‚ÍA ‚Åq‚ׂĂ¢‚Ü‚·B
+ 期間ã®é•·ã„作æ¥å˜ä½ã®ã€ãã®ä»–ã®ãƒ¢ãƒ‡ãƒ«ã¯ã€ ã§è¿°ã¹ã¦ã„ã¾ã™ã€‚
- Ž©“®“I‚Èó‘ÔŒŸo
+ 自動的ãªçŠ¶æ…‹æ¤œå‡º
- Hibernate‚̃†[ƒU‚ÍŽŸ‚Ì2‚‚̃P[ƒX‚Ì‚Ç‚¿‚ç‚É‚àŽg‚¦‚é”Ä—p“I‚ȃƒ\ƒbƒh‚ð—v‹‚µ‚Ä‚¢‚Ü‚µ‚½B
- ‚»‚ê‚ÍAV‚µ‚¢Ž¯•ÊŽq‚𶬂µ‚Ĉꎞ“I‚ȃCƒ“ƒXƒ^ƒ“ƒX‚ðƒZ[ƒu‚·‚邱‚Æ‚ÆA
- ‚»‚ÌŽž“_‚ÌŽ¯•ÊŽq‚ÆŠÖ˜A‚¢‚Ä‚¢‚镪—£ƒCƒ“ƒXƒ^ƒ“ƒX‚ðXV/ĒljÁ‚·‚邱‚Æ‚Ì‚Å‚«‚郃\ƒbƒh‚Å‚·B
- saveOrUpdate() ‚Í‚±‚̂悤‚È‹@”\‚ðŽÀŒ»‚µ‚½ƒƒ\ƒbƒh‚Å‚·B
+ Hibernateã®ãƒ¦ãƒ¼ã‚¶ã¯æ¬¡ã®2ã¤ã®ã‚±ãƒ¼ã‚¹ã®ã©ã¡ã‚‰ã«ã‚‚使ãˆã‚‹æ±Žç”¨çš„ãªãƒ¡ã‚½ãƒƒãƒ‰ã‚’è¦æ±‚ã—ã¦ã„ã¾ã—ãŸã€‚
+ ãã‚Œã¯ã€æ–°ã—ã„è˜åˆ¥åを生æˆã—ã¦ä¸€æ™‚çš„ãªã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’セーブã™ã‚‹ã“ã¨ã¨ã€
+ ãã®æ™‚点ã®è˜åˆ¥åã¨é–¢é€£ã¥ã„ã¦ã„る分離インスタンスを更新/å†è¿½åŠ ã™ã‚‹ã“ã¨ã®ã§ãるメソッドã§ã™ã€‚
+ saveOrUpdate() ã¯ã“ã®ã‚ˆã†ãªæ©Ÿèƒ½ã‚’実ç¾ã—ãŸãƒ¡ã‚½ãƒƒãƒ‰ã§ã™ã€‚
- saveOrUpdate() ‚ÌŽg—p•û–@‚ƈӖ¡‚ÍA
- V‚µ‚¢ƒ†[ƒU‚É‚Æ‚Á‚Ĭ—‚𵂂©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚Ü‚¸‘æˆê‚ÉA‚ ‚éƒZƒbƒVƒ‡ƒ“‚ÅŽg—p‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Ê‚ÌV‚µ‚¢ƒZƒbƒVƒ‡ƒ“‚ÅŽg‚¨‚¤‚Æ‚µ‚È‚¢ŒÀ‚èA
- update() ‚â saveOrUpdate() ‚â
- merge() ‚ðŽg‚¤•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‘S‘Ì‚ð’Ê‚¶‚ÄA‚±‚ê‚ç‚̃ƒ\ƒbƒh‚ð‘S‚Žg‚í‚È‚¢‚±‚Æ‚à‚ ‚è‚Ü‚·B
+ saveOrUpdate() ã®ä½¿ç”¨æ–¹æ³•ã¨æ„味ã¯ã€
+ æ–°ã—ã„ユーザã«ã¨ã£ã¦æ··ä¹±ã‚’æ‹›ãã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã¾ãšç¬¬ä¸€ã«ã€ã‚るセッションã§ä½¿ç”¨ã—ãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’別ã®æ–°ã—ã„セッションã§ä½¿ãŠã†ã¨ã—ãªã„é™ã‚Šã€
+ update() ã‚„ saveOrUpdate() ã‚„
+ merge() を使ã†å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ アプリケーション全体を通ã˜ã¦ã€ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’å…¨ã使ã‚ãªã„ã“ã¨ã‚‚ã‚ã‚Šã¾ã™ã€‚
- ’ÊíA update() ‚â saveOrUpdate()
- ‚ÍŽŸ‚̃VƒiƒŠƒI‚Å Žg‚í‚ê‚Ü‚·B
+ 通常〠update() や saveOrUpdate()
+ ã¯æ¬¡ã®ã‚·ãƒŠãƒªã‚ªã§ 使ã‚ã‚Œã¾ã™ã€‚
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªÅ‰‚̃ZƒbƒVƒ‡ƒ“‚ŃIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚µ‚Ü‚·B
+ アプリケーションãŒæœ€åˆã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã§ã‚ªãƒ–ジェクトをãƒãƒ¼ãƒ‰ã—ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ªUI‘w‚É‘—‚ç‚ê‚Ü‚·B
+ オブジェクトãŒUI層ã«é€ã‚‰ã‚Œã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ɑ΂µ‚Ä•ÏX‚ª‰Á‚¦‚ç‚ê‚Ü‚·B
+ オブジェクトã«å¯¾ã—ã¦å¤‰æ›´ãŒåŠ ãˆã‚‰ã‚Œã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ªƒrƒWƒlƒXƒƒWƒbƒN‘w‚É‘—‚ç‚ê‚Ü‚·B
+ オブジェクトãŒãƒ“ジãƒã‚¹ãƒã‚¸ãƒƒã‚¯å±¤ã«é€ã‚‰ã‚Œã¾ã™ã€‚
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍA2”Ԗڂ̃ZƒbƒVƒ‡ƒ“‚Å update()
- ‚ðŒÄ‚Ô‚±‚Æ‚ÅA‚±‚ê‚ç‚Ì•ÏX‚ð‰i‘±‰»‚µ‚Ü‚·B
+ アプリケーションã¯ã€2番目ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã§ update()
+ を呼ã¶ã“ã¨ã§ã€ã“れらã®å¤‰æ›´ã‚’永続化ã—ã¾ã™ã€‚
- saveOrUpdate() ‚͈ȉº‚Ì‚±‚Æ‚ðs‚¢‚Ü‚·B
+ saveOrUpdate() ã¯ä»¥ä¸‹ã®ã“ã¨ã‚’è¡Œã„ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ª‚±‚̃ZƒbƒVƒ‡ƒ“‚ÅA‚·‚łɉi‘±‰»‚³‚ê‚Ä‚¢‚ê‚ÎA‰½‚à‚µ‚Ü‚¹‚ñB
+ オブジェクトãŒã“ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã§ã€ã™ã§ã«æ°¸ç¶šåŒ–ã•ã‚Œã¦ã„ã‚Œã°ã€ä½•ã‚‚ã—ã¾ã›ã‚“。
- ‚»‚̃ZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A‚¢‚Ä‚¢‚é•Ê‚̃IƒuƒWƒFƒNƒg‚ª“¯‚¶Ž¯•ÊŽq‚ðŽ‚Á‚Ä‚¢‚é‚È‚çA —áŠO‚ð“Š‚°‚Ü‚·B
+ ãã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«é–¢é€£ã¥ã„ã¦ã„る別ã®ã‚ªãƒ–ジェクトãŒåŒã˜è˜åˆ¥åã‚’æŒã£ã¦ã„ã‚‹ãªã‚‰ã€ 例外を投ã’ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ª’l‚ðŽ‚½‚È‚¢‚È‚ç‚ÎA save() ‚µ‚Ü‚·B
+ オブジェクトã®è˜åˆ¥åãŒå€¤ã‚’æŒãŸãªã„ãªã‚‰ã°ã€ save() ã—ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚ª’l‚ðŽ‚¿A‚»‚Ì’l‚ªV‚½‚ɃCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Ì‚½‚ß‚Ì’l‚Å‚ ‚éê‡A ‚»‚̃IƒuƒWƒFƒNƒg‚ð
- save() ‚µ‚Ü‚·B
+ オブジェクトã®è˜åˆ¥åãŒå€¤ã‚’æŒã¡ã€ãã®å€¤ãŒæ–°ãŸã«ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹åŒ–ã•ã‚ŒãŸã‚ªãƒ–ジェクトã®ãŸã‚ã®å€¤ã§ã‚ã‚‹å ´åˆã€ ãã®ã‚ªãƒ–ジェクトを
+ save() ã—ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ªi <version> ‚â
- <timestamp> ‚É‚æ‚Á‚Äj
- ƒo[ƒWƒ‡ƒ“‚¯‚³‚ê‚Ä‚¢‚ÄAƒo[ƒWƒ‡ƒ“‚̃vƒƒpƒeƒB‚ª’l‚ðŽ‚¿A
- ‚»‚Ì’l‚ªV‚µ‚ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ꂽƒIƒuƒWƒFƒNƒg‚Ì‚½‚ß‚Ì’l‚Å‚ ‚éê‡A ‚»‚̃IƒuƒWƒFƒNƒg‚ð
- save() ‚µ‚Ü‚·B
+ オブジェクトãŒï¼ˆ <version> ã‚„
+ <timestamp> ã«ã‚ˆã£ã¦ï¼‰
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¥ã‘ã•ã‚Œã¦ã„ã¦ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã®ãƒ—ãƒãƒ‘ティãŒå€¤ã‚’æŒã¡ã€
+ ãã®å€¤ãŒæ–°ã—ãインスタンス化ã•ã‚ŒãŸã‚ªãƒ–ジェクトã®ãŸã‚ã®å€¤ã§ã‚ã‚‹å ´åˆã€ ãã®ã‚ªãƒ–ジェクトを
+ save() ã—ã¾ã™ã€‚
- ‚»‚¤‚Å‚È‚¢ê‡‚ÍA‚»‚̃IƒuƒWƒFƒNƒg‚ð update() ‚µ‚Ü‚·B
+ ãã†ã§ãªã„å ´åˆã¯ã€ãã®ã‚ªãƒ–ジェクトを update() ã—ã¾ã™ã€‚
- ‚»‚µ‚ÄA merge() ‚͈ȉº‚̂悤‚É‚Æ‚Ä‚àˆÙ‚È‚è‚Ü‚·B
+ ãã—ã¦ã€ merge() ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ã¨ã¦ã‚‚ç•°ãªã‚Šã¾ã™ã€‚
- “¯‚¶Ž¯•ÊŽq‚ðŽ‚‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‚»‚ÌŽž“_‚ŃZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A•t‚¢‚Ä‚¢‚é‚È‚ç‚ÎA
- ˆø”‚Ŏ󂯎æ‚Á‚½ƒIƒuƒWƒFƒNƒg‚Ìó‘Ô‚ð‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ɃRƒs[‚µ‚Ü‚·B
+ åŒã˜è˜åˆ¥åã‚’æŒã¤æ°¸ç¶šåŒ–インスタンスãŒãã®æ™‚点ã§ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¨é–¢é€£ä»˜ã„ã¦ã„ã‚‹ãªã‚‰ã°ã€
+ 引数ã§å—ã‘å–ã£ãŸã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’永続化インスタンスã«ã‚³ãƒ”ーã—ã¾ã™ã€‚
- ‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ª‚»‚ÌŽž“_‚ŃZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A•t‚¢‚Ä‚¢‚È‚¢‚È‚çA
- ƒf[ƒ^ƒx[ƒX‚©‚ç‚»‚ê‚ðƒ[ƒh‚·‚é‚©A‚ ‚é‚¢‚ÍAV‚µ‚¢‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ð쬂µ‚Ü‚·B
+ 永続化インスタンスãŒãã®æ™‚点ã§ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«é–¢é€£ä»˜ã„ã¦ã„ãªã„ãªã‚‰ã€
+ データベースã‹ã‚‰ãれをãƒãƒ¼ãƒ‰ã™ã‚‹ã‹ã€ã‚ã‚‹ã„ã¯ã€æ–°ã—ã„永続化インスタンスを作æˆã—ã¾ã™ã€‚
- ‰i‘±‰»ƒCƒ“ƒXƒ^ƒ“ƒX‚ª•Ô‚³‚ê‚Ü‚·B
+ 永続化インスタンスãŒè¿”ã•ã‚Œã¾ã™ã€‚
- ˆø”‚Æ‚µ‚Ä—^‚¦‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚̓ZƒbƒVƒ‡ƒ“‚ÆŠÖ˜A‚ðŽ‚¿‚Ü‚¹‚ñB ‚»‚ê‚ÍA•ª—£ó‘Ô‚Ì‚Ü‚Ü‚Å‚·B
+ 引数ã¨ã—ã¦ä¸ŽãˆãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã‚»ãƒƒã‚·ãƒ§ãƒ³ã¨é–¢é€£ã‚’æŒã¡ã¾ã›ã‚“。 ãã‚Œã¯ã€åˆ†é›¢çŠ¶æ…‹ã®ã¾ã¾ã§ã™ã€‚
@@ -780,28 +782,28 @@ secondSession.saveOrUpdate(mate); // save the new instance (mate has a null id)
- ‰i‘±ƒIƒuƒWƒFƒNƒg‚Ìíœ
+ 永続オブジェクトã®å‰Šé™¤
Session.delete()
- ‚̓IƒuƒWƒFƒNƒg‚Ìó‘Ô‚ðƒf[ƒ^ƒx[ƒX‚©‚ç휂µ‚Ü‚·B ‚à‚¿‚ë‚ñA휂µ‚½ƒIƒuƒWƒFƒNƒg‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•ÛŽ‚µ‚½‚Ü‚Ü‚Å‚à‚æ‚¢‚Å‚·B
- ‚»‚Ì‚½‚ßA delete() ‚͉i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚ðˆêŽž“I‚É‚·‚é‚à‚Ì‚Æl‚¦‚é‚Ì‚ªˆê”Ô‚Å‚·B
+ ã¯ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’データベースã‹ã‚‰å‰Šé™¤ã—ã¾ã™ã€‚ ã‚‚ã¡ã‚ã‚“ã€å‰Šé™¤ã—ãŸã‚ªãƒ–ジェクトをアプリケーションãŒä¿æŒã—ãŸã¾ã¾ã§ã‚‚よã„ã§ã™ã€‚
+ ãã®ãŸã‚〠delete() ã¯æ°¸ç¶šã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’一時的ã«ã™ã‚‹ã‚‚ã®ã¨è€ƒãˆã‚‹ã®ãŒä¸€ç•ªã§ã™ã€‚
- ŠO•”ƒL[§–ñ‚Ɉᔽ‚·‚郊ƒXƒN‚à‚È‚AD‚«‚ȇ”ԂŃIƒuƒWƒFƒNƒg‚ð휂·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚½‚¾‚µAŠÔˆá‚Á‚½‡”ԂŃIƒuƒWƒFƒNƒg‚ð휂·‚é‚ÆAŠO•”ƒL[ƒJƒ‰ƒ€‚Ì NOT NULL
- §–ñ‚Ɉᔽ‚·‚é‰Â”\«‚ª‚ ‚è‚Ü‚·B —Ⴆ‚ÎAeƒIƒuƒWƒFƒNƒg‚ð휂µ‚½‚Æ‚«‚ÉAŽq‹ŸƒIƒuƒWƒFƒNƒg‚ð휂µ–Y‚ꂽꇂł·B
+ 外部ã‚ー制約ã«é•åã™ã‚‹ãƒªã‚¹ã‚¯ã‚‚ãªãã€å¥½ããªé †ç•ªã§ã‚ªãƒ–ジェクトを削除ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ãŸã ã—ã€é–“é•ã£ãŸé †ç•ªã§ã‚ªãƒ–ジェクトを削除ã™ã‚‹ã¨ã€å¤–部ã‚ーカラム㮠NOT NULL
+ 制約ã«é•åã™ã‚‹å¯èƒ½æ€§ãŒã‚ã‚Šã¾ã™ã€‚ 例ãˆã°ã€è¦ªã‚ªãƒ–ジェクトを削除ã—ãŸã¨ãã«ã€å供オブジェクトを削除ã—忘れãŸå ´åˆã§ã™ã€‚
- ˆÙ‚È‚é“ñ‚‚̃f[ƒ^ƒXƒgƒAŠÔ‚ł̃IƒuƒWƒFƒNƒg‚̃ŒƒvƒŠƒP[ƒVƒ‡ƒ“
+ ç•°ãªã‚‹äºŒã¤ã®ãƒ‡ãƒ¼ã‚¿ã‚¹ãƒˆã‚¢é–“ã§ã®ã‚ªãƒ–ジェクトã®ãƒ¬ãƒ—リケーション
- ‰i‘±ƒCƒ“ƒXƒ^ƒ“ƒX‚̃Oƒ‰ƒt‚ð•Ê‚̃f[ƒ^ƒXƒgƒA‚ɉi‘±‰»‚·‚éꇂÉA
- Ž¯•ÊŽq‚Ì’l‚ðĶ¬‚¹‚¸‚É‚·‚Þ‚Æ•Ö—˜‚Èꇂª‚ ‚è‚Ü‚·B
+ 永続インスタンスã®ã‚°ãƒ©ãƒ•ã‚’別ã®ãƒ‡ãƒ¼ã‚¿ã‚¹ãƒˆã‚¢ã«æ°¸ç¶šåŒ–ã™ã‚‹å ´åˆã«ã€
+ è˜åˆ¥åã®å€¤ã‚’å†ç”Ÿæˆã›ãšã«ã™ã‚€ã¨ä¾¿åˆ©ãªå ´åˆãŒã‚ã‚Šã¾ã™ã€‚
- ƒŒƒvƒŠƒP[ƒVƒ‡ƒ“æ‚̃f[ƒ^ƒx[ƒX‚És‚ªŠù‚É‚ ‚éê‡A replicate()
- ‚ªÕ“Ë‚ð‚ǂ̂悤‚Ɉµ‚¤‚©‚ð ReplicationMode ‚ÅŽw’肵‚Ü‚·B
+ レプリケーション先ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«è¡ŒãŒæ—¢ã«ã‚ã‚‹å ´åˆã€ replicate()
+ ãŒè¡çªã‚’ã©ã®ã‚ˆã†ã«æ‰±ã†ã‹ã‚’ ReplicationMode ã§æŒ‡å®šã—ã¾ã™ã€‚
ReplicationMode.IGNORE -
- “¯‚¶Ž¯•ÊŽq‚ðŽ‚Âs‚ªƒf[ƒ^ƒx[ƒX‚É‘¶Ý‚·‚é‚È‚çA ‚»‚̃IƒuƒWƒFƒNƒg‚𖳎‹‚µ‚Ü‚·B
+ åŒã˜è˜åˆ¥åã‚’æŒã¤è¡ŒãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å˜åœ¨ã™ã‚‹ãªã‚‰ã€ ãã®ã‚ªãƒ–ジェクトを無視ã—ã¾ã™ã€‚
- ReplicationMode.OVERWRITE - “¯‚¶Ž¯•ÊŽq‚ðŽ‚Šù‘¶‚Ìs‚ð
- ‚·‚ׂÄã‘‚«‚µ‚Ü‚·B
+ ReplicationMode.OVERWRITE - åŒã˜è˜åˆ¥åã‚’æŒã¤æ—¢å˜ã®è¡Œã‚’
+ ã™ã¹ã¦ä¸Šæ›¸ãã—ã¾ã™ã€‚
ReplicationMode.EXCEPTION -
- “¯‚¶Ž¯•ÊŽq‚ðŽ‚Âs‚ªƒf[ƒ^ƒx[ƒX‚É‘¶Ý‚·‚é‚È‚çA —áŠO‚ð“Š‚°‚Ü‚·B
+ åŒã˜è˜åˆ¥åã‚’æŒã¤è¡ŒãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å˜åœ¨ã™ã‚‹ãªã‚‰ã€ 例外を投ã’ã¾ã™ã€‚
ReplicationMode.LATEST_VERSION -
- s‚É•Û‘¶‚³‚ê‚Ä‚¢‚éƒo[ƒWƒ‡ƒ“”Ô†‚ªA ˆø”‚̃IƒuƒWƒFƒNƒg‚̃o[ƒWƒ‡ƒ“”Ô†‚æ‚èŒÃ‚¢‚È‚ç‚ÎA‚»‚Ìs‚ðã‘‚«‚µ‚Ü‚·B
+ è¡Œã«ä¿å˜ã•ã‚Œã¦ã„ã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ãŒã€ 引数ã®ã‚ªãƒ–ジェクトã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚ˆã‚Šå¤ã„ãªã‚‰ã°ã€ãã®è¡Œã‚’上書ãã—ã¾ã™ã€‚
- ŽŸ‚̂悤‚ȃP[ƒX‚ÅA‚±‚Ì‹@”\‚ðŽg—p‚µ‚Ü‚·B ˆÙ‚È‚éƒf[ƒ^ƒx[ƒXƒCƒ“ƒXƒ^ƒ“ƒX‚É“ü‚ê‚ç‚ꂽƒf[ƒ^‚Ì“¯ŠúA
- »•iXVŽž‚É‚¨‚¯‚éƒVƒXƒeƒ€Ý’èî•ñ‚ÌXVA”ñACIDƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚È‚©‚ʼnÁ‚¦‚ç‚ꂽ•ÏX‚̃[ƒ‹ƒoƒbƒN‚È‚Ç‚Å‚·B
+ 次ã®ã‚ˆã†ãªã‚±ãƒ¼ã‚¹ã§ã€ã“ã®æ©Ÿèƒ½ã‚’使用ã—ã¾ã™ã€‚ ç•°ãªã‚‹ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã«å…¥ã‚Œã‚‰ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã®åŒæœŸã€
+ 製å“更新時ã«ãŠã‘るシステムè¨å®šæƒ…å ±ã®æ›´æ–°ã€éžACIDトランザクションã®ãªã‹ã§åŠ ãˆã‚‰ã‚ŒãŸå¤‰æ›´ã®ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ãªã©ã§ã™ã€‚
- ƒZƒbƒVƒ‡ƒ“‚̃tƒ‰ƒbƒVƒ…
+ セッションã®ãƒ•ãƒ©ãƒƒã‚·ãƒ¥
- JDBCƒRƒlƒNƒVƒ‡ƒ“‚Ìó‘Ԃƃƒ‚ƒŠã‚̃IƒuƒWƒFƒNƒg‚Ìó‘Ԃ𓯊ú‚³‚¹‚邽‚ß‚É•K—v‚È
- SQL•¶‚ð Session ‚ªŽÀs‚·‚邱‚Æ‚ª‚Æ‚«‚Ç‚«‚ ‚è‚Ü‚·B ‚±‚̈—
- flush ‚ÍAƒfƒtƒHƒ‹ƒg‚Å‚ÍŽŸ‚Ì‚Æ‚«‚É‹N‚±‚è‚Ü‚·B
+ JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã®çŠ¶æ…‹ã¨ãƒ¡ãƒ¢ãƒªä¸Šã®ã‚ªãƒ–ジェクトã®çŠ¶æ…‹ã‚’åŒæœŸã•ã›ã‚‹ãŸã‚ã«å¿…è¦ãª
+ SQL文を Session ãŒå®Ÿè¡Œã™ã‚‹ã“ã¨ãŒã¨ãã©ãã‚ã‚Šã¾ã™ã€‚ ã“ã®å‡¦ç†
+ flush ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯æ¬¡ã®ã¨ãã«èµ·ã“ã‚Šã¾ã™ã€‚
- ƒNƒGƒŠ‚ðŽÀs‚·‚é‘O
+ クエリを実行ã™ã‚‹å‰
- org.hibernate.Transaction.commit() ‚ðŽÀs‚µ‚½‚Æ‚«
+ org.hibernate.Transaction.commit() を実行ã—ãŸã¨ã
- Session.flush() ‚ðŽÀs‚µ‚½‚Æ‚«
+ Session.flush() を実行ã—ãŸã¨ã
- SQL•¶‚͈ȉº‚̇”Ô‚Å”s‚³‚ê‚Ü‚·B
+ SQLæ–‡ã¯ä»¥ä¸‹ã®é †ç•ªã§ç™ºè¡Œã•ã‚Œã¾ã™ã€‚
- ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚Ì‘}“üB‚±‚ê‚ÍA Session.save() ‚ðŽg‚Á‚ăZ[ƒu‚µ‚½
- ƒIƒuƒWƒFƒNƒg‚̇‚ÉŽÀs‚µ‚Ä‚¢‚«‚Ü‚·B
+ ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®æŒ¿å…¥ã€‚ã“ã‚Œã¯ã€ Session.save() を使ã£ã¦ã‚»ãƒ¼ãƒ–ã—ãŸ
+ オブジェクトã®é †ã«å®Ÿè¡Œã—ã¦ã„ãã¾ã™ã€‚
- ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚ÌXV
+ ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®æ›´æ–°
- ‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚Ìíœ
+ ã™ã¹ã¦ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®å‰Šé™¤
- ‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚Ì—v‘f‚ɑ΂·‚éíœAXVA‘}“ü
+ ã™ã¹ã¦ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®è¦ç´ ã«å¯¾ã™ã‚‹å‰Šé™¤ã€æ›´æ–°ã€æŒ¿å…¥
- ‚·‚ׂẴRƒŒƒNƒVƒ‡ƒ“‚Ì‘}“ü
+ ã™ã¹ã¦ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®æŒ¿å…¥
- ‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚ÌíœB‚±‚ê‚ÍASession.delete() ‚ðŽg‚Á‚Ä
- 휂µ‚½ƒIƒuƒWƒFƒNƒg‚̇‚ÉŽÀs‚µ‚Ä‚¢‚«‚Ü‚·B
+ ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®å‰Šé™¤ã€‚ã“ã‚Œã¯ã€Session.delete() を使ã£ã¦
+ 削除ã—ãŸã‚ªãƒ–ジェクトã®é †ã«å®Ÿè¡Œã—ã¦ã„ãã¾ã™ã€‚
- (‚P‚—áŠO‚ª‚ ‚è‚Ü‚·B native ID ¶¬‚ðŽg‚Á‚½ƒIƒuƒWƒFƒNƒg‚ÍA
- ‚»‚ê‚炪ƒZ[ƒu‚³‚ꂽ‚Æ‚«‚É‘}“ü‚³‚ê‚Ü‚·Bj
+ (1ã¤ä¾‹å¤–ãŒã‚ã‚Šã¾ã™ã€‚ native ID 生æˆã‚’使ã£ãŸã‚ªãƒ–ジェクトã¯ã€
+ ãれらãŒã‚»ãƒ¼ãƒ–ã•ã‚ŒãŸã¨ãã«æŒ¿å…¥ã•ã‚Œã¾ã™ã€‚)
- –¾Ž¦“I‚É
- flush() ‚·‚é‚Æ‚«‚𜂢‚ÄA ‚¢‚Â
- Session ‚ªJDBC‚ðƒR[ƒ‹‚·‚é‚Ì‚©‚ɂ‚¢‚Ä
- â‘ΓI‚È•ÛØ‚Í‚ ‚è‚Ü‚¹‚ñB‚½‚¾‚µA‚»‚ê‚炪ŽÀs‚³‚ê‚é ‡”Ô ‚¾‚¯‚Í •ÛØ‚³‚ê‚Ü‚·B
- ‚Ü‚½AHibernate ‚ÍA Query.list(..) ‚ªŒÃ‚¢ƒf[ƒ^‚âŠÔˆá‚Á‚½ƒf[ƒ^•Ô‚³‚È‚¢‚±‚Æ‚ð
- •ÛØ‚µ‚Ä‚¢‚Ü‚·B
+ 明示的ã«
+ flush() ã™ã‚‹ã¨ãを除ã„ã¦ã€ ã„ã¤
+ Session ãŒJDBCをコールã™ã‚‹ã®ã‹ã«ã¤ã„ã¦
+ 絶対的ãªä¿è¨¼ã¯ã‚ã‚Šã¾ã›ã‚“。ãŸã ã—ã€ãれらãŒå®Ÿè¡Œã•ã‚Œã‚‹ é †ç•ª ã ã‘㯠ä¿è¨¼ã•ã‚Œã¾ã™ã€‚
+ ã¾ãŸã€Hibernate ã¯ã€ Query.list(..) ãŒå¤ã„データや間é•ã£ãŸãƒ‡ãƒ¼ã‚¿è¿”ã•ãªã„ã“ã¨ã‚’
+ ä¿è¨¼ã—ã¦ã„ã¾ã™ã€‚
- ƒtƒ‰ƒbƒVƒ…‚ª•p”É‚É‹N‚±‚ç‚È‚¢‚悤‚ɃfƒtƒHƒ‹ƒg‚ÌU‚é•‘‚¢‚ð•Ï‚¦‚邱‚Æ‚ª‚Å‚«‚Ü‚·B FlushMode
- ƒNƒ‰ƒX‚Í3‚‚̈قȂ郂[ƒh‚ð’è‹`‚µ‚Ü‚·B ‚»‚ê‚ÍAƒRƒ~ƒbƒgŽž‚É‚¾‚¯ƒtƒ‰ƒbƒVƒ…‚·‚郂[ƒh iHibernate‚Ì
- Transaction API‚ªŽg‚í‚ê‚éꇂ¾‚¯‚Å‚·jA
- à–¾‚Ì‚ ‚Á‚½ˆ—‡‚ÉŠî‚¢‚ÄŽ©“®‚Ńtƒ‰ƒbƒVƒ…‚·‚郂[ƒhA flush()
- ‚ª–¾Ž¦“I‚ɌĂ΂ê‚È‚¢ŒÀ‚èƒtƒ‰ƒbƒVƒ…‚µ‚È‚¢ƒ‚[ƒh‚Ì‚R‚‚ł·B ÅŒã‚̃‚[ƒh‚ÍAì‹Æ’PˆÊ‚ª’·ŠúŠÔ‚É‹y‚Ôꇂɖð‚É—§‚¿‚Ü‚· ( ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢)B
+ フラッシュãŒé »ç¹ã«èµ·ã“らãªã„よã†ã«ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æŒ¯ã‚‹èˆžã„を変ãˆã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚ FlushMode
+ クラスã¯3ã¤ã®ç•°ãªã‚‹ãƒ¢ãƒ¼ãƒ‰ã‚’定義ã—ã¾ã™ã€‚ ãã‚Œã¯ã€ã‚³ãƒŸãƒƒãƒˆæ™‚ã«ã ã‘フラッシュã™ã‚‹ãƒ¢ãƒ¼ãƒ‰ (Hibernateã®
+ Transaction APIãŒä½¿ã‚ã‚Œã‚‹å ´åˆã ã‘ã§ã™ï¼‰ã€
+ 説明ã®ã‚ã£ãŸå‡¦ç†é †ã«åŸºã¥ã„ã¦è‡ªå‹•ã§ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹ãƒ¢ãƒ¼ãƒ‰ã€ flush()
+ ãŒæ˜Žç¤ºçš„ã«å‘¼ã°ã‚Œãªã„é™ã‚Šãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã—ãªã„モードã®ï¼“ã¤ã§ã™ã€‚ 最後ã®ãƒ¢ãƒ¼ãƒ‰ã¯ã€ä½œæ¥å˜ä½ãŒé•·æœŸé–“ã«åŠã¶å ´åˆã«å½¹ã«ç«‹ã¡ã¾ã™ ( ã‚’å‚ç…§ã—ã¦ãã ã•ã„)。
@@ -941,162 +943,162 @@ sess.find("from Cat as cat left outer join cat.kittens kitten");
tx.commit(); // flush occurs
sess.close();]]>
- ƒtƒ‰ƒbƒVƒ…‚Ì‚Æ‚«A—áŠO‚ª”¶‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- i—Ⴆ‚ÎADML‘€ì‚ª§–ñ‚ðˆá”½‚·‚é‚悤‚Èꇂł·Bj
- —áŠOˆ—‚ð—‰ð‚·‚邽‚ß‚É‚ÍAHibernate‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌU‚é•‘‚¢‚ð—‰ð‚·‚é•K—v‚ª‚ ‚邽‚ßA ‚Åà–¾‚µ‚Ü‚·B
+ フラッシュã®ã¨ãã€ä¾‹å¤–ãŒç™ºç”Ÿã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ (例ãˆã°ã€DMLæ“作ãŒåˆ¶ç´„ã‚’é•åã™ã‚‹ã‚ˆã†ãªå ´åˆã§ã™ã€‚)
+ 例外処ç†ã‚’ç†è§£ã™ã‚‹ãŸã‚ã«ã¯ã€Hibernateã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®æŒ¯ã‚‹èˆžã„ã‚’ç†è§£ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŸã‚〠ã§èª¬æ˜Žã—ã¾ã™ã€‚
- ˜A½“I‚ȉi‘±‰»
+ 連鎖的ãªæ°¸ç¶šåŒ–
- ŒÂX‚̃IƒuƒWƒFƒNƒg‚ðƒZ[ƒu‚µ‚½‚èA휂µ‚½‚èAĒljÁ‚µ‚½‚è‚·‚邱‚Æ‚Í
- ‚©‚È‚è–Ê“|‚Å‚·B“Á‚ÉAŠÖ˜A‚·‚éƒIƒuƒWƒFƒNƒg‚ðˆµ‚¤‚悤‚ÈꇂɂÍÛ—§‚¿‚Ü‚·B ‚æ‚‚ ‚é‚Ì‚ÍAeŽqŠÖŒW‚ðˆµ‚¤ƒP[ƒX‚Å‚·B
- ˆÈ‰º‚Ì—á‚ðl‚¦‚Ä‚Ý‚Ü‚µ‚傤B
+ 個々ã®ã‚ªãƒ–ジェクトをセーブã—ãŸã‚Šã€å‰Šé™¤ã—ãŸã‚Šã€å†è¿½åŠ ã—ãŸã‚Šã™ã‚‹ã“ã¨ã¯
+ ã‹ãªã‚Šé¢å€’ã§ã™ã€‚特ã«ã€é–¢é€£ã™ã‚‹ã‚ªãƒ–ジェクトを扱ã†ã‚ˆã†ãªå ´åˆã«ã¯éš›ç«‹ã¡ã¾ã™ã€‚ よãã‚ã‚‹ã®ã¯ã€è¦ªå関係を扱ã†ã‚±ãƒ¼ã‚¹ã§ã™ã€‚
+ 以下ã®ä¾‹ã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚
- ‚à‚µAeŽqŠÖŒW‚ÌŽq‚ª’lŒ^‚È‚çi—Ⴆ‚ÎAZŠ‚╶Žš—ñ‚̃RƒŒƒNƒVƒ‡ƒ“jA
- ‚»‚ê‚ç‚̃‰ƒCƒtƒTƒCƒNƒ‹‚Íe‚Ɉˑ¶‚µ‚Ä‚¨‚èA•Ö—˜‚Èó‘ԕω»‚Ì"ƒJƒXƒP[ƒh"‚ðŽg‚¤‚½‚ß‚ÉA ’ljÁ‚Ìì‹Æ‚Í•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- e‚ªƒZ[ƒu‚³‚ꂽ‚Æ‚«A’lŒ^‚ÌŽqƒIƒuƒWƒFƒNƒg‚à“¯‚¶‚悤‚ɃZ[ƒu‚³‚ê‚Ü‚·‚µA e‚ªíœ‚³‚ꂽ‚Æ‚«‚ÍAŽq‚à휂³‚ê‚Ü‚·B‚»‚Ì‘¼‚Ì‘€ì‚à“¯‚¶‚Å‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“‚©‚ç1‚‚̎q‚ð휂·‚é‚悤‚È‘€ì‚Å‚à‚¤‚Ü‚‚¢‚«‚Ü‚·B ‚·‚È‚í‚¿AHibernate‚Í‚±‚Ì휑€ì‚ðŒŸo‚·‚é‚ÆA
- ’lŒ^‚̃IƒuƒWƒFƒNƒg‚ÍŽQÆ‚ð‹¤—L‚Å‚«‚È‚¢‚Ì‚ÅAƒf[ƒ^ƒx[ƒX‚©‚ç‚»‚ÌŽq‹Ÿ‚ð휂µ‚Ü‚·B
+ ã‚‚ã—ã€è¦ªå関係ã®åãŒå€¤åž‹ãªã‚‰ï¼ˆä¾‹ãˆã°ã€ä½æ‰€ã‚„æ–‡å—列ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ï¼‰ã€
+ ãれらã®ãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«ã¯è¦ªã«ä¾å˜ã—ã¦ãŠã‚Šã€ä¾¿åˆ©ãªçŠ¶æ…‹å¤‰åŒ–ã®"カスケード"を使ã†ãŸã‚ã«ã€ è¿½åŠ ã®ä½œæ¥ã¯å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 親ãŒã‚»ãƒ¼ãƒ–ã•ã‚ŒãŸã¨ãã€å€¤åž‹ã®åオブジェクトもåŒã˜ã‚ˆã†ã«ã‚»ãƒ¼ãƒ–ã•ã‚Œã¾ã™ã—〠親ãŒå‰Šé™¤ã•ã‚ŒãŸã¨ãã¯ã€åも削除ã•ã‚Œã¾ã™ã€‚ãã®ä»–ã®æ“作もåŒã˜ã§ã™ã€‚
+ コレクションã‹ã‚‰1ã¤ã®åを削除ã™ã‚‹ã‚ˆã†ãªæ“作ã§ã‚‚ã†ã¾ãã„ãã¾ã™ã€‚ ã™ãªã‚ã¡ã€Hibernateã¯ã“ã®å‰Šé™¤æ“作を検出ã™ã‚‹ã¨ã€
+ 値型ã®ã‚ªãƒ–ジェクトã¯å‚照を共有ã§ããªã„ã®ã§ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰ãã®å供を削除ã—ã¾ã™ã€‚
- ‚±‚±‚ÅAe‚ÆŽq‚ª’lŒ^‚Å‚È‚ƒGƒ“ƒeƒBƒeƒB‚Å‚ ‚é‚Æ‚µ‚Ä“¯‚¶ƒVƒiƒŠƒI‚ðl‚¦‚Ä‚Ý‚Ü‚µ‚傤B
- i—Ⴆ‚ÎAƒJƒeƒSƒŠ[‚Æ•i–Ú‚ÌŠÖŒW‚âe‚ÆŽq‚Ì”L‚ÌŠÖŒW‚Å‚·Bj ƒGƒ“ƒeƒBƒeƒB‚ÍA‚»‚ꎩg‚ªƒ‰ƒCƒtƒTƒCƒNƒ‹‚ðŽ‚¿AŽQÆ‚Ì‹¤—L‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
- i‚»‚Ì‚½‚ßAƒRƒŒƒNƒVƒ‡ƒ“‚©‚çƒGƒ“ƒeƒBƒeƒB‚ð휂·‚邱‚Æ‚ÍA ƒGƒ“ƒeƒBƒeƒBŽ©g‚Ì휂ðˆÓ–¡‚µ‚Ü‚¹‚ñBj
- ‚Ü‚½AƒGƒ“ƒeƒBƒeƒB‚ÍAƒfƒtƒHƒ‹ƒg‚Å‚ÍAŠÖ˜A‚·‚鑼‚̃Gƒ“ƒeƒBƒeƒB‚Ö ó‘Ô‚ðƒJƒXƒP[ƒh‚·‚邱‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB Hibernate‚Í
- “ž’B‰Â”\«‚É‚æ‚é‰i‘±‰» ‚ðƒfƒtƒHƒ‹ƒg‚Å‚ÍŽÀs‚µ‚Ü‚¹‚ñB
+ ã“ã“ã§ã€è¦ªã¨åãŒå€¤åž‹ã§ãªãエンティティã§ã‚ã‚‹ã¨ã—ã¦åŒã˜ã‚·ãƒŠãƒªã‚ªã‚’考ãˆã¦ã¿ã¾ã—ょã†ã€‚
+ (例ãˆã°ã€ã‚«ãƒ†ã‚´ãƒªãƒ¼ã¨å“ç›®ã®é–¢ä¿‚や親ã¨åã®çŒ«ã®é–¢ä¿‚ã§ã™ã€‚) エンティティã¯ã€ãれ自身ãŒãƒ©ã‚¤ãƒ•ã‚µã‚¤ã‚¯ãƒ«ã‚’æŒã¡ã€å‚ç…§ã®å…±æœ‰ã‚’サãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
+ (ãã®ãŸã‚ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‹ã‚‰ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚’削除ã™ã‚‹ã“ã¨ã¯ã€ エンティティ自身ã®å‰Šé™¤ã‚’æ„味ã—ã¾ã›ã‚“。)
+ ã¾ãŸã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã§ã¯ã€é–¢é€£ã™ã‚‹ä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ 状態をカスケードã™ã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。 Hibernateã¯
+ 到é”å¯èƒ½æ€§ã«ã‚ˆã‚‹æ°¸ç¶šåŒ– をデフォルトã§ã¯å®Ÿè¡Œã—ã¾ã›ã‚“。
- Hibernate‚ÌSession‚ÌŠî–{‘€ìi persist(), merge(), saveOrUpdate(),
- delete(), lock(), refresh(), evict(), replicate() ‚ªŠÜ‚Ü‚ê‚Ü‚·j‚ɑ΂µ‚ÄA
- ‚»‚ꂼ‚ê‚ɑΉž‚·‚éƒJƒXƒP[ƒhƒXƒ^ƒCƒ‹‚ª‚ ‚è‚Ü‚·B ‚»‚ꂼ‚ê‚̃JƒXƒP[ƒhƒXƒ^ƒCƒ‹‚É‚ÍA create, merge,
+ Hibernateã®Sessionã®åŸºæœ¬æ“作( persist(), merge(), saveOrUpdate(),
+ delete(), lock(), refresh(), evict(), replicate() ãŒå«ã¾ã‚Œã¾ã™ï¼‰ã«å¯¾ã—ã¦ã€
+ ãã‚Œãžã‚Œã«å¯¾å¿œã™ã‚‹ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã‚¹ã‚¿ã‚¤ãƒ«ãŒã‚ã‚Šã¾ã™ã€‚ ãã‚Œãžã‚Œã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã‚¹ã‚¿ã‚¤ãƒ«ã«ã¯ã€ create, merge,
save-update, delete, lock, refresh, evict, replicate
- ‚Æ‚¢‚¤–¼‘O‚ª‚‚¢‚Ä‚¢‚Ü‚·B ‚à‚µAŠÖ˜A‚ɉˆ‚Á‚ăJƒXƒP[ƒh‚³‚¹‚½‚¢‘€ì‚ª‚ ‚é‚È‚çAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚É‚»‚¤Žw’肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- —Ⴆ‚ÎAˆÈ‰º‚̂悤‚É‚µ‚Ü‚·B
+ ã¨ã„ã†åå‰ãŒã¤ã„ã¦ã„ã¾ã™ã€‚ ã‚‚ã—ã€é–¢é€£ã«æ²¿ã£ã¦ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã•ã›ãŸã„æ“作ãŒã‚ã‚‹ãªã‚‰ã€ãƒžãƒƒãƒ”ングファイルã«ãã†æŒ‡å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ 例ãˆã°ã€ä»¥ä¸‹ã®ã‚ˆã†ã«ã—ã¾ã™ã€‚
]]>
- ƒJƒXƒP[ƒhƒXƒ^ƒCƒ‹‚ÍA‘g‚݇‚킹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ カスケードスタイルã¯ã€çµ„ã¿åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
]]>
- ‚·‚ׂĂÌ
- ‘€ì‚ðŠÖ˜A‚ɉˆ‚Á‚ăJƒXƒP[ƒh‚·‚é‚悤Žw’è‚·‚é‚Æ‚«‚ÍA cascade="all" ‚ðŽg‚¢‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Ì cascade="none" ‚ÍA‚Ç‚Ì‘€ì‚àƒJƒXƒP[ƒh‚µ‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+ ã™ã¹ã¦ã®
+ æ“作を関連ã«æ²¿ã£ã¦ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã™ã‚‹ã‚ˆã†æŒ‡å®šã™ã‚‹ã¨ãã¯ã€ cascade="all" を使ã„ã¾ã™ã€‚
+ デフォルト㮠cascade="none" ã¯ã€ã©ã®æ“作もカスケードã—ãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
- “ÁŽê‚ȃJƒXƒP[ƒhƒXƒ^ƒCƒ‹
- delete-orphan ‚ÍAˆê‘Α½ŠÖ˜A‚É‚¾‚¯ “K—p‚Å‚«‚Ü‚·B
- ‚±‚ê‚ÍAŠÖ˜A‚©‚ç휂³‚ꂽŽq‹Ÿ‚̃IƒuƒWƒFƒNƒg‚ɑ΂µ‚ÄA delete()
- ‘€ì‚ª“K—p‚³‚ê‚邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+ 特殊ãªã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã‚¹ã‚¿ã‚¤ãƒ«
+ delete-orphan ã¯ã€ä¸€å¯¾å¤šé–¢é€£ã«ã ã‘ é©ç”¨ã§ãã¾ã™ã€‚
+ ã“ã‚Œã¯ã€é–¢é€£ã‹ã‚‰å‰Šé™¤ã•ã‚ŒãŸåä¾›ã®ã‚ªãƒ–ジェクトã«å¯¾ã—ã¦ã€ delete()
+ æ“作ãŒé©ç”¨ã•ã‚Œã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
- ‚¨‚·‚·‚ßF
+ ãŠã™ã™ã‚:
- •’ÊA <many-to-one> ‚â
- <many-to-many> ŠÖ˜A‚ɑ΂µ‚Ä‚ÍA
- ƒJƒXƒP[ƒh‚ðÝ’è‚·‚éˆÓ–¡‚Í‚ ‚è‚Ü‚¹‚ñB <one-to-one> ‚Æ
- <one-to-many> ŠÖ˜A‚ɑ΂µ‚Ä‚ÍA
- ƒJƒXƒP[ƒh‚ª–ð‚É—§‚‚±‚Æ‚ª‚ ‚è‚Ü‚·B
+ 普通〠<many-to-one> や
+ <many-to-many> 関連ã«å¯¾ã—ã¦ã¯ã€
+ カスケードをè¨å®šã™ã‚‹æ„味ã¯ã‚ã‚Šã¾ã›ã‚“。 <one-to-one> ã¨
+ <one-to-many> 関連ã«å¯¾ã—ã¦ã¯ã€
+ カスケードãŒå½¹ã«ç«‹ã¤ã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
- Žq‹ŸƒIƒuƒWƒFƒNƒg‚ÌŽõ–½‚ªeƒIƒuƒWƒFƒNƒg‚ÌŽõ–½‚ɧŒÀ‚ðŽó‚¯‚é‚È‚ç‚ÎA
- cascade="all,delete-orphan" ‚ðŽw’肵A Žq‹ŸƒIƒuƒWƒFƒNƒg‚ð
- ƒ‰ƒCƒtƒTƒCƒNƒ‹ƒIƒuƒWƒFƒNƒg ‚É‚µ‚Ü‚·B
+ å供オブジェクトã®å¯¿å‘½ãŒè¦ªã‚ªãƒ–ジェクトã®å¯¿å‘½ã«åˆ¶é™ã‚’å—ã‘ã‚‹ãªã‚‰ã°ã€
+ cascade="all,delete-orphan" を指定ã—〠å供オブジェクトを
+ ライフサイクルオブジェクト ã«ã—ã¾ã™ã€‚
.
- ‚»‚êˆÈŠO‚ÌꇂÍAƒJƒXƒP[ƒh‚Í‚Ù‚Æ‚ñ‚Ç•K—v‚È‚¢‚Å‚µ‚傤B
- ‚µ‚©‚µA“¯‚¶ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚È‚©‚Åe‚ÆŽq‚ªˆê‚É“®ì‚·‚邱‚Æ‚ª‘½‚¢‚ÆŽv‚¢A
- ‚¢‚‚ç‚©‚̃R[ƒh‚ð‘‚ŽèŠÔ‚ðÈ‚«‚½‚¢‚Ì‚Å‚ ‚ê‚ÎA
+ ãれ以外ã®å ´åˆã¯ã€ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã¯ã»ã¨ã‚“ã©å¿…è¦ãªã„ã§ã—ょã†ã€‚
+ ã—ã‹ã—ã€åŒã˜ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ãªã‹ã§è¦ªã¨åãŒä¸€ç·’ã«å‹•ä½œã™ã‚‹ã“ã¨ãŒå¤šã„ã¨æ€ã„ã€
+ ã„ãらã‹ã®ã‚³ãƒ¼ãƒ‰ã‚’書ã手間をçœããŸã„ã®ã§ã‚ã‚Œã°ã€
cascade="persist,merge,save-update"
- ‚ðŽg‚¤‚±‚Æ‚ðl‚¦‚Ü‚µ‚傤B
+ を使ã†ã“ã¨ã‚’考ãˆã¾ã—ょã†ã€‚
- cascade="all" ‚Ń}ƒbƒsƒ“ƒO‚µ‚½ŠÖ˜Ai’P’lŠÖ˜A‚âƒRƒŒƒNƒVƒ‡ƒ“j‚ÍA
- eŽq ƒXƒ^ƒCƒ‹‚ÌŠÖ˜A‚ƃ}[ƒN‚³‚ê‚Ü‚·B
- ‚»‚ê‚ÍAe‚̃Z[ƒu/XV/휂ªAŽq‚̃Z[ƒu/XV/휂ðˆø‚«‹N‚±‚·ŠÖŒW‚Ì‚±‚Æ‚Å‚·B
+ cascade="all" ã§ãƒžãƒƒãƒ”ングã—ãŸé–¢é€£ï¼ˆå˜å€¤é–¢é€£ã‚„コレクション)ã¯ã€
+ 親å スタイルã®é–¢é€£ã¨ãƒžãƒ¼ã‚¯ã•ã‚Œã¾ã™ã€‚
+ ãã‚Œã¯ã€è¦ªã®ã‚»ãƒ¼ãƒ–/æ›´æ–°/削除ãŒã€åã®ã‚»ãƒ¼ãƒ–/æ›´æ–°/削除を引ãèµ·ã“ã™é–¢ä¿‚ã®ã“ã¨ã§ã™ã€‚
- ‚³‚ç‚ÉA‰i‘±‰»‚³‚ꂽe‚ªŽq‚ð’P‚ÉŽQÆ‚µ‚Ä‚¢‚邾‚¯‚ÅAŽq‚̃Z[ƒu/XV‚ðˆø‚«‹N‚±‚µ‚Ü‚·B
- ‚µ‚©‚µA‚±‚̃ƒ^ƒtƒ@[‚Í•sŠ®‘S‚Å‚·Be‚©‚çŽQÆ‚³‚ê‚È‚‚È‚Á‚½Žq‚ÍAŽ©“®“I‚Éíœ ‚³‚ê‚Ü‚¹‚ñ B
- ‚½‚¾‚µA cascade="delete-orphan" ‚Ń}ƒbƒsƒ“ƒO‚³‚ꂽ
- <one-to-many> ŠÖ˜A‚𠜂¢‚Ä‚Å‚·B
- eŽqŠÖŒW‚̃JƒXƒP[ƒh‘€ì‚̳Šm‚ȈӖ¡‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·B
+ ã•ã‚‰ã«ã€æ°¸ç¶šåŒ–ã•ã‚ŒãŸè¦ªãŒåã‚’å˜ã«å‚ç…§ã—ã¦ã„ã‚‹ã ã‘ã§ã€åã®ã‚»ãƒ¼ãƒ–/更新を引ãèµ·ã“ã—ã¾ã™ã€‚
+ ã—ã‹ã—ã€ã“ã®ãƒ¡ã‚¿ãƒ•ã‚¡ãƒ¼ã¯ä¸å®Œå…¨ã§ã™ã€‚親ã‹ã‚‰å‚ç…§ã•ã‚Œãªããªã£ãŸåã¯ã€è‡ªå‹•çš„ã«å‰Šé™¤ ã•ã‚Œã¾ã›ã‚“ 。
+ ãŸã ã—〠cascade="delete-orphan" ã§ãƒžãƒƒãƒ”ングã•ã‚ŒãŸ
+ <one-to-many> 関連を 除ã„ã¦ã§ã™ã€‚
+ 親å関係ã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰æ“作ã®æ£ç¢ºãªæ„味ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
- e‚ª
- persist() ‚É“n‚³‚ꂽ‚È‚ç‚ÎA ‚·‚ׂĂ̎q‚Í
- persist() ‚É“n‚³‚ê‚Ü‚·B
+ 親ãŒ
+ persist() ã«æ¸¡ã•ã‚ŒãŸãªã‚‰ã°ã€ ã™ã¹ã¦ã®åã¯
+ persist() ã«æ¸¡ã•ã‚Œã¾ã™ã€‚
- merge() ‚É“n‚³‚ꂽ‚È‚ç‚ÎA ‚·‚ׂĂ̎q‚Í
- merge() ‚É“n‚³‚ê‚Ü‚·B
+ merge() ã«æ¸¡ã•ã‚ŒãŸãªã‚‰ã°ã€ ã™ã¹ã¦ã®åã¯
+ merge() ã«æ¸¡ã•ã‚Œã¾ã™ã€‚
- e‚ª save()
- A update()
- A saveOrUpdate() ‚É“n‚³‚ꂽ‚È‚ç‚ÎA‚·‚ׂĂ̎q‚Í
- saveOrUpdate() ‚É“n‚³‚ê‚Ü‚·B
+ 親㌠save()
+ 〠update()
+ 〠saveOrUpdate() ã«æ¸¡ã•ã‚ŒãŸãªã‚‰ã°ã€ã™ã¹ã¦ã®åã¯
+ saveOrUpdate() ã«æ¸¡ã•ã‚Œã¾ã™ã€‚
- ˆêŽž“I‚Ü‚½‚Í•ª—£ó‘Ô‚ÌŽq‚ªA‰i‘±‰»‚³‚ꂽe‚ÉŽQÆ‚³‚ꂽ‚È‚ç‚ÎA
- saveOrUpdate() ‚É“n‚³‚ê‚Ü‚·B
+ 一時的ã¾ãŸã¯åˆ†é›¢çŠ¶æ…‹ã®åãŒã€æ°¸ç¶šåŒ–ã•ã‚ŒãŸè¦ªã«å‚ç…§ã•ã‚ŒãŸãªã‚‰ã°ã€
+ saveOrUpdate() ã«æ¸¡ã•ã‚Œã¾ã™ã€‚
- e‚ªíœ‚³‚ꂽ‚È‚ç‚ÎA‚·‚ׂĂ̎q‚ÍA delete() ‚É“n‚³‚ê‚Ü‚·B
+ 親ãŒå‰Šé™¤ã•ã‚ŒãŸãªã‚‰ã°ã€ã™ã¹ã¦ã®åã¯ã€ delete() ã«æ¸¡ã•ã‚Œã¾ã™ã€‚
- Žq‚ª‰i‘±‰»‚³‚ꂽe‚©‚çŽQÆ‚³‚ê‚È‚‚È‚Á‚½‚Æ‚«‚ÍA “Á‚ɉ½‚à‹N‚±‚è‚Ü‚¹‚ñ B
- ‚æ‚Á‚ÄAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•K—v‚Å‚ ‚ê‚ÎA–¾Ž¦“I‚É휂·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ‚½‚¾‚µA cascade="delete-orphan" ‚Ìꇂ𜂫‚Ü‚·B
- ‚±‚Ìê‡Aue‚Ì‚È‚¢vŽq‚Í휂³‚ê‚Ü‚·B
+ åãŒæ°¸ç¶šåŒ–ã•ã‚ŒãŸè¦ªã‹ã‚‰å‚ç…§ã•ã‚Œãªããªã£ãŸã¨ãã¯ã€ 特ã«ä½•ã‚‚èµ·ã“ã‚Šã¾ã›ã‚“ 。
+ よã£ã¦ã€ã‚¢ãƒ—リケーションãŒå¿…è¦ã§ã‚ã‚Œã°ã€æ˜Žç¤ºçš„ã«å‰Šé™¤ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ ãŸã ã—〠cascade="delete-orphan" ã®å ´åˆã‚’除ãã¾ã™ã€‚
+ ã“ã®å ´åˆã€ã€Œè¦ªã®ãªã„ã€åã¯å‰Šé™¤ã•ã‚Œã¾ã™ã€‚
- ÅŒã‚ÉA‘€ì‚̃JƒXƒP[ƒh‚ªƒIƒuƒWƒFƒNƒgƒOƒ‰ƒt‚É“K—p‚³‚ê‚é‚Ì‚ÍA ƒR[ƒ‹‚µ‚½Žž
- ‚ ‚é‚¢‚ÍA flush‚µ‚½Žž ‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚·‚ׂĂ̑€ì‚ÍA‚»‚Ì‘€ì‚ªŽÀs‚³‚ꂽ‚Æ‚«‚ÉA“ž’B‰Â”\‚ÈŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚ɑ΂µ‚Ä
- ƒJƒXƒP[ƒh‚ª‰Â”\‚È‚çƒJƒXƒP[ƒh‚µ‚Ü‚·B
- ‚µ‚©‚µA save-upate ‚Æ
- delete-orphan ‚ÍA Session
- ‚ªflush‚µ‚Ä‚¢‚éŠÔ‚ÉA ‚·‚ׂĂ̓ž’B‰Â”\‚ÈŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚É“`”d‚µ‚Ü‚·B
+ 最後ã«ã€æ“作ã®ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ãŒã‚ªãƒ–ジェクトグラフã«é©ç”¨ã•ã‚Œã‚‹ã®ã¯ã€ コールã—ãŸæ™‚
+ ã‚ã‚‹ã„ã¯ã€ flushã—ãŸæ™‚ ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã™ã¹ã¦ã®æ“作ã¯ã€ãã®æ“作ãŒå®Ÿè¡Œã•ã‚ŒãŸã¨ãã«ã€åˆ°é”å¯èƒ½ãªé–¢é€£ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«å¯¾ã—ã¦
+ カスケードãŒå¯èƒ½ãªã‚‰ã‚«ã‚¹ã‚±ãƒ¼ãƒ‰ã—ã¾ã™ã€‚
+ ã—ã‹ã—〠save-upate ã¨
+ delete-orphan ã¯ã€ Session
+ ãŒflushã—ã¦ã„ã‚‹é–“ã«ã€ ã™ã¹ã¦ã®åˆ°é”å¯èƒ½ãªé–¢é€£ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã«ä¼æ’ã—ã¾ã™ã€‚
- ƒƒ^ƒf[ƒ^‚ÌŽg—p
+ メタデータã®ä½¿ç”¨
- Hibernate‚ÍA‚·‚ׂẴGƒ“ƒeƒBƒeƒB‚Æ’lŒ^‚Ì”ñí‚ɃŠƒbƒ`‚ȃƒ^ƒŒƒxƒ‹‚̃‚ƒfƒ‹‚ð•K—v‚Æ‚µ‚Ü‚·B
- ‚Æ‚«‚Ç‚«A‚±‚̃‚ƒfƒ‹‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Æ‚Á‚Ä‚Æ‚Ä‚à–ð‚É—§‚¿‚Ü‚·B
- —Ⴆ‚ÎAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍAHibernate‚̃ƒ^ƒf[ƒ^‚ðŽg‚Á‚ÄA"Œ«‚¢" ƒfƒB[ƒvƒRƒs[ƒAƒ‹ƒSƒŠƒYƒ€‚ð
- ŽÀ‘•‚Å‚«‚é‚©‚à‚µ‚Ü‚¹‚ñB‚»‚̃Aƒ‹ƒSƒŠƒYƒ€‚Æ‚ÍA‚ǂ̃IƒuƒWƒFƒNƒg‚ªƒRƒs[‚³‚ê‚é‚ׂ«‚©i—áF‰Â•Ï‚Ì’lŒ^j‚â
- ‚ǂ̃IƒuƒWƒFƒNƒg‚̓Rƒs[‚³‚ê‚È‚¢‚ׂ«‚©i—áF•s•Ï‚È’lŒ^‚â‰Â”\‚È‚çŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒBj‚ð ”»’f‚Å‚«‚é‚à‚Ì‚Å‚·B
+ Hibernateã¯ã€ã™ã¹ã¦ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¨å€¤åž‹ã®éžå¸¸ã«ãƒªãƒƒãƒãªãƒ¡ã‚¿ãƒ¬ãƒ™ãƒ«ã®ãƒ¢ãƒ‡ãƒ«ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚
+ ã¨ãã©ãã€ã“ã®ãƒ¢ãƒ‡ãƒ«ã¯ã‚¢ãƒ—リケーションã«ã¨ã£ã¦ã¨ã¦ã‚‚å½¹ã«ç«‹ã¡ã¾ã™ã€‚
+ 例ãˆã°ã€ã‚¢ãƒ—リケーションã¯ã€Hibernateã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚’使ã£ã¦ã€"è³¢ã„" ディープコピーアルゴリズムを
+ 実装ã§ãã‚‹ã‹ã‚‚ã—ã¾ã›ã‚“。ãã®ã‚¢ãƒ«ã‚´ãƒªã‚ºãƒ ã¨ã¯ã€ã©ã®ã‚ªãƒ–ジェクトãŒã‚³ãƒ”ーã•ã‚Œã‚‹ã¹ãã‹ï¼ˆä¾‹ï¼šå¯å¤‰ã®å€¤åž‹ï¼‰ã‚„
+ ã©ã®ã‚ªãƒ–ジェクトã¯ã‚³ãƒ”ーã•ã‚Œãªã„ã¹ãã‹ï¼ˆä¾‹ï¼šä¸å¤‰ãªå€¤åž‹ã‚„å¯èƒ½ãªã‚‰é–¢é€£ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ï¼‰ã‚’ 判æ–ã§ãã‚‹ã‚‚ã®ã§ã™ã€‚
- Hibernate‚ÍClassMetadata
- ‚ÆCollectionMetadata ƒCƒ“ƒ^ƒtƒF[ƒX‚Æ
- Type ŠK‘w‚ð’Ê‚µ‚ăƒ^ƒf[ƒ^‚ðŒöŠJ‚µ‚Ü‚·B
- ƒƒ^ƒf[ƒ^ƒCƒ“ƒ^[ƒtƒFƒCƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍA SessionFactory ‚©‚瓾‚ç‚ê‚Ü‚·B
+ Hibernateã¯ClassMetadata
+ ã¨CollectionMetadata インタフェースã¨
+ Type 階層を通ã—ã¦ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿ã‚’公開ã—ã¾ã™ã€‚
+ メタデータインターフェイスã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ SessionFactory ã‹ã‚‰å¾—られã¾ã™ã€‚
@@ -1117,4 +1119,4 @@ for ( int i=0; i
-
\ No newline at end of file
+
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml b/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml
index 8aa3e5a136..7780f67e23 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/toolset_guide.xml
@@ -1,39 +1,41 @@
-
+
+
+
Toolset Guide
- ƒc[ƒ‹ƒZƒbƒgƒKƒCƒh
+ ツールセットガイド
- Hibernate‚ðŽg‚Á‚½ƒ‰ƒEƒ“ƒhƒgƒŠƒbƒvƒGƒ“ƒWƒjƒAƒŠƒ“ƒO‚ÍA
- Eclipseƒvƒ‰ƒOƒCƒ“‚âƒRƒ}ƒ“ƒhƒ‰ƒCƒ“ƒc[ƒ‹A‚à‚¿‚ë‚ñAntƒ^ƒXƒN‚ðŽg‚¤‚±‚Ƃʼn”\‚Å‚·B
+ Hibernateを使ã£ãŸãƒ©ã‚¦ãƒ³ãƒ‰ãƒˆãƒªãƒƒãƒ—エンジニアリングã¯ã€
+ Eclipseプラグインやコマンドラインツールã€ã‚‚ã¡ã‚ã‚“Antタスクを使ã†ã“ã¨ã§å¯èƒ½ã§ã™ã€‚
- Hibernate Tools ‚ÍŒ»ÝAŠù‘¶ƒf[ƒ^ƒx[ƒX‚̃Šƒo[ƒXƒGƒ“ƒWƒjƒAƒŠƒ“ƒO‚ÌAntƒ^ƒXƒN‚ɉÁ‚¦‚ÄAEclipseIDE‚̃vƒ‰ƒOƒCƒ“‚ðŠÜ‚Ý‚Ü‚·B
+ Hibernate Tools ã¯ç¾åœ¨ã€æ—¢å˜ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒªãƒãƒ¼ã‚¹ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ãƒªãƒ³ã‚°ã®Antタスクã«åŠ ãˆã¦ã€EclipseIDEã®ãƒ—ラグインをå«ã¿ã¾ã™ã€‚
- ƒ}ƒbƒsƒ“ƒOƒGƒfƒBƒ^:
- Hibernate‚ÌXMLƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹—p‚̃GƒfƒBƒ^‚ÅA
- Ž©“®•âŠ®‚Æ\•¶‹’²•\Ž¦‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·BƒNƒ‰ƒX–¼‚âƒvƒƒpƒeƒB/ƒtƒB[ƒ‹ƒh–¼‚ɑ΂·‚鎩“®•âŠ®‚àƒTƒ|[ƒg‚µA
- ’Êí‚ÌXMLƒGƒfƒBƒ^‚æ‚è‚à‹—Í‚Å‚·B
+ マッピングエディタ:
+ Hibernateã®XMLマッピングファイル用ã®ã‚¨ãƒ‡ã‚£ã‚¿ã§ã€
+ 自動補完ã¨æ§‹æ–‡å¼·èª¿è¡¨ç¤ºã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚クラスåやプãƒãƒ‘ティ/フィールドåã«å¯¾ã™ã‚‹è‡ªå‹•è£œå®Œã‚‚サãƒãƒ¼ãƒˆã—ã€
+ 通常ã®XMLエディタよりも強力ã§ã™ã€‚
Console:
- ƒRƒ“ƒ\[ƒ‹‚̓GƒNƒŠƒvƒX‚ÌV‚µ‚¢ƒrƒ…[‚Å‚·B
- ƒRƒ“ƒ\[ƒ‹ƒRƒ“ƒtƒBƒMƒ…ƒŒ[ƒVƒ‡ƒ“‚̃cƒŠ[ƒI[ƒo[ƒrƒ…[‚ɉÁ‚¦‚ÄA‰i‘±ƒNƒ‰ƒX‚Æ‚»‚ÌŠÖ˜A‚Ì‘ŠŒÝì—pƒrƒ…[‚à“¾‚ç‚ê‚Ü‚·B
- ƒf[ƒ^ƒx[ƒX‚ÉHQL‚ðŽÀs‚µAŒ‹‰Ê‚ð’¼ÚƒGƒNƒŠƒvƒXã‚ÅŒ©‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ コンソールã¯ã‚¨ã‚¯ãƒªãƒ—スã®æ–°ã—ã„ビューã§ã™ã€‚
+ コンソールコンフィギュレーションã®ãƒ„リーオーãƒãƒ¼ãƒ“ューã«åŠ ãˆã¦ã€æ°¸ç¶šã‚¯ãƒ©ã‚¹ã¨ãã®é–¢é€£ã®ç›¸äº’作用ビューも得られã¾ã™ã€‚
+ データベースã«HQLを実行ã—ã€çµæžœã‚’直接エクリプス上ã§è¦‹ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ŠJ”ƒEƒBƒU[ƒh
- Hibernate‚ÌEclipseƒc[ƒ‹‚Í‚¢‚‚‚©‚̃EƒBƒU[ƒh‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- ƒEƒBƒU[ƒh‚ðŽg‚Á‚ÄHibernate‚ÌÝ’èƒtƒ@ƒCƒ‹(cfg.xml)‚ð‚·‚Î‚â‚¶¬‚µ‚½‚èA
- Šù‘¶‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ðPOJO‚̃\[ƒXƒtƒ@ƒCƒ‹‚ÆHibernate‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ö‚ÆA
- Š®‘S‚ɃŠƒo[ƒXƒGƒ“ƒWƒjƒAƒŠƒ“ƒO‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ƒŠƒo[ƒXƒGƒ“ƒWƒjƒAƒŠƒ“ƒOƒEƒBƒU[ƒh‚̓JƒXƒ^ƒ}ƒCƒY‰Â”\‚ȃeƒ“ƒvƒŒ[ƒg‚ðƒTƒ|[ƒg‚µ‚Ü‚·B
+ 開発ウィザード
+ Hibernateã®Eclipseツールã¯ã„ãã¤ã‹ã®ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ã‚’æä¾›ã—ã¾ã™ã€‚
+ ウィザードを使ã£ã¦Hibernateã®è¨å®šãƒ•ã‚¡ã‚¤ãƒ«(cfg.xml)ã‚’ã™ã°ã‚„ã生æˆã—ãŸã‚Šã€
+ æ—¢å˜ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマをPOJOã®ã‚½ãƒ¼ã‚¹ãƒ•ã‚¡ã‚¤ãƒ«ã¨Hibernateã®ãƒžãƒƒãƒ”ングファイルã¸ã¨ã€
+ 完全ã«ãƒªãƒãƒ¼ã‚¹ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ãƒªãƒ³ã‚°ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ リãƒãƒ¼ã‚¹ã‚¨ãƒ³ã‚¸ãƒ‹ã‚¢ãƒªãƒ³ã‚°ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰ã¯ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚ºå¯èƒ½ãªãƒ†ãƒ³ãƒ—レートをサãƒãƒ¼ãƒˆã—ã¾ã™ã€‚
Ant Tasks:
@@ -42,43 +44,43 @@
- ‚æ‚èÚ‚µ‚¢î•ñ‚Í Hibernate Tools ƒpƒbƒP[ƒW‚Æ‚»‚̃hƒLƒ…ƒƒ“ƒg‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ より詳ã—ã„æƒ…å ±ã¯ Hibernate Tools パッケージã¨ãã®ãƒ‰ã‚ュメントをå‚ç…§ã—ã¦ãã ã•ã„。
- ‚µ‚©‚µAHibernate‚̃ƒCƒ“ƒpƒbƒP[ƒW‚Í SchemaExport A
- •Ê–¼ hbm2ddl ‚àŠÜ‚Ý‚Ü‚·(Hibernate“à‚ŃIƒ“ƒUƒtƒ‰ƒC‚ÅŽg—p‚Å‚«‚Ü‚·)B
+ ã—ã‹ã—ã€Hibernateã®ãƒ¡ã‚¤ãƒ³ãƒ‘ッケージ㯠SchemaExport ã€
+ 別å hbm2ddl ã‚‚å«ã¿ã¾ã™(Hibernate内ã§ã‚ªãƒ³ã‚¶ãƒ•ãƒ©ã‚¤ã§ä½¿ç”¨ã§ãã¾ã™)。
- ƒXƒL[ƒ}‚ÌŽ©“®¶¬
+ スã‚ーマã®è‡ªå‹•ç”Ÿæˆ
- DDL‚ÍHibernateƒ†[ƒeƒBƒŠƒeƒB‚É‚æ‚èƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚©‚綬‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ¶¬‚³‚ꂽƒXƒL[ƒ}‚̓Gƒ“ƒeƒBƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚̃e[ƒuƒ‹‚ɑ΂·‚éŽQÆ®‡«§–ñ(ŽåƒL[‚ÆŠO•”ƒL[)‚ðŠÜ‚Ý‚Ü‚·B
- ƒe[ƒuƒ‹‚ƃV[ƒPƒ“ƒX‚̓}ƒbƒsƒ“ƒO‚·‚鎯•ÊŽqƒWƒFƒlƒŒ[ƒ^‚ɑ΂µ‚Ķ¬‚³‚ê‚Ü‚·B
+ DDLã¯Hibernateユーティリティã«ã‚ˆã‚Šãƒžãƒƒãƒ”ングファイルã‹ã‚‰ç”Ÿæˆã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ 生æˆã•ã‚ŒãŸã‚¹ã‚ーマã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚„コレクションã®ãƒ†ãƒ¼ãƒ–ルã«å¯¾ã™ã‚‹å‚照整åˆæ€§åˆ¶ç´„(主ã‚ーã¨å¤–部ã‚ー)ã‚’å«ã¿ã¾ã™ã€‚
+ テーブルã¨ã‚·ãƒ¼ã‚±ãƒ³ã‚¹ã¯ãƒžãƒƒãƒ”ングã™ã‚‹è˜åˆ¥åジェãƒãƒ¬ãƒ¼ã‚¿ã«å¯¾ã—ã¦ç”Ÿæˆã•ã‚Œã¾ã™ã€‚
- DDL‚̓xƒ“ƒ_[ˆË‘¶‚È‚Ì‚ÅA‚±‚̃c[ƒ‹‚ðŽg‚¤‚Æ‚«‚ÍAhibernate.dialect
- ƒvƒƒpƒeƒB‚ÅSQL‚Ì •ûŒ¾ ‚ðŽw’è ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ B
+ DDLã¯ãƒ™ãƒ³ãƒ€ãƒ¼ä¾å˜ãªã®ã§ã€ã“ã®ãƒ„ールを使ã†ã¨ãã¯ã€hibernate.dialect
+ プãƒãƒ‘ティã§SQL㮠方言 を指定 ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“ 。
- ‚Ü‚¸A¶¬‚³‚ê‚éƒXƒL[ƒ}‚ð‰ü‘P‚·‚é‚悤‚ÉAƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðƒJƒXƒ^ƒ}ƒCƒY‚µ‚Ä‚‚¾‚³‚¢B
+ ã¾ãšã€ç”Ÿæˆã•ã‚Œã‚‹ã‚¹ã‚ーマを改善ã™ã‚‹ã‚ˆã†ã«ã€ãƒžãƒƒãƒ”ングファイルをカスタマイズã—ã¦ãã ã•ã„。
- ƒXƒL[ƒ}‚̃JƒXƒ^ƒ}ƒCƒY
+ スã‚ーマã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º
- ‘½‚‚ÌHibernate‚̃}ƒbƒsƒ“ƒO—v‘f‚Å‚ÍAƒIƒvƒVƒ‡ƒ“‚Ì length ‚Æ‚¢‚¤–¼‚Ì‘®«‚ð’è‹`‚µ‚Ä‚¢‚Ü‚·B
- ‚±‚Ì‘®«‚ŃJƒ‰ƒ€’·‚ðÝ’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·(‚Ü‚½‚ÍNUMERIC/DECIMALŒ^‚̃f[ƒ^‚̸“x‚ðÝ’è‚Å‚«‚Ü‚·)B
+ 多ãã®Hibernateã®ãƒžãƒƒãƒ”ングè¦ç´ ã§ã¯ã€ã‚ªãƒ—ション㮠length ã¨ã„ã†åã®å±žæ€§ã‚’定義ã—ã¦ã„ã¾ã™ã€‚
+ ã“ã®å±žæ€§ã§ã‚«ãƒ©ãƒ é•·ã‚’è¨å®šã™ã‚‹ã“ã¨ãŒã§ãã¾ã™(ã¾ãŸã¯NUMERIC/DECIMALåž‹ã®ãƒ‡ãƒ¼ã‚¿ã®ç²¾åº¦ã‚’è¨å®šã§ãã¾ã™)。
- not-null ‘®«iƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ö NOT NULL §–ñ‚𶬂·‚éj‚Æ
- unique ‘®«iƒe[ƒuƒ‹‚̃Jƒ‰ƒ€‚Ö UNIQUE §–ñ‚𶬂·‚éj‚ªÝ’è‚Å‚«‚éƒ^ƒO‚à‚ ‚è‚Ü‚·B
+ not-null 属性(テーブルã®ã‚«ãƒ©ãƒ 㸠NOT NULL 制約を生æˆã™ã‚‹ï¼‰ã¨
+ unique 属性(テーブルã®ã‚«ãƒ©ãƒ 㸠UNIQUE 制約を生æˆã™ã‚‹ï¼‰ãŒè¨å®šã§ãã‚‹ã‚¿ã‚°ã‚‚ã‚ã‚Šã¾ã™ã€‚
]]>
@@ -86,9 +88,9 @@
]]>
- unique-key ‘®«‚̓Jƒ‰ƒ€‚ðƒOƒ‹[ƒv‰»‚µ‚Ĉê‚‚̃L[§–ñ‚É‚·‚邽‚ß‚ÉŽg‚í‚ê‚Ü‚·B
- Œ»ÝAunique-key ‘®«‚ÅŽw’肳‚ꂽ’l‚ͧ–ñ‚ÌŽw’è‚É‚Í Žg‚í‚ꂸ A
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ŃJƒ‰ƒ€‚ðƒOƒ‹[ƒv‰»‚·‚邱‚Æ‚É‚Ì‚ÝŽg‚í‚ê‚Ü‚·B
+ unique-key 属性ã¯ã‚«ãƒ©ãƒ をグループ化ã—ã¦ä¸€ã¤ã®ã‚ー制約ã«ã™ã‚‹ãŸã‚ã«ä½¿ã‚ã‚Œã¾ã™ã€‚
+ ç¾åœ¨ã€unique-key 属性ã§æŒ‡å®šã•ã‚ŒãŸå€¤ã¯åˆ¶ç´„ã®æŒ‡å®šã«ã¯ 使ã‚れ㚠ã€
+ マッピングファイルã§ã‚«ãƒ©ãƒ をグループ化ã™ã‚‹ã“ã¨ã«ã®ã¿ä½¿ã‚ã‚Œã¾ã™ã€‚
@@ -97,21 +99,21 @@
- index ‘®«‚̓}ƒbƒsƒ“ƒO‚·‚éƒJƒ‰ƒ€‚ðŽg‚Á‚Ķ¬‚µ‚½ƒCƒ“ƒfƒbƒNƒX‚Ì–¼‘O‚ðŽw’肵‚Ü‚·B
- •¡”ƒJƒ‰ƒ€‚ð‚P‚‚̃Cƒ“ƒfƒbƒNƒX‚ɃOƒ‹[ƒv‰»‚Å‚«‚Ü‚·B’P‚ÉA“¯‚¶ƒCƒ“ƒfƒbƒNƒX–¼‚ðŽw’è‚·‚邾‚¯‚Å‚·B
+ index 属性ã¯ãƒžãƒƒãƒ”ングã™ã‚‹ã‚«ãƒ©ãƒ を使ã£ã¦ç”Ÿæˆã—ãŸã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã®åå‰ã‚’指定ã—ã¾ã™ã€‚
+ 複数カラムを1ã¤ã®ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹ã«ã‚°ãƒ«ãƒ¼ãƒ—化ã§ãã¾ã™ã€‚å˜ã«ã€åŒã˜ã‚¤ãƒ³ãƒ‡ãƒƒã‚¯ã‚¹åを指定ã™ã‚‹ã ã‘ã§ã™ã€‚
]]>
- foreign-key ‘®«‚ÍA¶¬‚³‚ꂽŠO•”ƒL[§–ñ‚Ì–¼‘O‚ðƒI[ƒo[ƒ‰ƒCƒh‚·‚邽‚ß‚ÉŽg—p‚Å‚«‚Ü‚·B
+ foreign-key 属性ã¯ã€ç”Ÿæˆã•ã‚ŒãŸå¤–部ã‚ー制約ã®åå‰ã‚’オーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã™ã‚‹ãŸã‚ã«ä½¿ç”¨ã§ãã¾ã™ã€‚
]]>
- ‘½‚‚̃}ƒbƒsƒ“ƒO—v‘f‚ÍAŽq <column> —v‘f‚ð‹Lq‚Å‚«‚Ü‚·B‚±‚ê‚Í•¡”ƒJƒ‰ƒ€Œ^‚̃}ƒbƒsƒ“ƒO‚É‚Í“Á‚É—L—p‚Å‚·B
+ 多ãã®ãƒžãƒƒãƒ”ングè¦ç´ ã¯ã€å <column> è¦ç´ を記述ã§ãã¾ã™ã€‚ã“ã‚Œã¯è¤‡æ•°ã‚«ãƒ©ãƒ åž‹ã®ãƒžãƒƒãƒ”ングã«ã¯ç‰¹ã«æœ‰ç”¨ã§ã™ã€‚
@@ -121,9 +123,9 @@
]]>
- default ‘®«‚̓Jƒ‰ƒ€‚̃fƒtƒHƒ‹ƒg’l‚ðŽw’肵‚Ü‚·
- (ƒ}ƒbƒsƒ“ƒO‚µ‚½ƒNƒ‰ƒX‚ÌV‚µ‚¢ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•Û‘¶‚·‚é‘O‚ÉA
- ƒ}ƒbƒsƒ“ƒO‚µ‚½ƒvƒƒpƒeƒB‚Ö“¯‚¶’l‚ð‘ã“ü‚·‚ׂ«‚Å‚·)B
+ default 属性ã¯ã‚«ãƒ©ãƒ ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’指定ã—ã¾ã™
+ (マッピングã—ãŸã‚¯ãƒ©ã‚¹ã®æ–°ã—ã„インスタンスをä¿å˜ã™ã‚‹å‰ã«ã€
+ マッピングã—ãŸãƒ—ãƒãƒ‘ティã¸åŒã˜å€¤ã‚’代入ã™ã¹ãã§ã™)。
@@ -135,7 +137,7 @@
]]>
- sql-type ‘®«‚ÅAƒfƒtƒHƒ‹ƒg‚ÌHibernateŒ^‚©‚çSQL‚̃f[ƒ^Œ^‚ւ̃}ƒbƒsƒ“ƒO‚ðƒI[ƒo[ƒ‰ƒCƒh‚Å‚«‚Ü‚·B
+ sql-type 属性ã§ã€ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®Hibernateåž‹ã‹ã‚‰SQLã®ãƒ‡ãƒ¼ã‚¿åž‹ã¸ã®ãƒžãƒƒãƒ”ングをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã§ãã¾ã™ã€‚
@@ -145,7 +147,7 @@
- check ‘®«‚Ń`ƒFƒbƒN§–ñ‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ check 属性ã§ãƒã‚§ãƒƒã‚¯åˆ¶ç´„を指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
@@ -159,94 +161,94 @@
- ‚Ü‚Æ‚ß
+ ã¾ã¨ã‚
- ‘®«
- ’l
- à–¾
+ 属性
+ 値
+ 説明
length
- ”’l
- ƒJƒ‰ƒ€‚Ì’·‚³
+ 数値
+ カラムã®é•·ã•
precision
- ”’l
- ƒJƒ‰ƒ€‚ÌDECIMALŒ^‚̸“xiprecisionj
+ 数値
+ カラムã®DECIMALåž‹ã®ç²¾åº¦ï¼ˆprecision)
scale
- ”’l
- ƒJƒ‰ƒ€‚ÌDECIMALŒ^‚̃XƒP[ƒ‹iscalej
+ 数値
+ カラムã®DECIMALåž‹ã®ã‚¹ã‚±ãƒ¼ãƒ«ï¼ˆscale)
not-null
true|false
- ƒJƒ‰ƒ€‚ªnull’l‚ðŽæ‚ç‚È‚¢‚±‚Æ‚ðŽw’肵‚Ü‚·
+ カラムãŒnull値をå–らãªã„ã“ã¨ã‚’指定ã—ã¾ã™
unique
true|false
- ƒJƒ‰ƒ€‚ªƒ†ƒj[ƒN§–ñ‚ðŽ‚‚±‚Æ‚ðŽw’肵‚Ü‚·
+ カラムãŒãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã‚’æŒã¤ã“ã¨ã‚’指定ã—ã¾ã™
index
- ƒCƒ“ƒfƒbƒNƒX–¼
- (•¡”ƒJƒ‰ƒ€‚Ì)ƒCƒ“ƒfƒbƒNƒX‚Ì–¼‘O‚ðŽw’肵‚Ü‚·
+ インデックスå
+ (複数カラムã®)インデックスã®åå‰ã‚’指定ã—ã¾ã™
unique-key
- ƒ†ƒj[ƒNƒL[–¼
- •¡”ƒJƒ‰ƒ€‚̃†ƒj[ƒN§–ñ‚Ì–¼‘O‚ðŽw’肵‚Ü‚·
+ ユニークã‚ーå
+ 複数カラムã®ãƒ¦ãƒ‹ãƒ¼ã‚¯åˆ¶ç´„ã®åå‰ã‚’指定ã—ã¾ã™
foreign-key
- ŠO•”ƒL[–¼
+ 外部ã‚ーå
- <one-to-one>A<many-to-one>A<many-to-many>ƒ}ƒbƒsƒ“ƒO—v‘f‚ðŽg‚Á‚ÄA
- ŠÖ˜A‚ɑ΂µ¶¬‚³‚ꂽŠO•”ƒL[§–ñ‚Ì–¼‘O‚ðŽw’肵‚Ü‚·B
- SchemaExport ‚Í inverse="true" ‘¤‚ðl—¶‚µ‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ <one-to-one>ã€<many-to-one>ã€<many-to-many>マッピングè¦ç´ を使ã£ã¦ã€
+ 関連ã«å¯¾ã—生æˆã•ã‚ŒãŸå¤–部ã‚ー制約ã®åå‰ã‚’指定ã—ã¾ã™ã€‚
+ SchemaExport 㯠inverse="true" å´ã‚’考慮ã—ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
sql-type
- SQL‚̃Jƒ‰ƒ€Œ^
+ SQLã®ã‚«ãƒ©ãƒ åž‹
- ƒfƒtƒHƒ‹ƒg‚̃Jƒ‰ƒ€Œ^‚ðƒI[ƒo[ƒ‰ƒCƒh‚µ‚Ü‚·( <column> —v‘f‚Ì‘®«‚Ì‚Ý)
+ デフォルトã®ã‚«ãƒ©ãƒ 型をオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã¾ã™( <column> è¦ç´ ã®å±žæ€§ã®ã¿)
default
- SQLŽ®
+ SQLå¼
- ƒJƒ‰ƒ€‚̃fƒtƒHƒ‹ƒg’l‚ðŽw’肵‚Ü‚·
+ カラムã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã‚’指定ã—ã¾ã™
check
- SQLŽ®
+ SQLå¼
- ƒJƒ‰ƒ€‚©ƒe[ƒuƒ‹‚ÉSQL‚̃`ƒFƒbƒN§–ñ‚ð쬂µ‚Ü‚·
+ カラムã‹ãƒ†ãƒ¼ãƒ–ルã«SQLã®ãƒã‚§ãƒƒã‚¯åˆ¶ç´„を作æˆã—ã¾ã™
@@ -254,7 +256,7 @@
- <comment> —v‘f‚Ŷ¬‚·‚éƒXƒL[ƒ}‚ɃRƒƒ“ƒg‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ <comment> è¦ç´ ã§ç”Ÿæˆã™ã‚‹ã‚¹ã‚ーマã«ã‚³ãƒ¡ãƒ³ãƒˆã‚’指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
@@ -270,16 +272,16 @@
]]>
- ‚±‚ê‚É‚æ‚èA¶¬‚µ‚½DDL‚É comment on table ‚â comment on column •¶‚ª‘‚©‚ê‚Ü‚·B
+ ã“ã‚Œã«ã‚ˆã‚Šã€ç”Ÿæˆã—ãŸDDLã« comment on table ã‚„ comment on column æ–‡ãŒæ›¸ã‹ã‚Œã¾ã™ã€‚
- ƒc[ƒ‹‚ÌŽÀs
+ ツールã®å®Ÿè¡Œ
- SchemaExport ‚Í•W€o—͂ɑ΂µ‚ÄDDLƒXƒNƒŠƒvƒg‚ð‘‚«o‚µADDL•¶‚ðŽÀs‚µ‚½‚è‚à‚µ‚Ü‚·B
+ SchemaExport ã¯æ¨™æº–出力ã«å¯¾ã—ã¦DDLスクリプトを書ã出ã—ã€DDL文を実行ã—ãŸã‚Šã‚‚ã—ã¾ã™ã€‚
@@ -290,70 +292,70 @@
SchemaExport Command Line Options
- SchemaExport ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“ƒIƒvƒVƒ‡ƒ“
+ SchemaExport ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚ªãƒ—ション
- ƒIƒvƒVƒ‡ƒ“
- à–¾
+ オプション
+ 説明
--quiet
- ƒXƒNƒŠƒvƒg‚ð•W€o—Í‚Éo—Í‚µ‚Ü‚¹‚ñ
+ スクリプトを標準出力ã«å‡ºåŠ›ã—ã¾ã›ã‚“
--drop
- ƒe[ƒuƒ‹‚Ì휂¾‚¯‚ðs‚¢‚Ü‚·
+ テーブルã®å‰Šé™¤ã ã‘ã‚’è¡Œã„ã¾ã™
--create
- ƒe[ƒuƒ‹‚̶¬‚Ì‚Ý‚ðs‚¢‚Ü‚·B
+ テーブルã®ç”Ÿæˆã®ã¿ã‚’è¡Œã„ã¾ã™ã€‚
--text
- ƒf[ƒ^ƒx[ƒX‚ɃGƒNƒXƒ|[ƒg‚µ‚Ü‚¹‚ñ
+ データベースã«ã‚¨ã‚¯ã‚¹ãƒãƒ¼ãƒˆã—ã¾ã›ã‚“
--output=my_schema.ddl
- DDLƒXƒNƒŠƒvƒg‚ðƒtƒ@ƒCƒ‹‚Éo—Í‚µ‚Ü‚·
+ DDLスクリプトをファイルã«å‡ºåŠ›ã—ã¾ã™
--naming=eg.MyNamingStrategy
- NamingStrategy ‚ð‘I‘ð‚µ‚Ü‚·
+ NamingStrategy ã‚’é¸æŠžã—ã¾ã™
--config=hibernate.cfg.xml
- XMLƒtƒ@ƒCƒ‹‚©‚çHibernate‚Ì’è‹`î•ñ‚ð“Ç‚Ýž‚Ý‚Ü‚·
+ XMLファイルã‹ã‚‰Hibernateã®å®šç¾©æƒ…å ±ã‚’èªã¿è¾¼ã¿ã¾ã™
--properties=hibernate.properties
- ƒtƒ@ƒCƒ‹‚©‚çƒf[ƒ^ƒx[ƒXƒvƒƒpƒeƒB‚ð“Ç‚Ýž‚Ý‚Ü‚·
+ ファイルã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ—ãƒãƒ‘ティをèªã¿è¾¼ã¿ã¾ã™
--format
- ƒXƒNƒŠƒvƒg“à‚ɶ¬‚·‚éSQL‚ð“Ç‚Ý‚â‚·‚¢‚悤‚ɃtƒH[ƒ}ƒbƒg‚µ‚Ü‚·
+ スクリプト内ã«ç”Ÿæˆã™ã‚‹SQLã‚’èªã¿ã‚„ã™ã„よã†ã«ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã—ã¾ã™
--delimiter=x
- ƒXƒNƒŠƒvƒg‚Ìs‹æ؂蕶Žš‚ðݒ肵‚Ü‚·
+ スクリプトã®è¡ŒåŒºåˆ‡ã‚Šæ–‡å—ã‚’è¨å®šã—ã¾ã™
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É SchemaExport ‚ð‘g‚Ýž‚Þ‚±‚Æ‚à‚Å‚«‚Ü‚·F
+ アプリケーション㫠SchemaExport を組ã¿è¾¼ã‚€ã“ã¨ã‚‚ã§ãã¾ã™ï¼š
- ƒvƒƒpƒeƒB
+ プãƒãƒ‘ティ
- ŽŸ‚̂悤‚ÉAƒf[ƒ^ƒx[ƒX‚̃vƒƒpƒeƒB‚ðŽw’è‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ 次ã®ã‚ˆã†ã«ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒ—ãƒãƒ‘ティを指定ã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- -D <property> ‚ðŽg‚Á‚ÄAƒVƒXƒeƒ€ƒvƒƒpƒeƒB‚Æ‚µ‚Ä
+ -D <property> を使ã£ã¦ã€ã‚·ã‚¹ãƒ†ãƒ プãƒãƒ‘ティã¨ã—ã¦
- hibernate.properties ƒtƒ@ƒCƒ‹“à‚Å
+ hibernate.properties ファイル内ã§
- --properties ‚ðŽg‚Á‚ÄŽw’肵‚½ƒvƒƒpƒeƒBƒtƒ@ƒCƒ‹“à‚Å
+ --properties を使ã£ã¦æŒ‡å®šã—ãŸãƒ—ãƒãƒ‘ティファイル内ã§
- •K—v‚ȃvƒƒpƒeƒB‚͈ȉº‚Ì‚à‚Ì‚Å‚·F
+ å¿…è¦ãªãƒ—ãƒãƒ‘ティã¯ä»¥ä¸‹ã®ã‚‚ã®ã§ã™ï¼š
- SchemaExportƒRƒlƒNƒVƒ‡ƒ“ƒvƒƒpƒeƒB
+ SchemaExportコãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ãƒãƒ‘ティ
- ƒvƒƒpƒeƒB–¼
+ プãƒãƒ‘ティå
- à–¾
+ 説明
hibernate.connection.driver_class
- jdbc‚̃hƒ‰ƒCƒo[ƒNƒ‰ƒX
+ jdbcã®ãƒ‰ãƒ©ã‚¤ãƒãƒ¼ã‚¯ãƒ©ã‚¹
hibernate.connection.url
- jdbc‚Ìurl
+ jdbcã®url
hibernate.connection.username
- ƒf[ƒ^ƒx[ƒX‚̃†[ƒU
+ データベースã®ãƒ¦ãƒ¼ã‚¶
hibernate.connection.password
- ƒ†[ƒUƒpƒXƒ[ƒh
+ ユーザパスワード
hibernate.dialect
- ƒf[ƒ^ƒx[ƒX•ûŒ¾
+ データベース方言
@@ -435,10 +437,10 @@ new SchemaExport(cfg).create(false, true);]]>
- Ant‚ðŽg—p‚·‚é
+ Antを使用ã™ã‚‹
- Ant‚̃rƒ‹ƒhƒXƒNƒŠƒvƒg‚©‚ç SchemaExport ‚ðŒÄ‚Ño‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B:
+ Antã®ãƒ“ルドスクリプトã‹ã‚‰ SchemaExport を呼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚:
@@ -462,13 +464,13 @@ new SchemaExport(cfg).create(false, true);]]>
- ƒCƒ“ƒNƒŠƒƒ“ƒ^ƒ‹‚ȃXƒL[ƒ}XV
+ インクリメンタルãªã‚¹ã‚ーマ更新
- SchemaUpdate ƒc[ƒ‹‚ÍŠù‘¶‚̃XƒL[ƒ}‚ðƒCƒ“ƒNƒŠƒƒ“ƒ^ƒ‹‚ÉXV‚µ‚Ü‚·B
- SchemaUpdate ‚ÍJDBC‚̃ƒ^ƒf[ƒ^API‚É‹‚ˆË‘¶‚µ‚Ü‚·B
- ‚»‚Ì‚½‚ßA‚·‚ׂĂÌJDBCƒhƒ‰ƒCƒo‚Å‚¤‚Ü‚‚¢‚‚Æ‚ÍŒÀ‚ç‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ SchemaUpdate ツールã¯æ—¢å˜ã®ã‚¹ã‚ーマをインクリメンタルã«æ›´æ–°ã—ã¾ã™ã€‚
+ SchemaUpdate ã¯JDBCã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿APIã«å¼·ãä¾å˜ã—ã¾ã™ã€‚
+ ãã®ãŸã‚ã€ã™ã¹ã¦ã®JDBCドライãƒã§ã†ã¾ãã„ãã¨ã¯é™ã‚‰ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
@@ -477,42 +479,42 @@ new SchemaExport(cfg).create(false, true);]]>
- SchemaUpdate ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“¥ƒIƒvƒVƒ‡ƒ“
+ SchemaUpdate ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ï½¥ã‚ªãƒ—ション
- ƒIƒvƒVƒ‡ƒ“
- à–¾
+ オプション
+ 説明
--quiet
- •W€o—͂ɃXƒNƒŠƒvƒg‚ðo—Í‚µ‚Ü‚¹‚ñ
+ 標準出力ã«ã‚¹ã‚¯ãƒªãƒ—トを出力ã—ã¾ã›ã‚“
--text
- ƒf[ƒ^ƒx[ƒX‚ɃXƒNƒŠƒvƒg‚ðƒGƒNƒXƒ|[ƒg‚µ‚Ü‚¹‚ñ
+ データベースã«ã‚¹ã‚¯ãƒªãƒ—トをエクスãƒãƒ¼ãƒˆã—ã¾ã›ã‚“
--naming=eg.MyNamingStrategy
- NamingStrategy ‚ð‘I‘ð‚µ‚Ü‚·B
+ NamingStrategy ã‚’é¸æŠžã—ã¾ã™ã€‚
--properties=hibernate.properties
- ƒtƒ@ƒCƒ‹‚©‚çƒf[ƒ^ƒx[ƒXƒvƒƒpƒeƒB‚ð“Ç‚Ýž‚Ý‚Ü‚·
+ ファイルã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒ—ãƒãƒ‘ティをèªã¿è¾¼ã¿ã¾ã™
--config=hibernate.cfg.xml
- .cfg.xml ƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü‚·
+ .cfg.xml ファイルを指定ã—ã¾ã™
@@ -521,7 +523,7 @@ new SchemaExport(cfg).create(false, true);]]>
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É SchemaUpdate ‚ð‘g‚Ýž‚Þ‚±‚Æ‚ª‚Å‚«‚Ü‚·BF
+ アプリケーション㫠SchemaUpdate を組ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã¾ã™ã€‚:
- ƒCƒ“ƒNƒŠƒƒ“ƒ^ƒ‹‚ȃXƒL[ƒ}XV‚ɑ΂·‚éAnt‚ÌŽg—p
+ インクリメンタルãªã‚¹ã‚ーマ更新ã«å¯¾ã™ã‚‹Antã®ä½¿ç”¨
- AntƒXƒNƒŠƒvƒg‚©‚ç SchemaUpdate ‚ðŒÄ‚Ño‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·F
+ Antスクリプトã‹ã‚‰ SchemaUpdate を呼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ï¼š
@@ -557,7 +559,7 @@ new SchemaUpdate(cfg).execute(false);]]>
Schema validation
- SchemaValidator ƒc[ƒ‹‚ÍAŠù‘¶‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Æ쬂µ‚½ƒ}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚ª"ˆê’v‚·‚é"‚±‚Æ‚ðŒŸØ‚µ‚Ü‚·B SchemaValidator ‚ÍJDBC‚̃ƒ^ƒf[ƒ^API‚É‹‚ˆË‘¶‚·‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B‚»‚Ì‚½‚ßA‚·‚ׂĂÌJDBCƒhƒ‰ƒCƒo[‚Åì“®‚·‚é‚à‚Ì‚Å‚Í‚ ‚è‚Ü‚¹‚ñB‚±‚̃c[ƒ‹‚̓eƒXƒgŽž‚É”ñí‚É—L—p‚Å‚·B
+ SchemaValidator ツールã¯ã€æ—¢å˜ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマã¨ä½œæˆã—ãŸãƒžãƒƒãƒ”ングドã‚ュメントãŒ"一致ã™ã‚‹"ã“ã¨ã‚’検証ã—ã¾ã™ã€‚ SchemaValidator ã¯JDBCã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿APIã«å¼·ãä¾å˜ã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。ãã®ãŸã‚ã€ã™ã¹ã¦ã®JDBCドライãƒãƒ¼ã§ä½œå‹•ã™ã‚‹ã‚‚ã®ã§ã¯ã‚ã‚Šã¾ã›ã‚“。ã“ã®ãƒ„ールã¯ãƒ†ã‚¹ãƒˆæ™‚ã«éžå¸¸ã«æœ‰ç”¨ã§ã™ã€‚
@@ -566,31 +568,31 @@ new SchemaUpdate(cfg).execute(false);]]>
- SchemaValidator ‚̃Rƒ}ƒ“ƒhƒ‰ƒCƒ“EƒIƒvƒVƒ‡ƒ“
+ SchemaValidator ã®ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ãƒ»ã‚ªãƒ—ション
- ƒIƒvƒVƒ‡ƒ“
- à–¾
+ オプション
+ 説明
--naming=eg.MyNamingStrategy
- NamingStrategy ‚ð‘I‘ð‚µ‚Ü‚·
+ NamingStrategy ã‚’é¸æŠžã—ã¾ã™
--properties=hibernate.properties
- ƒtƒ@ƒCƒ‹‚©‚çƒf[ƒ^ƒx[ƒX‚̃vƒƒpƒeƒB‚ð“Ç‚Ýž‚Ý‚Ü‚·
+ ファイルã‹ã‚‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒ—ãƒãƒ‘ティをèªã¿è¾¼ã¿ã¾ã™
--config=hibernate.cfg.xml
- .cfg.xml ƒtƒ@ƒCƒ‹‚ðŽw’肵‚Ü‚·
+ .cfg.xml ファイルを指定ã—ã¾ã™
@@ -598,7 +600,7 @@ new SchemaUpdate(cfg).execute(false);]]>
- SchemaValidator ‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‘g‚Ýž‚Þ‚±‚Æ‚ªo—ˆ‚Ü‚·:
+ SchemaValidator をアプリケーションã«çµ„ã¿è¾¼ã‚€ã“ã¨ãŒå‡ºæ¥ã¾ã™:
- ƒXƒL[ƒ}‚̃oƒŠƒf[ƒVƒ‡ƒ“‚ÉAnt‚ðŽg—p‚µ‚Ü‚·
+ スã‚ーマã®ãƒãƒªãƒ‡ãƒ¼ã‚·ãƒ§ãƒ³ã«Antを使用ã—ã¾ã™
- AntƒXƒNƒŠƒvƒg‚©‚ç SchemaValidator ‚ðŒÄ‚Ño‚¹‚Ü‚·:
+ Antスクリプトã‹ã‚‰ SchemaValidator を呼ã³å‡ºã›ã¾ã™:
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml b/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml
index 907a79f2cd..08ee46cc27 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/transactions.xml
@@ -1,299 +1,301 @@
-
+
+
+
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Æ•Às«
+ トランザクションã¨ä¸¦è¡Œæ€§
- Hibernate‚Æ“¯ŽžŽÀs§Œä‚ɂ‚¢‚ÄÅ‚àd—v‚È“_‚ÍA—eˆÕ‚É—‰ð‚Å‚«‚邱‚Æ‚Å‚·B
- Hibernate‚ÍV‚½‚ȃƒbƒN‚ÌU‚é•‘‚¢‚ð’ljÁ‚µ‚Ä‚¨‚炸A’¼ÚJDBCƒRƒlƒNƒVƒ‡ƒ“‚ÆJTAƒŠƒ\[ƒX‚ðŽg—p‚µ‚Ü‚·B
- JDBCAANSIA‚¨‚æ‚уf[ƒ^ƒx[ƒXŠÇ—ƒVƒXƒeƒ€iDBMSj‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“•ª—£‚ÌŽd—l‚ð
- ‚µŽžŠÔ‚ð‚©‚¯‚ĕ׋‚·‚邱‚Æ‚ð‹‚„§‚µ‚Ü‚·B
+ Hibernateã¨åŒæ™‚実行制御ã«ã¤ã„ã¦æœ€ã‚‚é‡è¦ãªç‚¹ã¯ã€å®¹æ˜“ã«ç†è§£ã§ãã‚‹ã“ã¨ã§ã™ã€‚
+ Hibernateã¯æ–°ãŸãªãƒãƒƒã‚¯ã®æŒ¯ã‚‹èˆžã„ã‚’è¿½åŠ ã—ã¦ãŠã‚‰ãšã€ç›´æŽ¥JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã¨JTAリソースを使用ã—ã¾ã™ã€‚
+ JDBCã€ANSIã€ãŠã‚ˆã³ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ç®¡ç†ã‚·ã‚¹ãƒ†ãƒ (DBMS)ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³åˆ†é›¢ã®ä»•æ§˜ã‚’
+ å°‘ã—時間をã‹ã‘ã¦å‹‰å¼·ã™ã‚‹ã“ã¨ã‚’å¼·ã推奨ã—ã¾ã™ã€‚
- Hibernate‚̓ƒ‚ƒŠ“à‚̃IƒuƒWƒFƒNƒg‚ðƒƒbƒN‚µ‚Ü‚¹‚ñB
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì•ª—£ƒŒƒxƒ‹‚Å
- ’è‹`‚µ‚½U‚é•‘‚¢‚ðŠú‘Ò‚Å‚«‚Ü‚·B
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒXƒR[ƒv‚̃LƒƒƒbƒVƒ…‚Å‚à‚ ‚é Session ‚Ì‚¨‰A‚ÅA
- Ž¯•ÊŽq‚âƒNƒGƒŠ‚É‚æ‚茟õ‚µ‚½ƒGƒ“ƒeƒBƒeƒB‚̓Šƒs[ƒ^ƒuƒ‹ƒŠ[ƒh‚É‚È‚è‚Ü‚·
- iƒXƒJƒ‰[’l‚ð•Ô‚·‚悤‚ȃŒƒ|[ƒgƒNƒGƒŠ‚͈Ⴂ‚Ü‚·jB
+ Hibernateã¯ãƒ¡ãƒ¢ãƒªå†…ã®ã‚ªãƒ–ジェクトをãƒãƒƒã‚¯ã—ã¾ã›ã‚“。
+ アプリケーションã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®åˆ†é›¢ãƒ¬ãƒ™ãƒ«ã§
+ 定義ã—ãŸæŒ¯ã‚‹èˆžã„を期待ã§ãã¾ã™ã€‚
+ トランザクションスコープã®ã‚ャッシュã§ã‚‚ã‚ã‚‹ Session ã®ãŠé™°ã§ã€
+ è˜åˆ¥åやクエリã«ã‚ˆã‚Šæ¤œç´¢ã—ãŸã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¯ãƒªãƒ”ータブルリードã«ãªã‚Šã¾ã™
+ (スカラー値を返ã™ã‚ˆã†ãªãƒ¬ãƒãƒ¼ãƒˆã‚¯ã‚¨ãƒªã¯é•ã„ã¾ã™ï¼‰ã€‚
- ƒo[ƒWƒ‡ƒjƒ“ƒO‚É‚æ‚鎩“®“I‚ÈŠyŠÏ“I“¯ŽžŽÀs§Œä‚ɉÁ‚¦‚ÄA
- SELECT FOR UPDATE •¶‚ðŽg—p‚µ‚ÄA
- s‚ð”ߊϓIƒƒbƒN‚·‚邽‚ß‚Ìiƒ}ƒCƒi[‚ÈjAPI‚à’ñ‹Ÿ‚µ‚Ü‚·B
- ŠyŠÏ“I“¯ŽžŽÀs§Œä‚Æ‚±‚ÌAPI‚ɂ‚¢‚Ä‚ÍA‚±‚ÌÍ‚ÌŒã‚Ì‚Ù‚¤‚Å‹c˜_‚µ‚Ü‚·B
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã«ã‚ˆã‚‹è‡ªå‹•çš„ãªæ¥½è¦³çš„åŒæ™‚実行制御ã«åŠ ãˆã¦ã€
+ SELECT FOR UPDATE 文を使用ã—ã¦ã€
+ 行を悲観的ãƒãƒƒã‚¯ã™ã‚‹ãŸã‚ã®ï¼ˆãƒžã‚¤ãƒŠãƒ¼ãªï¼‰APIã‚‚æä¾›ã—ã¾ã™ã€‚
+ 楽観的åŒæ™‚実行制御ã¨ã“ã®APIã«ã¤ã„ã¦ã¯ã€ã“ã®ç« ã®å¾Œã®ã»ã†ã§è°è«–ã—ã¾ã™ã€‚
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚â’·‚¢‘ΘbiconversationAƒƒ“ƒOƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“j‚¾‚¯‚Å‚È‚A
- ConfigurationASessionFactoryA‚¨‚æ‚Ñ
+ データベーストランザクションや長ã„対話(conversationã€ãƒãƒ³ã‚°ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ï¼‰ã ã‘ã§ãªãã€
+ Configurationã€SessionFactoryã€ãŠã‚ˆã³
Session
- ‚Æ‚¢‚¤—±“x‚ÅHibernate‚ªs‚¤“¯ŽžŽÀs§Œä‚Ì‹c˜_‚ðŽn‚ß‚Ü‚·B
+ ã¨ã„ã†ç²’度ã§HibernateãŒè¡Œã†åŒæ™‚実行制御ã®è°è«–を始ã‚ã¾ã™ã€‚
- sessionƒXƒR[ƒv‚ÆtransactionƒXƒR[ƒv
+ sessionスコープã¨transactionスコープ
- SessionFactory ‚Ͷ¬‚·‚邱‚Æ‚ª‚‰¿‚ÅA
- ƒXƒŒƒbƒhƒZ[ƒt‚ȃIƒuƒWƒFƒNƒg‚Å‚·B
- ‚æ‚Á‚ÄAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‚·‚ׂẴXƒŒƒbƒh‚Å‹¤—L‚·‚ׂ«‚Å‚·B
- ’ÊíAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‹N“®Žž‚ÉA
- Configuration ƒCƒ“ƒXƒ^ƒ“ƒX‚©‚ç‚P“x‚¾‚¯¶¬‚µ‚Ü‚·B
+ SessionFactory ã¯ç”Ÿæˆã™ã‚‹ã“ã¨ãŒé«˜ä¾¡ã§ã€
+ スレッドセーフãªã‚ªãƒ–ジェクトã§ã™ã€‚
+ よã£ã¦ã€ã‚¢ãƒ—リケーションã®ã™ã¹ã¦ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã§å…±æœ‰ã™ã¹ãã§ã™ã€‚
+ 通常ã€ã‚¢ãƒ—リケーションã®èµ·å‹•æ™‚ã«ã€
+ Configuration インスタンスã‹ã‚‰ï¼‘度ã ã‘生æˆã—ã¾ã™ã€‚
- Session ‚Í‚‰¿‚Å‚Í‚È‚AƒXƒŒƒbƒhƒZ[ƒt‚ȃIƒuƒWƒFƒNƒg‚Å‚à‚ ‚è‚Ü‚¹‚ñB
- ‚æ‚Á‚ÄA‚P‚‚̗v‹‚â‚P‚‚̑ΘbA‚P‚‚Ìì‹Æ’PˆÊiunit of workj‚ɑ΂µ‚Ä‚P“x‚¾‚¯Žg‚¢A
- ‚»‚ÌŒã‚ÅŽÌ‚Ä‚é‚ׂ«‚Å‚·B
- Session ‚Í•K—v‚É‚È‚é‚Ü‚ÅA
- JDBC Connectioni‚à‚µ‚‚Í DataSourcej‚ðŠl“¾‚µ‚Ü‚¹‚ñB
- ‚䂦‚ÉAŽÀÛ‚ÉŽg—p‚·‚é‚Æ‚«‚܂ŃŠƒ\[ƒX‚ðÁ”‚Ü‚¹‚ñB
+ Session ã¯é«˜ä¾¡ã§ã¯ãªãã€ã‚¹ãƒ¬ãƒƒãƒ‰ã‚»ãƒ¼ãƒ•ãªã‚ªãƒ–ジェクトã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。
+ よã£ã¦ã€ï¼‘ã¤ã®è¦æ±‚や1ã¤ã®å¯¾è©±ã€ï¼‘ã¤ã®ä½œæ¥å˜ä½ï¼ˆunit of work)ã«å¯¾ã—ã¦ï¼‘度ã ã‘使ã„ã€
+ ãã®å¾Œã§æ¨ã¦ã‚‹ã¹ãã§ã™ã€‚
+ Session ã¯å¿…è¦ã«ãªã‚‹ã¾ã§ã€
+ JDBC Connection(もã—ã㯠DataSource)をç²å¾—ã—ã¾ã›ã‚“。
+ ゆãˆã«ã€å®Ÿéš›ã«ä½¿ç”¨ã™ã‚‹ã¨ãã¾ã§ãƒªã‚½ãƒ¼ã‚¹ã‚’消費ã—ã¾ã›ã‚“。
- ‚±‚Ìó‹µ‚ðŠ®—¹‚³‚¹‚邽‚ß‚ÉA ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɂ‚¢‚Ä‚àl‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ƒf[ƒ^ƒx[ƒX“à‚̃ƒbƒN‚Ì‹£‡‚ð‚È‚‚·‚邽‚ß‚ÉA
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚͉”\‚ÈŒÀ‚è’Z‚‚·‚é‚ׂ«‚Å‚·B
- ’·‚¢ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì‚‚¢•À—ñŽÀs«‚ð‘jŠQ‚µ‚Ü‚·B
- ‚䂦‚ÉAƒ†[ƒU[‚ªl‚¦‚Ä‚¢‚éŠÔiì‹Æ’PˆÊ‚ªŠ®—¹‚·‚é‚Ü‚Åjƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð
- ŠJ‚¢‚½‚Ü‚Ü‚É‚·‚é‚Ì‚ÍA‚½‚¢‚Ä‚¢‚Ìꇂ悢݌v‚Æ‚Í‚¢‚¦‚Ü‚¹‚ñB
+ ã“ã®çŠ¶æ³ã‚’完了ã•ã›ã‚‹ãŸã‚ã«ã€ データベーストランザクションã«ã¤ã„ã¦ã‚‚考ãˆãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ データベース内ã®ãƒãƒƒã‚¯ã®ç«¶åˆã‚’å°‘ãªãã™ã‚‹ãŸã‚ã«ã€
+ データベーストランザクションã¯å¯èƒ½ãªé™ã‚ŠçŸãã™ã‚‹ã¹ãã§ã™ã€‚
+ é•·ã„データベーストランザクションã¯ã€ã‚¢ãƒ—リケーションã®é«˜ã„並列実行性を阻害ã—ã¾ã™ã€‚
+ ゆãˆã«ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè€ƒãˆã¦ã„る間(作æ¥å˜ä½ãŒå®Œäº†ã™ã‚‹ã¾ã§ï¼‰ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ é–‹ã„ãŸã¾ã¾ã«ã™ã‚‹ã®ã¯ã€ãŸã„ã¦ã„ã®å ´åˆã‚ˆã„è¨è¨ˆã¨ã¯ã„ãˆã¾ã›ã‚“。
- ì‹Æ’PˆÊ‚Æ‚¢‚¤ƒXƒR[ƒv‚Ƃ͉½‚Å‚µ‚傤‚©H
- ‚P‚‚ÌHibernate Session ‚ÍA
- ‚¢‚‚‚©‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð‚Ü‚½‚ª‚邱‚Æ‚ª‚Å‚«‚é‚Å‚µ‚傤‚©H
- ‚Ü‚½‚ÍAƒXƒR[ƒv‚ƈê‘Έê‚ÌŠÖŒW‚Å‚µ‚傤‚©H
- ‚¢‚ Session ‚ðŠJ‚«A•Â‚¶‚é‚ׂ«‚Å‚µ‚傤‚©H
- ‚»‚µ‚ÄAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ð‚ǂ̂悤‚É•ª‚¯‚é‚Ì‚Å‚µ‚傤‚©H
+ 作æ¥å˜ä½ã¨ã„ã†ã‚¹ã‚³ãƒ¼ãƒ—ã¨ã¯ä½•ã§ã—ょã†ã‹ï¼Ÿ
+ 1ã¤ã®Hibernate Session ã¯ã€
+ ã„ãã¤ã‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’ã¾ãŸãŒã‚‹ã“ã¨ãŒã§ãã‚‹ã§ã—ょã†ã‹ï¼Ÿ
+ ã¾ãŸã¯ã€ã‚¹ã‚³ãƒ¼ãƒ—ã¨ä¸€å¯¾ä¸€ã®é–¢ä¿‚ã§ã—ょã†ã‹ï¼Ÿ
+ ã„㤠Session ã‚’é–‹ãã€é–‰ã˜ã‚‹ã¹ãã§ã—ょã†ã‹ï¼Ÿ
+ ãã—ã¦ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’ã©ã®ã‚ˆã†ã«åˆ†ã‘ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ
- ì‹Æ’PˆÊiUnit of workj
+ 作æ¥å˜ä½ï¼ˆUnit of work)
- ‚P‚–ڂÍAsession-per-operation ƒAƒ“ƒ`ƒpƒ^[ƒ“‚ðŽg‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñB
- ‚·‚È‚í‚¿A‚P‚‚̃XƒŒƒbƒh‚Ì’†‚ÅA’Pƒ‚ȃf[ƒ^ƒx[ƒXŒÄ‚Ño‚µ‚Ì‚½‚Ñ‚É
- Session ‚ðŠJ‚¢‚ÄA•Â‚¶‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñI
- ‚à‚¿‚ë‚ñAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ɂ‚¢‚Ä‚à“¯—l‚Å‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“’†‚̃f[ƒ^ƒx[ƒXŒÄ‚Ño‚µ‚ÍA
- Œv‰æ‚³‚ꂽƒV[ƒPƒ“ƒXiplanned sequencej‚ðŽg‚¢A
- ƒAƒgƒ~ƒbƒN‚Èì‹Æ’PˆÊ‚É•ª—Þ‚³‚ê‚Ü‚·B
- i‚P‚‚ÌSQL•¶‚²‚ƂɃRƒ~ƒbƒg‚·‚鎩“®ƒRƒ~ƒbƒg‚ªA
- Žg‚í‚ê‚È‚¢‚Æ‚¢‚¤ˆÓ–¡‚Å‚à‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- Ž©“®ƒRƒ~ƒbƒg‚ÍASQLƒRƒ“ƒ\[ƒ‹‚ŃAƒhƒzƒbƒN‚Èì‹Æ‚ð‚·‚éÛ‚ÉŽg‚¤‚à‚Ì‚Å‚·B
- Hibernate‚Í’¼‚¿‚ÉŽ©“®ƒRƒ~ƒbƒgƒ‚[ƒh‚𖳌ø‚É‚µ‚Ü‚·B
- ‚à‚µ‚‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚ª–³Œø‰»‚·‚邱‚Æ‚ðŠú‘Ò‚µ‚Ü‚·Bj
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̓IƒvƒVƒ‡ƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ƒf[ƒ^ƒx[ƒX‚Æ‚Ì‚·‚ׂĂ̒ÊM‚ÍAƒf[ƒ^‚Ì“Ç‚Ýž‚Ý‚Å‚ ‚Á‚Ä‚àA‘‚«ž‚Ý‚Å‚ ‚Á‚Ä‚àA
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚Ås‚í‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- à–¾‚·‚é‚ÆAƒf[ƒ^“Ç‚Ýž‚݂ɑ΂µ‚ÄAŽ©“®ƒRƒ~ƒbƒg‚Í”ð‚¯‚é‚ׂ«‚Å‚·B
- ‚È‚º‚È‚çA‘½”‚̬‚³‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÍA–¾Šm‚É’è‹`‚³‚ꂽ‚P‚‚Ìì‹Æ’PˆÊ‚Æ”ä‚ׂÄA
- ƒpƒtƒH[ƒ}ƒ“ƒX‚ª‚悂Ȃ邱‚Æ‚Í‚ ‚è‚Ü‚¹‚ñB
- ŒãŽÒ‚Í•ÛŽç«‚âŠg’£«‚à‚æ‚è‚·‚®‚ê‚Ä‚¢‚Ü‚·B
+ 1ã¤ç›®ã¯ã€session-per-operation アンãƒãƒ‘ターンを使ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“。
+ ã™ãªã‚ã¡ã€ï¼‘ã¤ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã®ä¸ã§ã€å˜ç´”ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å‘¼ã³å‡ºã—ã®ãŸã³ã«
+ Session ã‚’é–‹ã„ã¦ã€é–‰ã˜ã¦ã¯ã„ã‘ã¾ã›ã‚“ï¼
+ ã‚‚ã¡ã‚ã‚“ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«ã¤ã„ã¦ã‚‚åŒæ§˜ã§ã™ã€‚
+ アプリケーションä¸ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å‘¼ã³å‡ºã—ã¯ã€
+ 計画ã•ã‚ŒãŸã‚·ãƒ¼ã‚±ãƒ³ã‚¹ï¼ˆplanned sequence)を使ã„ã€
+ アトミックãªä½œæ¥å˜ä½ã«åˆ†é¡žã•ã‚Œã¾ã™ã€‚
+ (1ã¤ã®SQLæ–‡ã”ã¨ã«ã‚³ãƒŸãƒƒãƒˆã™ã‚‹è‡ªå‹•ã‚³ãƒŸãƒƒãƒˆãŒã€
+ 使ã‚ã‚Œãªã„ã¨ã„ã†æ„味ã§ã‚‚ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ 自動コミットã¯ã€SQLコンソールã§ã‚¢ãƒ‰ãƒ›ãƒƒã‚¯ãªä½œæ¥ã‚’ã™ã‚‹éš›ã«ä½¿ã†ã‚‚ã®ã§ã™ã€‚
+ Hibernateã¯ç›´ã¡ã«è‡ªå‹•ã‚³ãƒŸãƒƒãƒˆãƒ¢ãƒ¼ãƒ‰ã‚’無効ã«ã—ã¾ã™ã€‚
+ ã‚‚ã—ãã¯ã€ã‚¢ãƒ—リケーションサーãƒãƒ¼ãŒç„¡åŠ¹åŒ–ã™ã‚‹ã“ã¨ã‚’期待ã—ã¾ã™ã€‚)
+ データベーストランザクションã¯ã‚ªãƒ—ションã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ データベースã¨ã®ã™ã¹ã¦ã®é€šä¿¡ã¯ã€ãƒ‡ãƒ¼ã‚¿ã®èªã¿è¾¼ã¿ã§ã‚ã£ã¦ã‚‚ã€æ›¸ãè¾¼ã¿ã§ã‚ã£ã¦ã‚‚ã€
+ トランザクションã®ä¸ã§è¡Œã‚ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ 説明ã™ã‚‹ã¨ã€ãƒ‡ãƒ¼ã‚¿èªã¿è¾¼ã¿ã«å¯¾ã—ã¦ã€è‡ªå‹•ã‚³ãƒŸãƒƒãƒˆã¯é¿ã‘ã‚‹ã¹ãã§ã™ã€‚
+ ãªãœãªã‚‰ã€å¤šæ•°ã®å°ã•ãªãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯ã€æ˜Žç¢ºã«å®šç¾©ã•ã‚ŒãŸï¼‘ã¤ã®ä½œæ¥å˜ä½ã¨æ¯”ã¹ã¦ã€
+ パフォーマンスãŒã‚ˆããªã‚‹ã“ã¨ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 後者ã¯ä¿å®ˆæ€§ã‚„拡張性もよりã™ãã‚Œã¦ã„ã¾ã™ã€‚
- ƒ}ƒ‹ƒ`ƒ†[ƒU[‚̃Nƒ‰ƒCƒAƒ“ƒg^ƒT[ƒo[ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì’†‚ÅA
- Å‚à‚æ‚Žg‚í‚ê‚éƒpƒ^[ƒ“‚ÍAsession-per-request ‚Å‚·B
- ‚±‚̃‚ƒfƒ‹‚Ì’†‚Å‚ÍA
- ƒNƒ‰ƒCƒAƒ“ƒg‚©‚çiHibernate‰i‘±‰»‘w‚ª“®ì‚·‚éjƒT[ƒo[‚ÖƒŠƒNƒGƒXƒg‚ª‘—‚ç‚êA
- V‚µ‚¢Hibernate Session ‚ªŠJ‚©‚ê‚Ü‚·B
- ‚»‚µ‚ÄA‚±‚Ìì‹Æ’PˆÊ‚Ì’†‚Å‚·‚ׂẴf[ƒ^ƒx[ƒXˆ—‚ªŽÀs‚³‚ê‚Ü‚·B
- ì‹Æ‚ªŠ®—¹‚µ‚½i‚»‚µ‚ÄAƒNƒ‰ƒCƒAƒ“ƒg‚ւ̃ŒƒXƒ|ƒ“ƒX‚ª€”õ‚Å‚«‚½jŽž“_‚ÅA
- session ‚ðƒtƒ‰ƒbƒVƒ…‚µA•Â‚¶‚Ü‚·B
- ƒNƒ‰ƒCƒAƒ“ƒg‚Ì—v‹‚ðˆ—‚·‚邽‚ß‚ÉA‚P‚‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŽg—p‚·‚é‚Å‚µ‚傤B
- Session ‚ðŠJ‚«A•Â‚¶‚éÛ‚ÉA
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚µAƒRƒ~ƒbƒg‚µ‚Ü‚·B
- “ñ‚‚̊֌W‚͈ê‘Έê‚Å‚·B
- ‚±‚̃‚ƒfƒ‹‚Í‘½‚‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉŠ®‘S‚É“K‡‚µ‚Ü‚·B
+ マルãƒãƒ¦ãƒ¼ã‚¶ãƒ¼ã®ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆï¼ã‚µãƒ¼ãƒãƒ¼ã‚¢ãƒ—リケーションã®ä¸ã§ã€
+ 最もよã使ã‚れるパターンã¯ã€session-per-request ã§ã™ã€‚
+ ã“ã®ãƒ¢ãƒ‡ãƒ«ã®ä¸ã§ã¯ã€
+ クライアントã‹ã‚‰ï¼ˆHibernate永続化層ãŒå‹•ä½œã™ã‚‹ï¼‰ã‚µãƒ¼ãƒãƒ¼ã¸ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒé€ã‚‰ã‚Œã€
+ æ–°ã—ã„Hibernate Session ãŒé–‹ã‹ã‚Œã¾ã™ã€‚
+ ãã—ã¦ã€ã“ã®ä½œæ¥å˜ä½ã®ä¸ã§ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å‡¦ç†ãŒå®Ÿè¡Œã•ã‚Œã¾ã™ã€‚
+ 作æ¥ãŒå®Œäº†ã—ãŸï¼ˆãã—ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã¸ã®ãƒ¬ã‚¹ãƒãƒ³ã‚¹ãŒæº–å‚™ã§ããŸï¼‰æ™‚点ã§ã€
+ session をフラッシュã—ã€é–‰ã˜ã¾ã™ã€‚
+ クライアントã®è¦æ±‚を処ç†ã™ã‚‹ãŸã‚ã«ã€ï¼‘ã¤ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’使用ã™ã‚‹ã§ã—ょã†ã€‚
+ Session ã‚’é–‹ãã€é–‰ã˜ã‚‹éš›ã«ã€
+ データベーストランザクションを開始ã—ã€ã‚³ãƒŸãƒƒãƒˆã—ã¾ã™ã€‚
+ 二ã¤ã®é–¢ä¿‚ã¯ä¸€å¯¾ä¸€ã§ã™ã€‚
+ ã“ã®ãƒ¢ãƒ‡ãƒ«ã¯å¤šãã®ã‚¢ãƒ—リケーションã«å®Œå…¨ã«é©åˆã—ã¾ã™ã€‚
- ˆÈ~‚ÌŽÀ‘•‚Ƀ`ƒƒƒŒƒ“ƒW‚µ‚Ä‚‚¾‚³‚¢B
- Session ‚ðŽ‚¿Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð³Šm‚ÉŠJŽn‚µAI‚í‚点‚邾‚¯‚Å‚È‚A
- ƒf[ƒ^ƒAƒNƒZƒX‘€ì‚à“¾‚â‚·‚‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ƒŠƒNƒGƒXƒg‚ªƒT[ƒo[‚Ƀqƒbƒg‚µ‚½Û‚ÆAƒŒƒXƒ|ƒ“ƒX‚ð‘—M‚·‚é‘O‚ÉAŽÀs‚³‚ê‚éinterceptor
- i—Ⴆ‚ÎAServletFilterj‚ðŽg‚Á‚ÄAì‹Æ’PˆÊ‚Ì‹«ŠE‚ðŽÀ‘•‚·‚é‚Ì‚ª—‘z“I‚Å‚·B
- ThreadLocal •Ï”‚ðŽg‚Á‚ÄA
- ƒŠƒNƒGƒXƒg‚ðˆ—‚·‚éƒXƒŒƒbƒh‚É Session ‚ðŒ‹‚Ñ‚Â‚¯‚邱‚Æ‚ð„§‚µ‚Ü‚·B
- ‚±‚ê‚É‚æ‚èAƒXƒŒƒbƒh“à‚ÅŽÀs‚³‚ê‚é‚·‚ׂẴR[ƒh‚ÅA
- istatic•Ï”‚ɃAƒNƒZƒX‚·‚é‚悤‚ÉjŠÈ’P‚É Session ‚ɃAƒNƒZƒX‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
- ‘I‘ð‚µ‚½ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Ì‹@\ŽŸ‘æ‚ÅAThreadLocal
- •Ï”‚Ì’†‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒg‚ð•ÛŽ‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚±‚ÌŽÀ‘•ƒpƒ^[ƒ“‚ÍAThreadLocal Session ‚¨‚æ‚Ñ
- Open Session in View ‚Æ‚¢‚¤–¼‘O‚Å’m‚ç‚ê‚Ä‚¢‚Ü‚·B
- –{ƒhƒLƒ…ƒƒ“ƒg‚Åæ‚ÉŒ©‚¹‚½ HibernateUtil ƒwƒ‹ƒp[ƒNƒ‰ƒX‚ðŠg’£‚·‚邱‚Æ‚ÅA
- ‚±‚̃pƒ^[ƒ“‚ð—eˆÕ‚ÉŽÀ‘•‚Å‚«‚Ü‚·B
- ‚à‚¿‚ë‚ñAinterceptor ‚ðŽÀ‘•‚·‚é•û–@‚ðŒ©‚Â‚¯AŠÂ‹«‚ðƒZƒbƒgƒAƒbƒv‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- Hibernate‚ÌWebƒTƒCƒg‚É‚ ‚étips‚Æ—á‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 以é™ã®å®Ÿè£…ã«ãƒãƒ£ãƒ¬ãƒ³ã‚¸ã—ã¦ãã ã•ã„。
+ Session ã‚’æŒã¡ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’æ£ç¢ºã«é–‹å§‹ã—ã€çµ‚ã‚らã›ã‚‹ã ã‘ã§ãªãã€
+ データアクセスæ“作も得やã™ãã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ リクエストãŒã‚µãƒ¼ãƒãƒ¼ã«ãƒ’ットã—ãŸéš›ã¨ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’é€ä¿¡ã™ã‚‹å‰ã«ã€å®Ÿè¡Œã•ã‚Œã‚‹interceptor
+ (例ãˆã°ã€ServletFilter)を使ã£ã¦ã€ä½œæ¥å˜ä½ã®å¢ƒç•Œã‚’実装ã™ã‚‹ã®ãŒç†æƒ³çš„ã§ã™ã€‚
+ ThreadLocal 変数を使ã£ã¦ã€
+ リクエストを処ç†ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã« Session ã‚’çµã³ã¤ã‘ã‚‹ã“ã¨ã‚’推奨ã—ã¾ã™ã€‚
+ ã“ã‚Œã«ã‚ˆã‚Šã€ã‚¹ãƒ¬ãƒƒãƒ‰å†…ã§å®Ÿè¡Œã•ã‚Œã‚‹ã™ã¹ã¦ã®ã‚³ãƒ¼ãƒ‰ã§ã€
+ (static変数ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã‚ˆã†ã«ï¼‰ç°¡å˜ã« Session ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
+ é¸æŠžã—ãŸãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã®æ©Ÿæ§‹æ¬¡ç¬¬ã§ã€ThreadLocal
+ 変数ã®ä¸ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒ†ã‚ストをä¿æŒã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã“ã®å®Ÿè£…パターンã¯ã€ThreadLocal Session ãŠã‚ˆã³
+ Open Session in View ã¨ã„ã†åå‰ã§çŸ¥ã‚‰ã‚Œã¦ã„ã¾ã™ã€‚
+ 本ドã‚ュメントã§å…ˆã«è¦‹ã›ãŸ HibernateUtil ヘルパークラスを拡張ã™ã‚‹ã“ã¨ã§ã€
+ ã“ã®ãƒ‘ターンを容易ã«å®Ÿè£…ã§ãã¾ã™ã€‚
+ ã‚‚ã¡ã‚ã‚“ã€interceptor を実装ã™ã‚‹æ–¹æ³•ã‚’見ã¤ã‘ã€ç’°å¢ƒã‚’セットアップã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ Hibernateã®Webサイトã«ã‚ã‚‹tipsã¨ä¾‹ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- ˆÈ~‚ÌŽÀ‘•‚Ƀ`ƒƒƒŒƒ“ƒW‚µ‚Ä‚‚¾‚³‚¢B
- Hibernate‚Í’Pƒ‚È‚±‚̃pƒ^[ƒ“‚Ì‚½‚ß‚ÉA—\‚ß‘g‚Ýž‚܂ꂽ
- ucurrent sessionv‚ÌŠÇ—‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- ƒT[ƒo[ƒŠƒNƒGƒXƒg‚ðˆ—‚·‚éۂ̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚»‚µ‚ÄAƒŒƒXƒ|ƒ“ƒX‚ðƒNƒ‰ƒCƒAƒ“ƒg‚É‘—M‚·‚é‘O‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðI‚í‚点‚Ü‚·B
- D‚«‚È•û–@‚ÅŽÀŒ»‚Å‚«‚Ü‚·Bˆê”Ê“I‚ȉðŒˆô‚Í ServletFilter ‚â
- ƒT[ƒrƒXƒƒ\ƒbƒh‚ðƒ|ƒCƒ“ƒgƒJƒbƒg‚µ‚ÄAOPƒCƒ“ƒ^[ƒZƒvƒ^[A
- proxy/interception ƒRƒ“ƒeƒi‚Å‚·B
- EJBƒRƒ“ƒeƒi‚ÍEJBƒZƒbƒVƒ‡ƒ“ƒr[ƒ“‚ðƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ‚µ‚Ä
- ƒAƒXƒyƒNƒg‚ðƒNƒƒXƒJƒbƒg‚·‚éŽÀ‘•‚Ì•W€“I‚È•û–@‚Å‚·iCMT‚É‚æ‚é錾“IjB
- ƒvƒƒOƒ‰ƒ€‚É‚æ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽg‚¤‚ÆŒˆ‚ß‚½ê‡A
- ŠÈ’P‚ÉŽg‚¤‚½‚ßAŒÝŠ·«‚Ì‚ ‚éƒR[ƒh‚É‚·‚邽‚ß‚ÉA
- ‚±‚ÌÍ‚ÌŒã‚Ì‚Ù‚¤‚É‚ ‚éHibernate Transaction API‚Ì‚Ù‚¤‚ª‚æ‚¢‚Å‚·B
+ 以é™ã®å®Ÿè£…ã«ãƒãƒ£ãƒ¬ãƒ³ã‚¸ã—ã¦ãã ã•ã„。
+ Hibernateã¯å˜ç´”ãªã“ã®ãƒ‘ターンã®ãŸã‚ã«ã€äºˆã‚組ã¿è¾¼ã¾ã‚ŒãŸ
+ 「current sessionã€ã®ç®¡ç†ã‚’æä¾›ã—ã¾ã™ã€‚
+ サーãƒãƒ¼ãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’処ç†ã™ã‚‹éš›ã¯ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’開始ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ãã—ã¦ã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’クライアントã«é€ä¿¡ã™ã‚‹å‰ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’終ã‚らã›ã¾ã™ã€‚
+ 好ããªæ–¹æ³•ã§å®Ÿç¾ã§ãã¾ã™ã€‚一般的ãªè§£æ±ºç–㯠ServletFilter ã‚„
+ サービスメソッドをãƒã‚¤ãƒ³ãƒˆã‚«ãƒƒãƒˆã—ã¦AOPインターセプターã€
+ proxy/interception コンテナã§ã™ã€‚
+ EJBコンテナã¯EJBセッションビーンをトランザクション境界ã¨ã—ã¦
+ アスペクトをクãƒã‚¹ã‚«ãƒƒãƒˆã™ã‚‹å®Ÿè£…ã®æ¨™æº–çš„ãªæ–¹æ³•ã§ã™ï¼ˆCMTã«ã‚ˆã‚‹å®£è¨€çš„)。
+ プãƒã‚°ãƒ©ãƒ ã«ã‚ˆã‚‹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’使ã†ã¨æ±ºã‚ãŸå ´åˆã€
+ ç°¡å˜ã«ä½¿ã†ãŸã‚ã€äº’æ›æ€§ã®ã‚るコードã«ã™ã‚‹ãŸã‚ã«ã€
+ ã“ã®ç« ã®å¾Œã®ã»ã†ã«ã‚ã‚‹Hibernate Transaction APIã®ã»ã†ãŒã‚ˆã„ã§ã™ã€‚
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃R[ƒh‚ÍA•K—v‚È‚Æ‚«‚É‚Ç‚±‚Å‚àA‰½‰ñ‚Å‚àA
- ’P‚É sessionFactory.getCurrentSession() ‚ðŒÄ‚Ño‚·‚¾‚¯‚Å
- uŒ»Ý‚̃ZƒbƒVƒ‡ƒ“v‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B
- Œ»Ý‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ö‚Ì ƒZƒbƒVƒ‡ƒ“ ‚ðí‚Ɏ擾‚µ‚Ü‚·B
- ƒŠƒ\[ƒXEƒ[ƒJƒ‹‚Ȋ‹«A‚à‚µ‚‚ÍJTAŠÂ‹«‚ð\¬‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñ
- i ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢jB
+ アプリケーションã®ã‚³ãƒ¼ãƒ‰ã¯ã€å¿…è¦ãªã¨ãã«ã©ã“ã§ã‚‚ã€ä½•å›žã§ã‚‚ã€
+ å˜ã« sessionFactory.getCurrentSession() を呼ã³å‡ºã™ã ã‘ã§
+ 「ç¾åœ¨ã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã€ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚
+ ç¾åœ¨ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¸ã® セッション を常ã«å–å¾—ã—ã¾ã™ã€‚
+ リソース・ãƒãƒ¼ã‚«ãƒ«ãªç’°å¢ƒã€ã‚‚ã—ãã¯JTA環境を構æˆã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“
+ ( ã‚’å‚ç…§ã—ã¦ãã ã•ã„)。
- ‚Æ‚«‚Ç‚«Auƒrƒ…[‚ð•`‰æ‚·‚év‚Ü‚Å ƒZƒbƒVƒ‡ƒ“
- ‚ƃf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃XƒR[ƒv‚ðŠg’£‚·‚é‚Æ•Ö—˜‚È‚±‚Æ‚ª‚ ‚è‚Ü‚·B
- ‚±‚ê‚ÍA—v‹‚̈—‚Æ•`‰æ‚̃tƒF[ƒY‚𕪂¯‚Ä‚¢‚é
- ƒT[ƒuƒŒƒbƒgƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚¨‚¢‚Ä“Á‚ɖ𗧂¿‚Ü‚·B
- “ÆŽ©‚̃Cƒ“ƒ^[ƒZƒvƒ^‚ðŽÀ‘•‚·‚ê‚ÎA
- ƒrƒ…[‚ð•`‰æ‚·‚é‚܂Ńf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠg’£‚·‚é‚Ì‚ÍŠÈ’P‚Å‚·B
- ‚µ‚©‚µAƒRƒ“ƒeƒiŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌEJB‚É—Š‚éꇂÍAŠÈ’P‚É‚Í‚Å‚«‚Ü‚¹‚ñB
- ‚È‚º‚È‚çAƒrƒ…[‚Ì•`‰æ‚ðŠJŽn‚·‚é‘O‚ÉAEJB‚̃ƒ\ƒbƒh‚ªƒŠƒ^[ƒ“‚µ‚½Û‚ÉA
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠ®—¹‚·‚邽‚ß‚Å‚·B
- ‚±‚Ì Open Session in View ƒpƒ^[ƒ“‚ÉŠÖ˜A‚·‚éƒqƒ“ƒg‚Æ—á‚ɂ‚¢‚Ä‚ÍA
- Hibernate‚ÌWebƒTƒCƒg‚âƒtƒH[ƒ‰ƒ€‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ ã¨ãã©ãã€ã€Œãƒ“ューをæç”»ã™ã‚‹ã€ã¾ã§ セッション
+ ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚¹ã‚³ãƒ¼ãƒ—ã‚’æ‹¡å¼µã™ã‚‹ã¨ä¾¿åˆ©ãªã“ã¨ãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¯ã€è¦æ±‚ã®å‡¦ç†ã¨æç”»ã®ãƒ•ã‚§ãƒ¼ã‚ºã‚’分ã‘ã¦ã„ã‚‹
+ サーブレットアプリケーションã«ãŠã„ã¦ç‰¹ã«å½¹ç«‹ã¡ã¾ã™ã€‚
+ 独自ã®ã‚¤ãƒ³ã‚¿ãƒ¼ã‚»ãƒ—タを実装ã™ã‚Œã°ã€
+ ビューをæç”»ã™ã‚‹ã¾ã§ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’æ‹¡å¼µã™ã‚‹ã®ã¯ç°¡å˜ã§ã™ã€‚
+ ã—ã‹ã—ã€ã‚³ãƒ³ãƒ†ãƒŠç®¡ç†ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®EJBã«é ¼ã‚‹å ´åˆã¯ã€ç°¡å˜ã«ã¯ã§ãã¾ã›ã‚“。
+ ãªãœãªã‚‰ã€ãƒ“ューã®æ画を開始ã™ã‚‹å‰ã«ã€EJBã®ãƒ¡ã‚½ãƒƒãƒ‰ãŒãƒªã‚¿ãƒ¼ãƒ³ã—ãŸéš›ã«ã€
+ トランザクションãŒå®Œäº†ã™ã‚‹ãŸã‚ã§ã™ã€‚
+ ã“ã® Open Session in View パターンã«é–¢é€£ã™ã‚‹ãƒ’ントã¨ä¾‹ã«ã¤ã„ã¦ã¯ã€
+ Hibernateã®Webサイトやフォーラムをå‚ç…§ã—ã¦ãã ã•ã„。
- ’·‚¢‘Θb
+ é•·ã„対話
- session-per-requestƒpƒ^[ƒ“‚ÍAì‹Æ’PˆÊ‚ðÝŒv‚·‚éۂɖ𗧂Âl‚¦‚Æ‚¢‚¤‚¾‚¯‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ‘½‚‚̃rƒWƒlƒXƒvƒƒZƒX‚ÍAƒ†[ƒU[‚Ƃ̈ê˜A‚Ì‘ŠŒÝì—p‘S‘Ì‚ð—v‹‚µ‚Ü‚·B
- ‚»‚Ì‘ŠŒÝì—p‚É‚ÍAƒf[ƒ^ƒx[ƒXƒAƒNƒZƒX‚ªŠÜ‚Ü‚ê‚Ü‚·B
+ session-per-requestパターンã¯ã€ä½œæ¥å˜ä½ã‚’è¨è¨ˆã™ã‚‹éš›ã«å½¹ç«‹ã¤è€ƒãˆã¨ã„ã†ã ã‘ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 多ãã®ãƒ“ジãƒã‚¹ãƒ—ãƒã‚»ã‚¹ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¨ã®ä¸€é€£ã®ç›¸äº’作用全体をè¦æ±‚ã—ã¾ã™ã€‚
+ ãã®ç›¸äº’作用ã«ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¢ã‚¯ã‚»ã‚¹ãŒå«ã¾ã‚Œã¾ã™ã€‚
- Web‚ƃGƒ“ƒ^[ƒvƒ‰ƒCƒYƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª
- ƒ†[ƒU‚Æ‚Ì‘ŠŒÝì—p‚É‚Ü‚Å“n‚邱‚Æ‚Í‹–‚³‚ê‚Ü‚¹‚ñB
+ Webã¨ã‚¨ãƒ³ã‚¿ãƒ¼ãƒ—ライズアプリケーションã§ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒ
+ ユーザã¨ã®ç›¸äº’作用ã«ã¾ã§æ¸¡ã‚‹ã“ã¨ã¯è¨±ã•ã‚Œã¾ã›ã‚“。
- ŽŸ‚Ì—á‚ð‚æ‚l‚¦‚Ä‚Ý‚Ä‚‚¾‚³‚¢B
+ 次ã®ä¾‹ã‚’よã考ãˆã¦ã¿ã¦ãã ã•ã„。
- ƒ_ƒCƒAƒƒO‚Ìʼn‚̉æ–Ê‚ªŠJ‚«AŒÂX‚Ì Session
- ‚ƃf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚Ń[ƒh‚³‚ꂽƒf[ƒ^‚ðƒ†[ƒU[‚ÉŒ©‚¹‚Ü‚·B
- ƒ†[ƒU[‚̓IƒuƒWƒFƒNƒg‚ðŽ©—R‚ÉC³‚Å‚«‚Ü‚·B
+ ダイアãƒã‚°ã®æœ€åˆã®ç”»é¢ãŒé–‹ãã€å€‹ã€…ã® Session
+ ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ä¸ã§ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸãƒ‡ãƒ¼ã‚¿ã‚’ユーザーã«è¦‹ã›ã¾ã™ã€‚
+ ユーザーã¯ã‚ªãƒ–ジェクトを自由ã«ä¿®æ£ã§ãã¾ã™ã€‚
- 5•ªŒã‚Ƀ†[ƒU[‚ÍuSavev‚ðƒNƒŠƒbƒN‚µAC³‚ª‰i‘±‰»‚³‚ê‚é‚Ì‚ðŠú‘Ò‚µ‚Ü‚·B
- ‚Ü‚½A‚±‚Ìî•ñ‚ð•ÒW‚µ‚½‚Ì‚ÍŽ©•ª‚Pl‚¾‚¯‚ÅA
- C³‚̃Rƒ“ƒtƒŠƒNƒg‚Í”¶‚µ‚È‚¢‚ÆŠú‘Ò‚µ‚Ü‚·B
+ 5分後ã«ãƒ¦ãƒ¼ã‚¶ãƒ¼ã¯ã€ŒSaveã€ã‚’クリックã—ã€ä¿®æ£ãŒæ°¸ç¶šåŒ–ã•ã‚Œã‚‹ã®ã‚’期待ã—ã¾ã™ã€‚
+ ã¾ãŸã€ã“ã®æƒ…å ±ã‚’ç·¨é›†ã—ãŸã®ã¯è‡ªåˆ†ï¼‘人ã ã‘ã§ã€
+ ä¿®æ£ã®ã‚³ãƒ³ãƒ•ãƒªã‚¯ãƒˆã¯ç™ºç”Ÿã—ãªã„ã¨æœŸå¾…ã—ã¾ã™ã€‚
- ‚±‚Ìì‹Æ’PˆÊ‚ðiƒ†[ƒU[‚ÌŽ‹“_‚Åj’·Šú‚Ì ‘Θb
- i‚à‚µ‚‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ j‚ƌĂт܂·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚±‚ê‚ðŽÀ‘•‚·‚é•û–@‚Í‚½‚‚³‚ñ‚ ‚è‚Ü‚·B
+ ã“ã®ä½œæ¥å˜ä½ã‚’(ユーザーã®è¦–点ã§ï¼‰é•·æœŸã® 対話
+ (もã—ãã¯ã€ã‚¢ãƒ—リケーショントランザクション )ã¨å‘¼ã³ã¾ã™ã€‚
+ アプリケーションã«ã“れを実装ã™ã‚‹æ–¹æ³•ã¯ãŸãã•ã‚“ã‚ã‚Šã¾ã™ã€‚
- ʼn‚ÉŽv‚¢‚‚ŽÀ‘•‚ÍAƒ†[ƒU[‚ªl‚¦‚Ä‚¢‚éŠÔASession
- ‚ƃf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚µ‚Ä‚¨‚‚±‚Æ‚Å‚·B
- “¯Žž‚ÉC³‚³‚ꂸA•ª—£‚ÆŒ´Žq«‚ª•ÛØ‚³‚ê‚é‚悤‚ÉA
- ƒf[ƒ^ƒx[ƒX“à‚̃ƒbƒN‚Í•ÛŽ‚µ‚½‚Ü‚Ü‚É‚µ‚Ü‚·B
- ‚à‚¿‚ë‚ñA‚±‚ê‚̓Aƒ“ƒ`ƒpƒ^[ƒ“‚Å‚·B
- ‚È‚º‚È‚çAƒƒbƒN‚Ì‹£‡‚ª”¶‚·‚é‚ÆA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“¯Žžƒ†[ƒU[”‚ɉž‚¶‚ăXƒP[ƒ‹ƒAƒbƒv‚Å‚«‚È‚‚È‚é‚©‚ç‚Å‚·B
+ 最åˆã«æ€ã„ã¤ã実装ã¯ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒè€ƒãˆã¦ã„ã‚‹é–“ã€Session
+ ã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’é–‹ã„ãŸã¾ã¾ã«ã—ã¦ãŠãã“ã¨ã§ã™ã€‚
+ åŒæ™‚ã«ä¿®æ£ã•ã‚Œãšã€åˆ†é›¢ã¨åŽŸå性ãŒä¿è¨¼ã•ã‚Œã‚‹ã‚ˆã†ã«ã€
+ データベース内ã®ãƒãƒƒã‚¯ã¯ä¿æŒã—ãŸã¾ã¾ã«ã—ã¾ã™ã€‚
+ ã‚‚ã¡ã‚ã‚“ã€ã“ã‚Œã¯ã‚¢ãƒ³ãƒãƒ‘ターンã§ã™ã€‚
+ ãªãœãªã‚‰ã€ãƒãƒƒã‚¯ã®ç«¶åˆãŒç™ºç”Ÿã™ã‚‹ã¨ã€
+ アプリケーションãŒåŒæ™‚ユーザー数ã«å¿œã˜ã¦ã‚¹ã‚±ãƒ¼ãƒ«ã‚¢ãƒƒãƒ—ã§ããªããªã‚‹ã‹ã‚‰ã§ã™ã€‚
- –¾‚ç‚©‚ÉA‘Θb‚ðŽÀ‘•‚·‚邽‚ß‚É‚ÍA
- ‚¢‚‚‚©‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŽg—p‚·‚é‚ׂ«‚Å‚·B
- ‚±‚Ìê‡AƒrƒWƒlƒXƒvƒƒZƒX‚Ì•ª—£‚ðˆÛŽ‚·‚邱‚Æ‚ÍA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‘w‚ÌÓ–±‚Ì‚P‚‚ɂȂè‚Ü‚·B
- ‚P‚‚̑Θb‚ÍA
- ’Êí‚¢‚‚‚©‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‹y‚Ñ‚Ü‚·B
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚P‚‚̂ÝiÅŒã‚Ì‚P‚Âj‚ªXV‚µ‚½ƒf[ƒ^‚ð•Û‘¶‚µA
- ‘¼‚̓f[ƒ^‚ð“Ç‚Þ‚¾‚¯‚Å‚ ‚ê‚ÎA‚»‚ê‚̓Aƒgƒ~ƒbƒN‚Å‚·
- i—Ⴆ‚ÎA‚¢‚‚‚©‚Ì—v‹^‰ž“š‚ðŒJ‚è•Ô‚·ƒEƒBƒU[ƒhŒ`Ž®‚̃_ƒCƒAƒƒOjB
- ‚±‚ê‚Í•·‚‚æ‚èAŽÀ‘•‚µ‚½‚Ù‚¤‚ªŠÈ’P‚Å‚·B
- Hibernate‚Ì‹@”\‚ðŽg‚¤‚Ì‚Å‚ ‚ê‚ÎA“Á‚ÉŠÈ’P‚Å‚·B
+ 明らã‹ã«ã€å¯¾è©±ã‚’実装ã™ã‚‹ãŸã‚ã«ã¯ã€
+ ã„ãã¤ã‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’使用ã™ã‚‹ã¹ãã§ã™ã€‚
+ ã“ã®å ´åˆã€ãƒ“ジãƒã‚¹ãƒ—ãƒã‚»ã‚¹ã®åˆ†é›¢ã‚’ç¶æŒã™ã‚‹ã“ã¨ã¯ã€
+ アプリケーション層ã®è²¬å‹™ã®ï¼‘ã¤ã«ãªã‚Šã¾ã™ã€‚
+ 1ã¤ã®å¯¾è©±ã¯ã€
+ 通常ã„ãã¤ã‹ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«åŠã³ã¾ã™ã€‚
+ データベーストランザクションã®ï¼‘ã¤ã®ã¿ï¼ˆæœ€å¾Œã®ï¼‘ã¤ï¼‰ãŒæ›´æ–°ã—ãŸãƒ‡ãƒ¼ã‚¿ã‚’ä¿å˜ã—ã€
+ ä»–ã¯ãƒ‡ãƒ¼ã‚¿ã‚’èªã‚€ã ã‘ã§ã‚ã‚Œã°ã€ãã‚Œã¯ã‚¢ãƒˆãƒŸãƒƒã‚¯ã§ã™
+ (例ãˆã°ã€ã„ãã¤ã‹ã®è¦æ±‚ï¼å¿œç”ã‚’ç¹°ã‚Šè¿”ã™ã‚¦ã‚£ã‚¶ãƒ¼ãƒ‰å½¢å¼ã®ãƒ€ã‚¤ã‚¢ãƒã‚°ï¼‰ã€‚
+ ã“ã‚Œã¯èžãよりã€å®Ÿè£…ã—ãŸã»ã†ãŒç°¡å˜ã§ã™ã€‚
+ Hibernateã®æ©Ÿèƒ½ã‚’使ã†ã®ã§ã‚ã‚Œã°ã€ç‰¹ã«ç°¡å˜ã§ã™ã€‚
- Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO
- - Hibernate‚ÍŽ©“®“I‚ÉŠyŠÏ“I“¯ŽžŽÀs§Œä‚ª‚Å‚«‚Ü‚·B
- ƒ†[ƒU[‚ªl‚¦‚Ä‚¢‚éŠÔ‚É“¯Žž‚ÉC³‚ª‚¨‚«‚½ê‡AŽ©“®“I‚ÉŒŸo‚Å‚«‚Ü‚·B
- ’ÊíA‘Θb‚ÌI—¹Žž‚Ƀ`ƒFƒbƒN‚·‚邾‚¯‚Å‚·B
+ 自動ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°
+ - Hibernateã¯è‡ªå‹•çš„ã«æ¥½è¦³çš„åŒæ™‚実行制御ãŒã§ãã¾ã™ã€‚
+ ユーザーãŒè€ƒãˆã¦ã„ã‚‹é–“ã«åŒæ™‚ã«ä¿®æ£ãŒãŠããŸå ´åˆã€è‡ªå‹•çš„ã«æ¤œå‡ºã§ãã¾ã™ã€‚
+ 通常ã€å¯¾è©±ã®çµ‚了時ã«ãƒã‚§ãƒƒã‚¯ã™ã‚‹ã ã‘ã§ã™ã€‚
- •ª—£iDetachedjƒIƒuƒWƒFƒNƒg - ‚·‚Å‚É‹c˜_‚µ‚½
- session-per-request ƒpƒ^[ƒ“‚ðŽg‚¤‚ÆŒˆ’肵‚½ê‡A
- ƒ[ƒh‚³‚ꂽ‚·‚ׂẴCƒ“ƒXƒ^ƒ“ƒX‚ÍAƒ†[ƒU‚ªl‚¦‚Ä‚¢‚éŠÔ‚ÍA
- ƒZƒbƒVƒ‡ƒ“‚©‚番—£‚³‚ꂽó‘Ô‚É‚È‚è‚Ü‚·B
- ƒIƒuƒWƒFƒNƒg‚ðƒZƒbƒVƒ‡ƒ“‚ÉĒljÁ‚µAC³‚ð‰i‘±‰»‚Å‚«‚Ü‚·B
- ‚±‚ê‚ð session-per-request-with-detached-objects
- ƒpƒ^[ƒ“‚ƌĂт܂·B
- Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚ðŽg‚¤‚±‚Æ‚ÅA“¯Žž‚És‚í‚ê‚éC³‚𕪗£‚Å‚«‚Ü‚·B
+ 分離(Detached)オブジェクト - ã™ã§ã«è°è«–ã—ãŸ
+ session-per-request パターンを使ã†ã¨æ±ºå®šã—ãŸå ´åˆã€
+ ãƒãƒ¼ãƒ‰ã•ã‚ŒãŸã™ã¹ã¦ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€ãƒ¦ãƒ¼ã‚¶ãŒè€ƒãˆã¦ã„ã‚‹é–“ã¯ã€
+ セッションã‹ã‚‰åˆ†é›¢ã•ã‚ŒãŸçŠ¶æ…‹ã«ãªã‚Šã¾ã™ã€‚
+ オブジェクトをセッションã«å†è¿½åŠ ã—ã€ä¿®æ£ã‚’永続化ã§ãã¾ã™ã€‚
+ ã“れを session-per-request-with-detached-objects
+ パターンã¨å‘¼ã³ã¾ã™ã€‚
+ 自動ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã‚’使ã†ã“ã¨ã§ã€åŒæ™‚ã«è¡Œã‚れる修æ£ã‚’分離ã§ãã¾ã™ã€‚
- Šg’£i‚à‚µ‚‚ÍA’·‚¢jƒZƒbƒVƒ‡ƒ“
- - Hibernate‚Ì Session ‚ÍA
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒRƒ~ƒbƒg‚µ‚½ŒãA
- — ‚ÅŒ‹‚т‚¢‚Ä‚¢‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðØ’f‚Å‚«‚Ü‚·B
- ‚»‚µ‚ÄAƒNƒ‰ƒCƒAƒ“ƒg‚©‚ç‚ÌV‚µ‚¢—v‹‚ª”¶‚µ‚½Û‚ÉAÄÚ‘±‚Å‚«‚Ü‚·B
- ‚±‚̃pƒ^[ƒ“‚ÍAsession-per-conversation
- ‚Æ‚¢‚¤–¼‚Å’m‚ç‚ê‚Ä‚¨‚èAƒIƒuƒWƒFƒNƒg‚ðƒZƒbƒVƒ‡ƒ“‚ÖĒljÁ‚·‚邱‚Æ‚³‚¦•s—v‚É‚µ‚Ü‚·B
- Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚ðŽg‚¤‚±‚Æ‚ÅA“¯Žž‚És‚í‚ê‚éC³‚𕪗£‚Å‚«‚Ü‚·B
+ 拡張(もã—ãã¯ã€é•·ã„)セッション
+ - Hibernateã® Session ã¯ã€
+ データベーストランザクションをコミットã—ãŸå¾Œã€
+ è£ã§çµã³ã¤ã„ã¦ã„ã‚‹JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’切æ–ã§ãã¾ã™ã€‚
+ ãã—ã¦ã€ã‚¯ãƒ©ã‚¤ã‚¢ãƒ³ãƒˆã‹ã‚‰ã®æ–°ã—ã„è¦æ±‚ãŒç™ºç”Ÿã—ãŸéš›ã«ã€å†æŽ¥ç¶šã§ãã¾ã™ã€‚
+ ã“ã®ãƒ‘ターンã¯ã€session-per-conversation
+ ã¨ã„ã†åã§çŸ¥ã‚‰ã‚Œã¦ãŠã‚Šã€ã‚ªãƒ–ジェクトをセッションã¸å†è¿½åŠ ã™ã‚‹ã“ã¨ã•ãˆä¸è¦ã«ã—ã¾ã™ã€‚
+ 自動ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã‚’使ã†ã“ã¨ã§ã€åŒæ™‚ã«è¡Œã‚れる修æ£ã‚’分離ã§ãã¾ã™ã€‚
- ’Êí Session ‚ðŽ©“®“I‚Ƀtƒ‰ƒbƒVƒ…‚³‚¹‚¸A
- –¾Ž¦“I‚Ƀtƒ‰ƒbƒVƒ…‚µ‚Ü‚·B
+ 通常 Session を自動的ã«ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã•ã›ãšã€
+ 明示的ã«ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã—ã¾ã™ã€‚
- session-per-request-with-detached-objects ‚Æ
- session-per-conversation ‚Ì‚Q‚‚ÍA
- —˜“_‚ÆŒ‡“_‚ðŽ‚Á‚Ä‚¢‚Ü‚·B
- ‚±‚ê‚ɂ‚¢‚Ä‚ÍA‚±‚ÌÍ‚ÌŒã‚Ì‚Ù‚¤‚ÅAŠyŠÏ“I“¯ŽžŽÀs§Œä‚Ì•¶–¬‚Ì’†‚Å‹c˜_‚µ‚Ü‚·B
+ session-per-request-with-detached-objects ã¨
+ session-per-conversation ã®ï¼’ã¤ã¯ã€
+ 利点ã¨æ¬ 点をæŒã£ã¦ã„ã¾ã™ã€‚
+ ã“ã‚Œã«ã¤ã„ã¦ã¯ã€ã“ã®ç« ã®å¾Œã®ã»ã†ã§ã€æ¥½è¦³çš„åŒæ™‚実行制御ã®æ–‡è„ˆã®ä¸ã§è°è«–ã—ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒgŽ¯•ÊŽq‚ðl‚¦‚é
+ オブジェクトè˜åˆ¥åを考ãˆã‚‹
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍA‚Q‚‚̈قȂé Session ‚©‚ç
- “¯‚¶‰i‘±ó‘Ô‚É“¯Žž‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B
- ‚µ‚©‚µA‚Q‚Â‚Ì Session ƒCƒ“ƒXƒ^ƒ“ƒX‚ª
- ‰i‘±«ƒNƒ‰ƒX‚Ì‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
- ‚䂦‚ÉAŽ¯•ÊŽq‚É‚Í‚Q‚‚̈قȂéŠT”O‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚É‚È‚è‚Ü‚·B
+ アプリケーションã¯ã€ï¼’ã¤ã®ç•°ãªã‚‹ Session ã‹ã‚‰
+ åŒã˜æ°¸ç¶šçŠ¶æ…‹ã«åŒæ™‚ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚
+ ã—ã‹ã—ã€ï¼’ã¤ã® Session インスタンスãŒ
+ 永続性クラスã®ï¼‘ã¤ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’共有ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+ ゆãˆã«ã€è˜åˆ¥åã«ã¯ï¼’ã¤ã®ç•°ãªã‚‹æ¦‚念ãŒã‚ã‚‹ã¨ã„ã†ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
- ƒf[ƒ^ƒx[ƒXŽ¯•ÊŽq
+ データベースè˜åˆ¥å
foo.getId().equals( bar.getId() )
@@ -301,7 +303,7 @@
- JVMŽ¯•ÊŽq
+ JVMè˜åˆ¥å
foo==bar
@@ -311,105 +313,105 @@
- ŒÂX‚Ì Session ‚ɒljÁ‚³‚ꂽƒIƒuƒWƒFƒNƒg‚É‚Æ‚Á‚Ä
- i‚·‚È‚í‚¿A‚P‚Â‚Ì Session ‚̃XƒR[ƒv‚Ì’†‚Å‚ÍjA‚Q‚‚̊T”O‚Í“¯‚¶‚Å‚·B
- ƒf[ƒ^ƒx[ƒX“¯ˆê«‚ÆJVM“¯ˆê«‚ªˆê’v‚·‚邱‚Æ‚ðAHibernate‚ª•ÛØ‚µ‚Ü‚·B
- ‚µ‚©‚µAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª‚Q‚‚̈قȂéƒZƒbƒVƒ‡ƒ“‚©‚ç
- u“¯‚¶vi‰i‘±«Ž¯•ÊŽq‚ÌjƒrƒWƒlƒXƒIƒuƒWƒFƒNƒg‚É“¯Žž‚ɃAƒNƒZƒX‚·‚éŒÀ‚èA
- ‚Q‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ÍŽÀÛ‚ÉiJVMŽ¯•ÊŽq‚ªjuˆÙ‚È‚èv‚Ü‚·B
- ŠyŠÏ“IƒAƒvƒ[ƒ`‚É‚æ‚Á‚ÄAiŽ©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚Ìjƒtƒ‰ƒbƒVƒ…^ƒRƒ~ƒbƒgŽž‚É
- ƒRƒ“ƒtƒŠƒNƒg‚ª‰ðŒˆ‚³‚ê‚Ü‚·B
+ 個々㮠Session ã«è¿½åŠ ã•ã‚ŒãŸã‚ªãƒ–ジェクトã«ã¨ã£ã¦
+ (ã™ãªã‚ã¡ã€ï¼‘ã¤ã® Session ã®ã‚¹ã‚³ãƒ¼ãƒ—ã®ä¸ã§ã¯ï¼‰ã€ï¼’ã¤ã®æ¦‚念ã¯åŒã˜ã§ã™ã€‚
+ データベースåŒä¸€æ€§ã¨JVMåŒä¸€æ€§ãŒä¸€è‡´ã™ã‚‹ã“ã¨ã‚’ã€HibernateãŒä¿è¨¼ã—ã¾ã™ã€‚
+ ã—ã‹ã—ã€ã‚¢ãƒ—リケーションãŒï¼’ã¤ã®ç•°ãªã‚‹ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‹ã‚‰
+ 「åŒã˜ã€ï¼ˆæ°¸ç¶šæ€§è˜åˆ¥åã®ï¼‰ãƒ“ジãƒã‚¹ã‚ªãƒ–ジェクトã«åŒæ™‚ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹é™ã‚Šã€
+ ï¼’ã¤ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯å®Ÿéš›ã«ï¼ˆJVMè˜åˆ¥åãŒï¼‰ã€Œç•°ãªã‚Šã€ã¾ã™ã€‚
+ 楽観的アプãƒãƒ¼ãƒã«ã‚ˆã£ã¦ã€ï¼ˆè‡ªå‹•ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã®ï¼‰ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ï¼ã‚³ãƒŸãƒƒãƒˆæ™‚ã«
+ コンフリクトãŒè§£æ±ºã•ã‚Œã¾ã™ã€‚
- ‚±‚̃Aƒvƒ[ƒ`‚Å‚ÍAHibernate‚ƃf[ƒ^ƒx[ƒX‚É“¯ŽžŽÀs‚ɂ‚¢‚Ä‚ÌS”z‚ªŽc‚è‚Ü‚·B
- ˆê•û‚ÅAÅ‚‚̃XƒP[ƒ‰ƒrƒŠƒeƒB‚ª’ñ‹Ÿ‚³‚ê‚Ü‚·B
- ‚È‚º‚È‚çA‚PƒXƒŒƒbƒh‚Ìì‹Æ’PˆÊ‚Ì’†‚ňêˆÓ«‚ª•ÛØ‚³‚ê‚ê‚ÎA
- ‚‰¿‚ȃƒbƒN‚⓯Šú‰»‚ª•s—v‚ɂȂ邽‚ß‚Å‚·B
- Session ‚²‚Æ‚É‚P‚‚̃XƒŒƒbƒh‚ð“\‚è•t‚¯‚éŒÀ‚èA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓rƒWƒlƒXƒIƒuƒWƒFƒNƒg‚ðsynchronize‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
- Session “à‚Å‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̓IƒuƒWƒFƒNƒg‚ð”äŠr‚·‚邽‚ß‚ÉA
- == ‚ðˆÀ‘S‚ÉŽg—p‚Å‚«‚Ü‚·B
+ ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã§ã¯ã€Hibernateã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«åŒæ™‚実行ã«ã¤ã„ã¦ã®å¿ƒé…ãŒæ®‹ã‚Šã¾ã™ã€‚
+ 一方ã§ã€æœ€é«˜ã®ã‚¹ã‚±ãƒ¼ãƒ©ãƒ“リティãŒæä¾›ã•ã‚Œã¾ã™ã€‚
+ ãªãœãªã‚‰ã€ï¼‘スレッドã®ä½œæ¥å˜ä½ã®ä¸ã§ä¸€æ„性ãŒä¿è¨¼ã•ã‚Œã‚Œã°ã€
+ 高価ãªãƒãƒƒã‚¯ã‚„åŒæœŸåŒ–ãŒä¸è¦ã«ãªã‚‹ãŸã‚ã§ã™ã€‚
+ Session ã”ã¨ã«ï¼‘ã¤ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã‚’貼り付ã‘ã‚‹é™ã‚Šã€
+ アプリケーションã¯ãƒ“ジãƒã‚¹ã‚ªãƒ–ジェクトをsynchronizeã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
+ Session 内ã§ã¯ã€ã‚¢ãƒ—リケーションã¯ã‚ªãƒ–ジェクトを比較ã™ã‚‹ãŸã‚ã«ã€
+ == を安全ã«ä½¿ç”¨ã§ãã¾ã™ã€‚
- ‚¯‚ê‚Ç‚àASession ‚ÌŠO‚Å ==
- ‚ðŽg‚¤ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍA—\Šú‚µ‚È‚¢Œ‹‰Ê‚É‘˜‹ö‚µ‚Ü‚·B
- ‚±‚ê‚Í—\Šú‚µ‚È‚¢êŠ‚Å‹N‚±‚肦‚Ü‚·B
- —Ⴆ‚ÎA‚Q‚‚̕ª—£ƒCƒ“ƒXƒ^ƒ“ƒX‚𓯂¶ Set ‚É
- put‚µ‚½‚Æ‚«‚È‚Ç‚Å‚·B
- —¼•û‚Æ‚à“¯‚¶ƒf[ƒ^ƒx[ƒXŽ¯•ÊŽq‚ðŽ‚¿‚Ü‚·i‚·‚È‚í‚¿A“¯‚¶s‚ð•\‚µ‚Ü‚·jB
- ‚µ‚©‚µA•ª—£ó‘Ԃ̃Cƒ“ƒXƒ^ƒ“ƒX‚ÌJVMŽ¯•ÊŽq‚Í“–‘R•ÛØ‚³‚ê‚Ü‚¹‚ñB
- ŠJ”ŽÒ‚ÍA‰i‘±«ƒNƒ‰ƒX‚Ì equals() ‚Æ hashCode()
- ƒƒ\ƒbƒh‚ðƒI[ƒo[ƒ‰ƒCƒh‚µAƒIƒuƒWƒFƒNƒg“™‰¿«‚ÌŠT”O‚ðŽÀ‘•‚·‚ׂ«‚Å‚·B
- Œx‚ª‚P‚‚ ‚è‚Ü‚·B“™‰¿«‚ÌŽÀ‘•‚Ƀf[ƒ^ƒx[ƒXŽ¯•ÊŽq‚ðŽg‚í‚È‚¢‚Å‚‚¾‚³‚¢B
- ƒ†ƒj[ƒN‚Èi•’Ê‚Í•s•Ï‚Ìj‘®«‚Ì‘g‚݇‚킹‚Å‚ ‚éƒrƒWƒlƒXƒL[‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
- ‚à‚µAˆêŽžƒIƒuƒWƒFƒNƒg‚ª‰i‘±‰»‚³‚ꂽê‡Aƒf[ƒ^ƒx[ƒXŽ¯•ÊŽq‚ª•Ï‚í‚è‚Ü‚·B
- ˆêŽžƒIƒuƒWƒFƒNƒg‚ði’Ê핪—£ƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‹¤‚Éj Set
- ‚É•ÛŽ‚·‚éê‡AƒnƒbƒVƒ…ƒR[ƒh‚ª•Ï‚í‚é‚Æ‚¢‚¤‚±‚Æ‚ÍASet
- ‚ÌŒ_–ñ‚ð”j‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ƒrƒWƒlƒXƒL[‚Ì‚½‚ß‚Ì‘®«‚ÍAƒf[ƒ^ƒx[ƒX‚ÌŽåƒL[‚قLjÀ’è‚·‚ׂ«‚Å‚Í‚È‚¢‚Å‚·B
- ƒIƒuƒWƒFƒNƒg‚ª“¯‚¶ Set ‚Ì’†‚É‚¢‚éŠÔ‚¾‚¯AˆÀ’è‚ð•ÛØ‚·‚ׂ«‚Å‚·B
- ‚±‚Ì–â‘è‚Ì‚æ‚è“O’ê“I‚È‹c˜_‚ÍAHibernate‚ÌWebƒTƒCƒg‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
- ‚Ü‚½A‚±‚ê‚ÍHibernate‚Ì–â‘è‚Å‚Í‚È‚A’P‚ÉJavaƒIƒuƒWƒFƒNƒg‚ÌŽ¯•ÊŽq‚â“™‰¿«‚ð
- ‚ǂ̂悤‚ÉŽÀ‘•‚·‚ׂ«‚©‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+ ã‘ã‚Œã©ã‚‚ã€Session ã®å¤–㧠==
+ を使ã†ã‚¢ãƒ—リケーションã¯ã€äºˆæœŸã—ãªã„çµæžœã«éé‡ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯äºˆæœŸã—ãªã„å ´æ‰€ã§èµ·ã“ã‚Šãˆã¾ã™ã€‚
+ 例ãˆã°ã€ï¼’ã¤ã®åˆ†é›¢ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’åŒã˜ Set ã«
+ putã—ãŸã¨ããªã©ã§ã™ã€‚
+ 両方ã¨ã‚‚åŒã˜ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹è˜åˆ¥åã‚’æŒã¡ã¾ã™ï¼ˆã™ãªã‚ã¡ã€åŒã˜è¡Œã‚’表ã—ã¾ã™ï¼‰ã€‚
+ ã—ã‹ã—ã€åˆ†é›¢çŠ¶æ…‹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®JVMè˜åˆ¥åã¯å½“然ä¿è¨¼ã•ã‚Œã¾ã›ã‚“。
+ 開発者ã¯ã€æ°¸ç¶šæ€§ã‚¯ãƒ©ã‚¹ã® equals() 㨠hashCode()
+ メソッドをオーãƒãƒ¼ãƒ©ã‚¤ãƒ‰ã—ã€ã‚ªãƒ–ジェクトç‰ä¾¡æ€§ã®æ¦‚念を実装ã™ã¹ãã§ã™ã€‚
+ è¦å‘ŠãŒï¼‘ã¤ã‚ã‚Šã¾ã™ã€‚ç‰ä¾¡æ€§ã®å®Ÿè£…ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹è˜åˆ¥åを使ã‚ãªã„ã§ãã ã•ã„。
+ ユニークãªï¼ˆæ™®é€šã¯ä¸å¤‰ã®ï¼‰å±žæ€§ã®çµ„ã¿åˆã‚ã›ã§ã‚るビジãƒã‚¹ã‚ーを使ã£ã¦ãã ã•ã„。
+ ã‚‚ã—ã€ä¸€æ™‚オブジェクトãŒæ°¸ç¶šåŒ–ã•ã‚ŒãŸå ´åˆã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹è˜åˆ¥åãŒå¤‰ã‚ã‚Šã¾ã™ã€‚
+ 一時オブジェクトを(通常分離インスタンスã¨å…±ã«ï¼‰ Set
+ ã«ä¿æŒã™ã‚‹å ´åˆã€ãƒãƒƒã‚·ãƒ¥ã‚³ãƒ¼ãƒ‰ãŒå¤‰ã‚ã‚‹ã¨ã„ã†ã“ã¨ã¯ã€Set
+ ã®å¥‘ç´„ã‚’ç ´ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ ビジãƒã‚¹ã‚ーã®ãŸã‚ã®å±žæ€§ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ä¸»ã‚ーã»ã©å®‰å®šã™ã¹ãã§ã¯ãªã„ã§ã™ã€‚
+ オブジェクトãŒåŒã˜ Set ã®ä¸ã«ã„ã‚‹é–“ã ã‘ã€å®‰å®šã‚’ä¿è¨¼ã™ã¹ãã§ã™ã€‚
+ ã“ã®å•é¡Œã®ã‚ˆã‚Šå¾¹åº•çš„ãªè°è«–ã¯ã€Hibernateã®Webサイトをå‚ç…§ã—ã¦ãã ã•ã„。
+ ã¾ãŸã€ã“ã‚Œã¯Hibernateã®å•é¡Œã§ã¯ãªãã€å˜ã«Javaオブジェクトã®è˜åˆ¥åã‚„ç‰ä¾¡æ€§ã‚’
+ ã©ã®ã‚ˆã†ã«å®Ÿè£…ã™ã¹ãã‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
- ˆê”Ê“I‚È–â‘è
+ 一般的ãªå•é¡Œ
- session-per-user-session ‚Æ
- session-per-application ƒAƒ“ƒ`ƒpƒ^[ƒ“
- ‚ÍŽg‚Á‚Ä‚Í‚¢‚¯‚Ü‚¹‚ñi‚à‚¿‚ë‚ñA‚Ü‚ê‚É—áŠO‚ª‚ ‚è‚Ü‚·jB
- ’ˆÓF‰º‹L‚Ì–â‘è‚Ì‚¢‚‚‚©‚ÍA„§‚³‚ê‚éƒpƒ^[ƒ“‚Æ‚µ‚Ä‚àoŒ»‚µ‚Ü‚·B
- ÝŒv‚ðŒˆ’è‚·‚é‘O‚ÉA— ‚̈Ӗ¡‚ð—‰ð‚·‚é‚悤‚É‚µ‚Ä‚‚¾‚³‚¢B
+ session-per-user-session ã¨
+ session-per-application アンãƒãƒ‘ターン
+ ã¯ä½¿ã£ã¦ã¯ã„ã‘ã¾ã›ã‚“(もã¡ã‚ã‚“ã€ã¾ã‚Œã«ä¾‹å¤–ãŒã‚ã‚Šã¾ã™ï¼‰ã€‚
+ 注æ„:下記ã®å•é¡Œã®ã„ãã¤ã‹ã¯ã€æŽ¨å¥¨ã•ã‚Œã‚‹ãƒ‘ターンã¨ã—ã¦ã‚‚出ç¾ã—ã¾ã™ã€‚
+ è¨è¨ˆã‚’決定ã™ã‚‹å‰ã«ã€è£ã®æ„味をç†è§£ã™ã‚‹ã‚ˆã†ã«ã—ã¦ãã ã•ã„。
- Session ‚̓XƒŒƒbƒhƒZ[ƒt‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- HTTPƒŠƒNƒGƒXƒgAƒZƒbƒVƒ‡ƒ“BeanASwingƒ[ƒJ[‚̂悤‚ÉA
- “¯ŽžŽÀs‚ª‰Â”\‚È‚à‚Ì‚ª Session ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‹¤—L‚·‚é‚ÆA
- ‹£‡ó‘Ô‚ðˆø‚«‹N‚±‚µ‚Ü‚·B
- iŒã‚Å‹c˜_‚·‚éjHttpSession ‚Ì’†‚Å
- Hibernate Session ‚ð•ÛŽ‚·‚éê‡A
- HttpSession‚ւ̃AƒNƒZƒX‚𓯊ú‰»‚·‚邱‚Æ‚ðl—¶‚·‚ׂ«‚Å‚·B
- ‚³‚à‚È‚¯‚ê‚ÎAƒ†[ƒU[‚ª\•ª‘‚ƒŠƒ[ƒh‚ðƒNƒŠƒbƒN‚·‚é‚ÆA
- “¯Žž‚É‘–‚é‚Q‚‚̃XƒŒƒbƒh‚Ì’†‚ÅA“¯‚¶ Session ‚ªŽg‚í‚ê‚Ü‚·B
+ Session ã¯ã‚¹ãƒ¬ãƒƒãƒ‰ã‚»ãƒ¼ãƒ•ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ HTTPリクエストã€ã‚»ãƒƒã‚·ãƒ§ãƒ³Beanã€Swingワーカーã®ã‚ˆã†ã«ã€
+ åŒæ™‚実行ãŒå¯èƒ½ãªã‚‚ã®ãŒ Session インスタンスを共有ã™ã‚‹ã¨ã€
+ 競åˆçŠ¶æ…‹ã‚’引ãèµ·ã“ã—ã¾ã™ã€‚
+ (後ã§è°è«–ã™ã‚‹ï¼‰HttpSession ã®ä¸ã§
+ Hibernate Session ã‚’ä¿æŒã™ã‚‹å ´åˆã€
+ HttpSessionã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ã‚’åŒæœŸåŒ–ã™ã‚‹ã“ã¨ã‚’考慮ã™ã¹ãã§ã™ã€‚
+ ã•ã‚‚ãªã‘ã‚Œã°ã€ãƒ¦ãƒ¼ã‚¶ãƒ¼ãŒå分早ãリãƒãƒ¼ãƒ‰ã‚’クリックã™ã‚‹ã¨ã€
+ åŒæ™‚ã«èµ°ã‚‹ï¼’ã¤ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã®ä¸ã§ã€åŒã˜ Session ãŒä½¿ã‚ã‚Œã¾ã™ã€‚
- Hibernate‚ª—áŠO‚ð“Š‚°‚½ê‡‚ÍAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µA
- ’¼‚¿‚É Session ‚ð•Â‚¶‚é‚ׂ«‚Å‚·iÚׂðŒã‚Å‹c˜_‚µ‚Ü‚·jB
- Session ‚ªƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉŒ‹‚Ñ•t‚¯‚ç‚ê‚Ä‚¢‚é‚Ì‚Å‚ ‚ê‚ÎA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð’âŽ~‚·‚ׂ«‚Å‚·B
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µ‚Ä‚àAƒrƒWƒlƒXƒIƒuƒWƒFƒNƒg‚Í
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚µ‚½‚Æ‚«‚Ìó‘Ô‚É–ß‚è‚Ü‚¹‚ñB
- ‚±‚ê‚ÍAƒf[ƒ^ƒx[ƒX‚Ìó‘ԂƃrƒWƒlƒXƒIƒuƒWƒFƒNƒg‚Í“¯Šú‚µ‚Ä‚¢‚È‚¢‚±‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
- ’Ê킱‚ê‚Í–â‘è‚É‚È‚è‚Ü‚¹‚ñB
- ‚È‚º‚È‚çA—áŠO‚͉ñ•œ‚Å‚«‚È‚¢‚©‚ç‚Å‚·B
- ‚Æ‚É‚©‚ƒ[ƒ‹ƒoƒbƒN‚µ‚½Œã‚É‚â‚è’¼‚·‚ׂ«‚Å‚·B
+ HibernateãŒä¾‹å¤–を投ã’ãŸå ´åˆã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã—ã€
+ ç›´ã¡ã« Session ã‚’é–‰ã˜ã‚‹ã¹ãã§ã™ï¼ˆè©³ç´°ã‚’後ã§è°è«–ã—ã¾ã™ï¼‰ã€‚
+ Session ãŒã‚¢ãƒ—リケーションã«çµã³ä»˜ã‘られã¦ã„ã‚‹ã®ã§ã‚ã‚Œã°ã€
+ アプリケーションをåœæ¢ã™ã¹ãã§ã™ã€‚
+ データベーストランザクションをãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã—ã¦ã‚‚ã€ãƒ“ジãƒã‚¹ã‚ªãƒ–ジェクトã¯
+ トランザクションを開始ã—ãŸã¨ãã®çŠ¶æ…‹ã«æˆ»ã‚Šã¾ã›ã‚“。
+ ã“ã‚Œã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®çŠ¶æ…‹ã¨ãƒ“ジãƒã‚¹ã‚ªãƒ–ジェクトã¯åŒæœŸã—ã¦ã„ãªã„ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
+ 通常ã“ã‚Œã¯å•é¡Œã«ãªã‚Šã¾ã›ã‚“。
+ ãªãœãªã‚‰ã€ä¾‹å¤–ã¯å›žå¾©ã§ããªã„ã‹ã‚‰ã§ã™ã€‚
+ ã¨ã«ã‹ããƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã—ãŸå¾Œã«ã‚„ã‚Šç›´ã™ã¹ãã§ã™ã€‚
- Session ‚͉i‘±ipersistentjó‘Ô‚Ì‚·‚ׂẴIƒuƒWƒFƒNƒg‚ð
- ƒLƒƒƒbƒVƒ…‚µ‚Ü‚·iHibernate‚ÍŠÄŽ‹‚µAƒ_[ƒeƒBó‘Ô‚©ƒ`ƒFƒbƒN‚µ‚Ü‚·jB
- ‚±‚ê‚ÍA’·‚¢ŠÔƒZƒbƒVƒ‡ƒ“‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚·‚é‚©A
- ”ñí‚É‘½‚‚̃f[ƒ^‚ðƒ[ƒh‚µ‘±‚¯‚é‚©‚µ‚½ê‡‚ÍA
- OutOfMemoryException‚ª”¶‚·‚é‚Ü‚Å–³ŒÀ‚É‘å‚«‚‚Ȃ邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
- ‰ðŒˆô‚Ì‚P‚‚ÍASession ƒLƒƒƒbƒVƒ…‚ðŠÇ—‚·‚邽‚ß‚ÉA
- clear() ‚© evict() ‚ðŒÄ‚Ô‚±‚Æ‚Å‚·B
- ‚µ‚©‚µA‘å‚«‚ȃf[ƒ^‚ðˆ—‚·‚é•K—v‚ª‚ ‚é‚È‚çA
- ‚½‚Ô‚ñƒXƒgƒAƒhƒvƒƒV[ƒWƒƒ‚ðl—¶‚·‚é‚ׂ«‚Å‚µ‚傤B
- ‚¢‚‚‚©‚̉ðŒˆô‚ÍA ‚ÅЉ‚ê‚Ä‚¢‚Ü‚·B
- ƒ†[ƒU[ƒZƒbƒVƒ‡ƒ“‚ÌŠÔASession ‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚·‚é‚Æ‚¢‚¤‚±‚Æ‚ÍA
- ƒf[ƒ^‚ªV‘N‚Å‚È‚‚È‚éŠm—¦‚ª‚‚‚Ȃ邱‚Æ‚ðˆÓ–¡‚µ‚Ü‚·B
+ Session ã¯æ°¸ç¶šï¼ˆpersistent)状態ã®ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトを
+ ã‚ャッシュã—ã¾ã™ï¼ˆHibernateã¯ç›£è¦–ã—ã€ãƒ€ãƒ¼ãƒ†ã‚£çŠ¶æ…‹ã‹ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ï¼‰ã€‚
+ ã“ã‚Œã¯ã€é•·ã„間セッションを開ã„ãŸã¾ã¾ã«ã™ã‚‹ã‹ã€
+ éžå¸¸ã«å¤šãã®ãƒ‡ãƒ¼ã‚¿ã‚’ãƒãƒ¼ãƒ‰ã—続ã‘ã‚‹ã‹ã—ãŸå ´åˆã¯ã€
+ OutOfMemoryExceptionãŒç™ºç”Ÿã™ã‚‹ã¾ã§ç„¡é™ã«å¤§ãããªã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
+ 解決ç–ã®ï¼‘ã¤ã¯ã€Session ã‚ャッシュを管ç†ã™ã‚‹ãŸã‚ã«ã€
+ clear() ã‹ evict() を呼ã¶ã“ã¨ã§ã™ã€‚
+ ã—ã‹ã—ã€å¤§ããªãƒ‡ãƒ¼ã‚¿ã‚’処ç†ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãªã‚‰ã€
+ ãŸã¶ã‚“ストアドプãƒã‚·ãƒ¼ã‚¸ãƒ£ã‚’考慮ã™ã‚‹ã¹ãã§ã—ょã†ã€‚
+ ã„ãã¤ã‹ã®è§£æ±ºç–ã¯ã€ ã§ç´¹ä»‹ã•ã‚Œã¦ã„ã¾ã™ã€‚
+ ユーザーセッションã®é–“ã€Session ã‚’é–‹ã„ãŸã¾ã¾ã«ã™ã‚‹ã¨ã„ã†ã“ã¨ã¯ã€
+ データãŒæ–°é®®ã§ãªããªã‚‹ç¢ºçŽ‡ãŒé«˜ããªã‚‹ã“ã¨ã‚’æ„味ã—ã¾ã™ã€‚
@@ -419,90 +421,90 @@
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE
+ データベーストランザクション境界
- ƒf[ƒ^ƒx[ƒXi‚à‚µ‚‚̓VƒXƒeƒ€jƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‹«ŠE‚ÍAí‚É•K—v‚Å‚·B
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠO‚ÅAƒf[ƒ^ƒx[ƒX‚Æ‚Ì’ÊM‚Í‹N‚«‚Ü‚¹‚ñ
- i‚±‚ê‚ÍŽ©“®ƒRƒ~ƒbƒgƒ‚[ƒh‚ÉŠµ‚ê‚Ä‚¢‚鑽‚‚ÌŠJ”ŽÒ‚𬗂³‚¹‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñjB
- “Ç‚Ýž‚Þ‚¾‚¯‚Ì‘€ì‚É‚Å‚àA‚¢‚Â‚à–¾Šm‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽg—p‚µ‚Ä‚‚¾‚³‚¢B
- •ª—£ƒŒƒxƒ‹‚ƃf[ƒ^ƒx[ƒX‚Ì”\—ÍŽŸ‘æ‚ÅA‚±‚ê‚Í•K—v‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªA
- í‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚𖾎¦“I‚ÉŽw’肵‚Ä‚àAƒ}ƒCƒiƒX–Ê‚Í‘S‚‚ ‚è‚Ü‚¹‚ñB
+ データベース(もã—ãã¯ã‚·ã‚¹ãƒ†ãƒ )トランザクションã®å¢ƒç•Œã¯ã€å¸¸ã«å¿…è¦ã§ã™ã€‚
+ データベーストランザクションã®å¤–ã§ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨ã®é€šä¿¡ã¯èµ·ãã¾ã›ã‚“
+ (ã“ã‚Œã¯è‡ªå‹•ã‚³ãƒŸãƒƒãƒˆãƒ¢ãƒ¼ãƒ‰ã«æ…£ã‚Œã¦ã„る多ãã®é–‹ç™ºè€…ã‚’æ··ä¹±ã•ã›ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“)。
+ èªã¿è¾¼ã‚€ã ã‘ã®æ“作ã«ã§ã‚‚ã€ã„ã¤ã‚‚明確ãªãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’使用ã—ã¦ãã ã•ã„。
+ 分離レベルã¨ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®èƒ½åŠ›æ¬¡ç¬¬ã§ã€ã“ã‚Œã¯å¿…è¦ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒã€
+ 常ã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’明示的ã«æŒ‡å®šã—ã¦ã‚‚ã€ãƒžã‚¤ãƒŠã‚¹é¢ã¯å…¨ãã‚ã‚Šã¾ã›ã‚“。
- Šm‚©‚ÉA‚P‚‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Í‘½”‚̬‚³‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚æ‚è
- iƒf[ƒ^‚Ì“Ç‚Ýž‚Ý‚Å‚ ‚Á‚Ä‚àjƒpƒtƒH[ƒ}ƒ“ƒX‚ª‚·‚®‚ê‚Ä‚¢‚Ü‚·B
+ 確ã‹ã«ã€ï¼‘ã¤ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã¯å¤šæ•°ã®å°ã•ãªãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚ˆã‚Š
+ (データã®èªã¿è¾¼ã¿ã§ã‚ã£ã¦ã‚‚)パフォーマンスãŒã™ãã‚Œã¦ã„ã¾ã™ã€‚
- J2EEŠÂ‹«‚ÉŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ó‘Ô
- i‚·‚È‚í‚¿AƒXƒ^ƒ“ƒhƒAƒƒ“A’Pƒ‚ÈWeb‚âSwingƒAƒvƒŠƒP[ƒVƒ‡ƒ“j‚Å‚àA
- ŠÇ—‚³‚ꂽó‘Ô‚Å‚àAHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚Å‚«‚Ü‚·B
- ŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚Å‚ÍAHiberante‚ªƒf[ƒ^ƒx[ƒX‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ð’ñ‹Ÿ‚µ‚Ü‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”ŽÒ‚ÍAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðŽè“®‚Åݒ肵‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- Œ¾‚¢Š·‚¦‚é‚ÆAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠJŽnAƒRƒ~ƒbƒgAƒ[ƒ‹ƒoƒbƒN‚ð
- ŠJ”ŽÒŽ©g‚ªÝ’è‚·‚é•K—v‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+ J2EE環境ã«ç®¡ç†ã•ã‚Œã¦ã„ãªã„状態
+ (ã™ãªã‚ã¡ã€ã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ³ã€å˜ç´”ãªWebã‚„Swingアプリケーション)ã§ã‚‚ã€
+ 管ç†ã•ã‚ŒãŸçŠ¶æ…‹ã§ã‚‚ã€Hibernateアプリケーションを実行ã§ãã¾ã™ã€‚
+ 管ç†ã•ã‚Œã¦ã„ãªã„環境ã§ã¯ã€HiberanteãŒãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールをæä¾›ã—ã¾ã™ã€‚
+ アプリケーション開発者ã¯ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’手動ã§è¨å®šã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ 言ã„æ›ãˆã‚‹ã¨ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®é–‹å§‹ã€ã‚³ãƒŸãƒƒãƒˆã€ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚’
+ 開発者自身ãŒè¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
- ’ÊíAŠÇ—‚³‚ꂽŠÂ‹«‚Å‚ÍAƒRƒ“ƒeƒiŠÇ—‚É‚æ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“iCMTj‚ª’ñ‹Ÿ‚³‚ê‚Ü‚·B
- —Ⴆ‚ÎAƒZƒbƒVƒ‡ƒ“Bean‚̃fƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Å錾“I‚É’è‹`‚µA
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð‘g‚Ý—§‚Ä‚Ü‚·B
- ƒvƒƒOƒ‰ƒ€‚É‚æ‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Í‚à‚¤•K—v‚ ‚è‚Ü‚¹‚ñB
+ 通常ã€ç®¡ç†ã•ã‚ŒãŸç’°å¢ƒã§ã¯ã€ã‚³ãƒ³ãƒ†ãƒŠç®¡ç†ã«ã‚ˆã‚‹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆCMT)ãŒæä¾›ã•ã‚Œã¾ã™ã€‚
+ 例ãˆã°ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³Beanã®ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ã§å®£è¨€çš„ã«å®šç¾©ã—ã€
+ トランザクションを組ã¿ç«‹ã¦ã¾ã™ã€‚
+ プãƒã‚°ãƒ©ãƒ ã«ã‚ˆã‚‹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã¯ã‚‚ã†å¿…è¦ã‚ã‚Šã¾ã›ã‚“。
- ‚µ‚©‚µ‚È‚ª‚çAŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒŠƒ\[ƒXEƒ[ƒJƒ‹‚Ȋ‹«‚Æ
- JTA‚Ɉˑ¶‚µ‚½ƒVƒXƒeƒ€iCMT‚Å‚Í‚È‚BMTj‚Ì—¼•û‚ÉA
- ‰i‘±‰»‘w‚ðƒ|[ƒ^ƒuƒ‹‚ɕۂ‚̂ÍA‚µ‚΂µ‚Ζ]‚Ü‚µ‚¢‚±‚Æ‚Å‚·B
+ ã—ã‹ã—ãªãŒã‚‰ã€ç®¡ç†ã•ã‚Œã¦ã„ãªã„リソース・ãƒãƒ¼ã‚«ãƒ«ãªç’°å¢ƒã¨
+ JTAã«ä¾å˜ã—ãŸã‚·ã‚¹ãƒ†ãƒ (CMTã§ã¯ãªãBMT)ã®ä¸¡æ–¹ã«ã€
+ 永続化層をãƒãƒ¼ã‚¿ãƒ–ルã«ä¿ã¤ã®ã¯ã€ã—ã°ã—ã°æœ›ã¾ã—ã„ã“ã¨ã§ã™ã€‚
- ƒfƒvƒƒCŠÂ‹«‚̃lƒCƒeƒBƒu‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒVƒXƒeƒ€‚ðŒÄ‚Ño‚·
- Transaction ‚Æ‚¢‚¤ƒ‰ƒbƒp[API‚ðHibernate‚ª’ñ‹Ÿ‚µ‚Ü‚·B
- ‚±‚ÌAPI‚ðŽg‚¤‚©‚Í”CˆÓ‚Å‚·‚ªACMT‚̃ZƒbƒVƒ‡ƒ“Bean‚ðŽg‚í‚È‚¢‚Ì‚Å‚ ‚ê‚ÎAŽg‚¤‚±‚Æ‚ð‹‚„§‚µ‚Ü‚·B
+ デプãƒã‚¤ç’°å¢ƒã®ãƒã‚¤ãƒ†ã‚£ãƒ–ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚·ã‚¹ãƒ†ãƒ を呼ã³å‡ºã™
+ Transaction ã¨ã„ã†ãƒ©ãƒƒãƒ‘ーAPIã‚’HibernateãŒæä¾›ã—ã¾ã™ã€‚
+ ã“ã®APIを使ã†ã‹ã¯ä»»æ„ã§ã™ãŒã€CMTã®ã‚»ãƒƒã‚·ãƒ§ãƒ³Beanを使ã‚ãªã„ã®ã§ã‚ã‚Œã°ã€ä½¿ã†ã“ã¨ã‚’å¼·ã推奨ã—ã¾ã™ã€‚
- ’ÊíASession I—¹‚ÍA‚S‚‚̈قȂéƒtƒF[ƒY‚ðŠÜ‚Ý‚Ü‚·B
+ 通常ã€Session 終了ã¯ã€ï¼”ã¤ã®ç•°ãªã‚‹ãƒ•ã‚§ãƒ¼ã‚ºã‚’å«ã¿ã¾ã™ã€‚
- ƒZƒbƒVƒ‡ƒ“‚̃tƒ‰ƒbƒVƒ…
+ セッションã®ãƒ•ãƒ©ãƒƒã‚·ãƒ¥
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃Rƒ~ƒbƒg
+ トランザクションã®ã‚³ãƒŸãƒƒãƒˆ
- ƒZƒbƒVƒ‡ƒ“‚̃Nƒ[ƒY
+ セッションã®ã‚¯ãƒãƒ¼ã‚º
- —áŠO‚̃nƒ“ƒhƒŠƒ“ƒO
+ 例外ã®ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°
- ƒZƒbƒVƒ‡ƒ“‚̃tƒ‰ƒbƒVƒ…‚ɂ‚¢‚Ä‚ÍA‘O‚Ì‚Ù‚¤‚Å‚·‚Å‚É‹c˜_‚µ‚Ü‚µ‚½B
- ŠÇ—‚³‚ꂽŠÂ‹«‚ÆŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚Ì—¼•û‚ɂ‚¢‚ÄA
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ—áŠOƒnƒ“ƒhƒŠƒ“ƒO‚ð‚à‚Á‚ÆÚ‚µ‚Œ©‚Ä‚¢‚«‚Ü‚µ‚傤B
+ セッションã®ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã«ã¤ã„ã¦ã¯ã€å‰ã®ã»ã†ã§ã™ã§ã«è°è«–ã—ã¾ã—ãŸã€‚
+ 管ç†ã•ã‚ŒãŸç’°å¢ƒã¨ç®¡ç†ã•ã‚Œã¦ã„ãªã„環境ã®ä¸¡æ–¹ã«ã¤ã„ã¦ã€
+ トランザクション境界ã¨ä¾‹å¤–ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã‚’ã‚‚ã£ã¨è©³ã—ã見ã¦ã„ãã¾ã—ょã†ã€‚
- ŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«
+ 管ç†ã•ã‚Œã¦ã„ãªã„環境
- Hibernate‰i‘±‰»‘w‚ðŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚ÅŽÀ‘•‚·‚éꇂÍA
+ Hibernate永続化層を管ç†ã•ã‚Œã¦ã„ãªã„環境ã§å®Ÿè£…ã™ã‚‹å ´åˆã¯ã€
- ’Êí’Pƒ‚ȃRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹i‚·‚È‚í‚¿DataSource‚Å‚Í‚È‚¢j‚É‚æ‚Á‚ÄA
- ƒf[ƒ^ƒx[ƒXƒRƒlƒNƒVƒ‡ƒ“‚ð§Œä‚µ‚Ü‚·B
- Hibernate‚Í‚»‚̃RƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚©‚ç•K—v‚ȃRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚µ‚Ü‚·B
+ 通常å˜ç´”ãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ール(ã™ãªã‚ã¡DataSourceã§ã¯ãªã„)ã«ã‚ˆã£ã¦ã€
+ データベースコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’制御ã—ã¾ã™ã€‚
+ Hibernateã¯ãã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールã‹ã‚‰å¿…è¦ãªã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã—ã¾ã™ã€‚
- ƒZƒbƒVƒ‡ƒ“^ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“§Œä‚̃CƒfƒBƒIƒ€‚ÍŽŸ‚̂悤‚É‚È‚è‚Ü‚·B
+ セッションï¼ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³åˆ¶å¾¡ã®ã‚¤ãƒ‡ã‚£ã‚ªãƒ ã¯æ¬¡ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
- –¾Ž¦“I‚É Session ‚Ì flush() ‚ðŒÄ‚Ño‚·‚ׂ«‚Å‚Í‚È‚A
- commit() ‚ðŒÄ‚Ño‚·‚±‚Æ‚É‚æ‚èAŽ©“®“I‚É“¯Šú‰»ˆ—‚ªŽÀs‚³‚ê‚Ü‚·
- iƒZƒbƒVƒ‡ƒ“‚Ì FlushMode ‚Ɉˑ¶‚µ‚Ä‚¢‚éjB
+ 明示的㫠Session ã® flush() を呼ã³å‡ºã™ã¹ãã§ã¯ãªãã€
+ commit() を呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã‚Šã€è‡ªå‹•çš„ã«åŒæœŸåŒ–処ç†ãŒå®Ÿè¡Œã•ã‚Œã¾ã™
+ (セッション㮠FlushMode ã«ä¾å˜ã—ã¦ã„る)。
- close() ‚ðŒÄ‚Ño‚·‚±‚Æ‚É‚æ‚èAƒZƒbƒVƒ‡ƒ“‚ÌI‚í‚è‚𖾊m‚É‚µ‚Ü‚·B
- close() ‚ªˆÃ–Ù“I‚És‚¤Žå‚È‚±‚Æ‚ÍA
- ƒZƒbƒVƒ‡ƒ“‚ªJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðŠJ•ú‚·‚邱‚Æ‚Å‚·B
+ close() を呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã‚Šã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®çµ‚ã‚りを明確ã«ã—ã¾ã™ã€‚
+ close() ãŒæš—黙的ã«è¡Œã†ä¸»ãªã“ã¨ã¯ã€
+ セッションãŒJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’開放ã™ã‚‹ã“ã¨ã§ã™ã€‚
- ã‹L‚ÌJavaƒR[ƒh‚̓|[ƒ^ƒuƒ‹‚Å‚ ‚èAŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ŠÂ‹«‚ÆJTAŠÂ‹«‚Ì—¼•û‚ÅŽÀs‚Å‚«‚Ü‚·B
+ 上記ã®Javaコードã¯ãƒãƒ¼ã‚¿ãƒ–ルã§ã‚ã‚Šã€ç®¡ç†ã•ã‚Œã¦ã„ãªã„環境ã¨JTA環境ã®ä¸¡æ–¹ã§å®Ÿè¡Œã§ãã¾ã™ã€‚
- ‚æ‚è“K‰ž«‚Ì‚ ‚é‰ðŒˆô‚ÍAHibernate‚É—\‚ß‘g‚Ýž‚Ü‚ê‚Ä‚¢‚é
- ucurrent sessionvƒRƒ“ƒeƒLƒXƒgŠÇ—‚Å‚·B
- Œ¾—t‚Åà–¾‚·‚é‚æ‚艺‹L‚ðŒ©‚½‚Ù‚¤‚ª‘¬‚¢‚Å‚µ‚傤B
+ よりé©å¿œæ€§ã®ã‚る解決ç–ã¯ã€Hibernateã«äºˆã‚組ã¿è¾¼ã¾ã‚Œã¦ã„ã‚‹
+ 「current sessionã€ã‚³ãƒ³ãƒ†ã‚スト管ç†ã§ã™ã€‚
+ 言葉ã§èª¬æ˜Žã™ã‚‹ã‚ˆã‚Šä¸‹è¨˜ã‚’見ãŸã»ã†ãŒé€Ÿã„ã§ã—ょã†ã€‚
- ³‹K‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Ì’†‚Å‚ÍA‚±‚̂悤‚ȃR[ƒh‚ÌØ‚ê’[‚ðŒˆ‚µ‚ÄŒ©‚È‚¢‚Å‚µ‚傤B
- ’v–½“I‚ÈiƒVƒXƒeƒ€j—áŠO‚ÍAí‚ÉuÅãˆÊv‚ŃLƒƒƒbƒ`‚·‚ׂ«‚Å‚·B
- Œ¾‚¢Š·‚¦‚ê‚ÎAi‰i‘±‰»‘w‚ÅjHibernateŒÄ‚Ño‚µ‚ðŽÀs‚·‚éƒR[ƒh‚ÆA
- RuntimeException ‚ð§Œä‚·‚é
- i’Êí‚̓NƒŠ[ƒ“ƒAƒbƒv‚ÆI—¹‚Ì‚Ýs‚¤‚±‚Æ‚ª‚Å‚«‚éjƒR[ƒh‚ÍA•ÊX‚Ì‘w‚Ì’†‚É‚ ‚è‚Ü‚·B
- Hibernate‚É‚æ‚éƒJƒŒƒ“ƒgƒRƒ“ƒeƒLƒXƒgŠÇ—‚ÍA‚±‚ÌÝŒv‚ð‚©‚È‚è’Pƒ‚É‚µ‚Ü‚·B
- •K—v‚È‚Ì‚ÍASessionFactory ‚ɃAƒNƒZƒX‚·‚邱‚Æ‚¾‚¯‚Å‚·B
- —áŠOˆ—‚ÍA‚±‚ÌÍ‚ÌŒã‚Ì‚Ù‚¤‚Å‹c˜_‚µ‚Ü‚·B
+ æ£è¦ã®ã‚¢ãƒ—リケーションã®ä¸ã§ã¯ã€ã“ã®ã‚ˆã†ãªã‚³ãƒ¼ãƒ‰ã®åˆ‡ã‚Œç«¯ã‚’決ã—ã¦è¦‹ãªã„ã§ã—ょã†ã€‚
+ 致命的ãªï¼ˆã‚·ã‚¹ãƒ†ãƒ )例外ã¯ã€å¸¸ã«ã€Œæœ€ä¸Šä½ã€ã§ã‚ャッãƒã™ã¹ãã§ã™ã€‚
+ 言ã„æ›ãˆã‚Œã°ã€ï¼ˆæ°¸ç¶šåŒ–層ã§ï¼‰Hibernate呼ã³å‡ºã—を実行ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã¨ã€
+ RuntimeException を制御ã™ã‚‹
+ (通常ã¯ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã¨çµ‚了ã®ã¿è¡Œã†ã“ã¨ãŒã§ãる)コードã¯ã€åˆ¥ã€…ã®å±¤ã®ä¸ã«ã‚ã‚Šã¾ã™ã€‚
+ Hibernateã«ã‚ˆã‚‹ã‚«ãƒ¬ãƒ³ãƒˆã‚³ãƒ³ãƒ†ã‚スト管ç†ã¯ã€ã“ã®è¨è¨ˆã‚’ã‹ãªã‚Šå˜ç´”ã«ã—ã¾ã™ã€‚
+ å¿…è¦ãªã®ã¯ã€SessionFactory ã«ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã ã‘ã§ã™ã€‚
+ 例外処ç†ã¯ã€ã“ã®ç« ã®å¾Œã®ã»ã†ã§è°è«–ã—ã¾ã™ã€‚
- ’ˆÓFiƒfƒtƒHƒ‹ƒg‚Å‚·‚ªj
+ 注æ„:(デフォルトã§ã™ãŒï¼‰
org.hibernate.transaction.JDBCTransactionFactory
- ‚ð‘I‘ð‚·‚é‚ׂ«‚Å‚·B
- ‘æ2‚Ì—p—á‚Æ‚µ‚Ä‚ÍA
- hibernate.current_session_context_class ‚ð
- "thread" ‚Æ‚·‚é‚Æ‚æ‚¢‚Å‚µ‚傤B
+ ã‚’é¸æŠžã™ã‚‹ã¹ãã§ã™ã€‚
+ 第2ã®ç”¨ä¾‹ã¨ã—ã¦ã¯ã€
+ hibernate.current_session_context_class ã‚’
+ "thread" ã¨ã™ã‚‹ã¨ã‚ˆã„ã§ã—ょã†ã€‚
- JTA‚ðŽg—p‚·‚é
+ JTAを使用ã™ã‚‹
- ‰i‘±‰»‘w‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[i—Ⴆ‚ÎAEJBƒZƒbƒVƒ‡ƒ“Bean‚Ì”wŒãj‚ÅŽÀs‚·‚éê‡A
- Hibernate‚©‚çŽæ“¾‚·‚é‚·‚ׂẴf[ƒ^ƒ\[ƒXƒRƒlƒNƒVƒ‡ƒ“‚ÍA
- Ž©“®“I‚ɃOƒ[ƒoƒ‹JTAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̈ꕔ‚É‚È‚è‚Ü‚·B
+ 永続化層をアプリケーションサーãƒãƒ¼ï¼ˆä¾‹ãˆã°ã€EJBセッションBeanã®èƒŒå¾Œï¼‰ã§å®Ÿè¡Œã™ã‚‹å ´åˆã€
+ Hibernateã‹ã‚‰å–å¾—ã™ã‚‹ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚½ãƒ¼ã‚¹ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯ã€
+ 自動的ã«ã‚°ãƒãƒ¼ãƒãƒ«JTAトランザクションã®ä¸€éƒ¨ã«ãªã‚Šã¾ã™ã€‚
- EJB‚ðŽg‚킸‚ÉAƒXƒ^ƒ“ƒhƒAƒƒ“‚ÌJTAŽÀ‘•‚𓱓ü‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- JTA“‡‚Ì‚½‚ß‚ÉAHibernate‚Í‚Q‚‚Ìí—ª‚ð’ñ‹Ÿ‚µ‚Ü‚·B
+ EJBを使ã‚ãšã«ã€ã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ³ã®JTA実装を導入ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ JTAçµ±åˆã®ãŸã‚ã«ã€Hibernateã¯ï¼’ã¤ã®æˆ¦ç•¥ã‚’æä¾›ã—ã¾ã™ã€‚
- BeanŠÇ—ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“iBMTj‚ðŽg‚¢ATransaction API‚ðŽg‚¤ê‡A
- Hibernate‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚ÉBMTƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠJŽn‚ÆI‚í‚è‚ð‚°‚Ü‚·B
- ‚·‚È‚í‚¿Aƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ŠÇ—‚̃R[ƒh‚ÍAŠÇ—‚³‚ê‚È‚¢ŠÂ‹«‚Æ“¯‚¶‚É‚È‚è‚Ü‚·B
+ Bean管ç†ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ï¼ˆBMT)を使ã„ã€Transaction APIを使ã†å ´åˆã€
+ Hibernateã¯ã‚¢ãƒ—リケーションサーãƒãƒ¼ã«BMTトランザクションã®é–‹å§‹ã¨çµ‚ã‚ã‚Šã‚’å‘Šã’ã¾ã™ã€‚
+ ã™ãªã‚ã¡ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ç®¡ç†ã®ã‚³ãƒ¼ãƒ‰ã¯ã€ç®¡ç†ã•ã‚Œãªã„環境ã¨åŒã˜ã«ãªã‚Šã¾ã™ã€‚
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚Æ‚µ‚Ä Session ‚ðŽg‚¢‚½‚¢ê‡A
- ŠÈ’P‚ɃRƒ“ƒeƒLƒXƒg‚ð“`”d‚·‚é‹@”\‚Å‚ ‚é getCurrentSession() ‚ª‚ ‚é‚Ì‚ÅA
- JTA‚Ì UserTransaction API‚ð’¼ÚŽg—p‚·‚ׂ«‚Å‚µ‚傤B
+ トランザクション境界ã¨ã—㦠Session を使ã„ãŸã„å ´åˆã€
+ ç°¡å˜ã«ã‚³ãƒ³ãƒ†ã‚ストをä¼æ’ã™ã‚‹æ©Ÿèƒ½ã§ã‚ã‚‹ getCurrentSession() ãŒã‚ã‚‹ã®ã§ã€
+ JTAã® UserTransaction APIを直接使用ã™ã¹ãã§ã—ょã†ã€‚
- CMT‚Å‚ÍAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚ðƒZƒbƒVƒ‡ƒ“Bean‚̃fƒvƒƒCƒƒ“ƒgƒfƒBƒXƒNƒŠƒvƒ^‚Å’è‹`‚µA
- ƒvƒƒOƒ‰ƒ€‚Å‚Ís‚¢‚Ü‚¹‚ñB
- ‚䂦‚ÉAƒR[ƒh‚ÍŽŸ‚̂悤‚É‚È‚‚È‚è‚Ü‚·B
+ CMTã§ã¯ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã‚’セッションBeanã®ãƒ‡ãƒ—ãƒã‚¤ãƒ¡ãƒ³ãƒˆãƒ‡ã‚£ã‚¹ã‚¯ãƒªãƒ—ã‚¿ã§å®šç¾©ã—ã€
+ プãƒã‚°ãƒ©ãƒ ã§ã¯è¡Œã„ã¾ã›ã‚“。
+ ゆãˆã«ã€ã‚³ãƒ¼ãƒ‰ã¯æ¬¡ã®ã‚ˆã†ã«å°‘ãªããªã‚Šã¾ã™ã€‚
- CMT/EJB‚Ì’†‚Å‚ÍAí‚Ƀ[ƒ‹ƒoƒbƒN‚ªŽ©“®“I‚ÉŽÀŽ{‚³‚ê‚Ü‚·B
- ‚È‚º‚È‚çAƒZƒbƒVƒ‡ƒ“ƒr[ƒ“‚̃ƒ\ƒbƒh‚É‚æ‚è“Š‚°‚ç‚ꂽ§Œä‚³‚ê‚Ä‚¢‚È‚¢
- RuntimeException ‚ÍAƒOƒ[ƒoƒ‹ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ð
- ƒ[ƒ‹ƒoƒbƒN‚·‚é‚悤‚ɃRƒ“ƒeƒi‚É“`‚¦‚邽‚ß‚Å‚·B
- ‚±‚ê‚ÍABMT‚à‚µ‚‚ÍCMT‚Æ‚¢‚Á‚µ‚å‚ÉHibernate Transaction
- API‚ðŽg‚¤•K—v‚Í‚µ‚à‚È‚¢‚Æ‚¢‚¤ˆÓ–¡‚Å‚·B
+ CMT/EJBã®ä¸ã§ã¯ã€å¸¸ã«ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ãŒè‡ªå‹•çš„ã«å®Ÿæ–½ã•ã‚Œã¾ã™ã€‚
+ ãªãœãªã‚‰ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ãƒ“ーンã®ãƒ¡ã‚½ãƒƒãƒ‰ã«ã‚ˆã‚ŠæŠ•ã’られãŸåˆ¶å¾¡ã•ã‚Œã¦ã„ãªã„
+ RuntimeException ã¯ã€ã‚°ãƒãƒ¼ãƒãƒ«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’
+ ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã™ã‚‹ã‚ˆã†ã«ã‚³ãƒ³ãƒ†ãƒŠã«ä¼ãˆã‚‹ãŸã‚ã§ã™ã€‚
+ ã“ã‚Œã¯ã€BMTã‚‚ã—ãã¯CMTã¨ã„ã£ã—ょã«Hibernate Transaction
+ APIを使ã†å¿…è¦ã¯å°‘ã—ã‚‚ãªã„ã¨ã„ã†æ„味ã§ã™ã€‚
- Hibernate‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒtƒ@ƒNƒgƒŠ‚ðÝ’è‚·‚éÛ‚ÉA
- JTA‚ð’¼ÚŽg‚¤iBMT‚Ìjê‡‚Í org.hibernate.transaction.JTATransactionFactory ‚ðA
- CMTƒZƒbƒVƒ‡ƒ“ƒr[ƒ“‚Ì’†‚Å‚Í org.hibernate.transaction.CMTTransactionFactory ‚ð
- ‘I‘ð‚·‚×‚«‚¾‚Æ‚¢‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ Hibernateã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãƒ•ã‚¡ã‚¯ãƒˆãƒªã‚’è¨å®šã™ã‚‹éš›ã«ã€
+ JTAを直接使ã†ï¼ˆBMTã®ï¼‰å ´åˆã¯ org.hibernate.transaction.JTATransactionFactory ã‚’ã€
+ CMTセッションビーンã®ä¸ã§ã¯ org.hibernate.transaction.CMTTransactionFactory ã‚’
+ é¸æŠžã™ã¹ãã ã¨ã„ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
hibernate.transaction.manager_lookup_class
- ‚ðƒZƒbƒg‚·‚邱‚Æ‚àŽv‚¢o‚µ‚Ä‚‚¾‚³‚¢B
- ‚È‚¨Ahibernate.current_session_context_class ‚ÍA
- ƒZƒbƒg‚µ‚È‚¢‚©iŒã•ûŒÝŠ·jA"jta" ‚ðƒZƒbƒg‚µ‚Ä‚‚¾‚³‚¢B
+ をセットã™ã‚‹ã“ã¨ã‚‚æ€ã„出ã—ã¦ãã ã•ã„。
+ ãªãŠã€hibernate.current_session_context_class ã¯ã€
+ セットã—ãªã„ã‹ï¼ˆå¾Œæ–¹äº’æ›ï¼‰ã€"jta" をセットã—ã¦ãã ã•ã„。
- getCurrentSession() ƒIƒyƒŒ[ƒVƒ‡ƒ“‚ÍAJTAŠÂ‹«‚Å‚Í‚P‚‚̌‡“_‚ðŽ‚¿‚Ü‚·B
+ getCurrentSession() オペレーションã¯ã€JTA環境ã§ã¯ï¼‘ã¤ã®æ¬ 点をæŒã¡ã¾ã™ã€‚
- ƒfƒtƒHƒ‹ƒg‚ÅŽg‚í‚ê‚é after_statement ƒRƒlƒNƒVƒ‡ƒ“ƒŠƒŠ[ƒXƒ‚[ƒh‚ðŽg—p‚·‚éã‚ÅA
- Œx‚ª‚P‚‚ ‚è‚Ü‚·B
+ デフォルトã§ä½¿ã‚れる after_statement コãƒã‚¯ã‚·ãƒ§ãƒ³ãƒªãƒªãƒ¼ã‚¹ãƒ¢ãƒ¼ãƒ‰ã‚’使用ã™ã‚‹ä¸Šã§ã€
+ è¦å‘ŠãŒï¼‘ã¤ã‚ã‚Šã¾ã™ã€‚
- JTAŽd—l‚Ì‹ð‚©‚È§–ñ‚Ì‚½‚ß‚ÉA
- scroll() ‚Ü‚½‚Í iterate() ‚ª•Ô‚µ‚½A
- •Â‚¶‚ç‚ê‚Ä‚¢‚È‚¢ ScrollableResults ‚Ü‚½‚Í Iterator
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ðHibernate‚ªŽ©“®“I‚ɃNƒŠ[ƒ“ƒAƒbƒv‚·‚邱‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
+ JTA仕様ã®æ„šã‹ãªåˆ¶ç´„ã®ãŸã‚ã«ã€
+ scroll() ã¾ãŸã¯ iterate() ãŒè¿”ã—ãŸã€
+ é–‰ã˜ã‚‰ã‚Œã¦ã„ãªã„ ScrollableResults ã¾ãŸã¯ Iterator
+ インスタンスをHibernateãŒè‡ªå‹•çš„ã«ã‚¯ãƒªãƒ¼ãƒ³ã‚¢ãƒƒãƒ—ã™ã‚‹ã“ã¨ã¯ã§ãã¾ã›ã‚“。
- finally ƒuƒƒbƒN‚Ì’†‚ÅA
- ScrollableResults.close() ‚Ü‚½‚Í
- Hibernate.close(Iterator) ‚𖾎¦“I‚ɌĂÑo‚µ‚ÄA
- — ‚Éö‚ñ‚¾ƒf[ƒ^ƒx[ƒXƒJ[ƒ\ƒ‹‚ð‰ð•ú ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ finally ブãƒãƒƒã‚¯ã®ä¸ã§ã€
+ ScrollableResults.close() ã¾ãŸã¯
+ Hibernate.close(Iterator) を明示的ã«å‘¼ã³å‡ºã—ã¦ã€
+ è£ã«æ½œã‚“ã データベースカーソルを解放 ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- i‚à‚¿‚ë‚ñA‘½‚‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚Å‚ÍAJTA‚©CMTƒR[ƒh‚Å scroll()
- ‚â iterate() ‚ÌŽg—p‚ð”ð‚¯‚é‚Ì‚Í—eˆÕ‚Å‚·Bj
+ (もã¡ã‚ã‚“ã€å¤šãã®ã‚¢ãƒ—リケーションã§ã¯ã€JTAã‹CMTコード㧠scroll()
+ ã‚„ iterate() ã®ä½¿ç”¨ã‚’é¿ã‘ã‚‹ã®ã¯å®¹æ˜“ã§ã™ã€‚)
- —áŠOƒnƒ“ƒhƒŠƒ“ƒO
+ 例外ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°
- Session ‚ª—áŠOiSQLException‚ðŠÜ‚Þj‚ð“Š‚°‚½ê‡A
- ’¼‚¿‚ÉAƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µASession.close()
- ‚ðŒÄ‚ÑASession ƒCƒ“ƒXƒ^ƒ“ƒX‚ð”jŠü‚·‚ׂ«‚Å‚·B
- Session ‚Ì‚¢‚‚‚©‚̃ƒ\ƒbƒh‚ÍA
- ƒZƒbƒVƒ‡ƒ“‚Ìó‘Ô‚ð –µ‚‚µ‚½‚Ü‚Ü ‚É‚µ‚Ü‚·B
- Hibernate‚ª“Š‚°‚½—áŠO‚ðA‰ñ•œ‚Å‚«‚é‚à‚Ì‚Æ‚µ‚Ĉµ‚¤‚±‚Æ‚Í‚Å‚«‚Ü‚¹‚ñB
- finally ƒuƒƒbƒN‚Ì’†‚Å close() ‚ðŒÄ‚ñ‚ÅA
- Session ‚ðŠmŽÀ‚ɕ‚¶‚Ä‚‚¾‚³‚¢B
+ Session ãŒä¾‹å¤–(SQLExceptionã‚’å«ã‚€ï¼‰ã‚’投ã’ãŸå ´åˆã€
+ ç›´ã¡ã«ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã—ã€Session.close()
+ を呼ã³ã€Session ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ç ´æ£„ã™ã¹ãã§ã™ã€‚
+ Session ã®ã„ãã¤ã‹ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
+ セッションã®çŠ¶æ…‹ã‚’ 矛盾ã—ãŸã¾ã¾ ã«ã—ã¾ã™ã€‚
+ HibernateãŒæŠ•ã’ãŸä¾‹å¤–ã‚’ã€å›žå¾©ã§ãã‚‹ã‚‚ã®ã¨ã—ã¦æ‰±ã†ã“ã¨ã¯ã§ãã¾ã›ã‚“。
+ finally ブãƒãƒƒã‚¯ã®ä¸ã§ close() を呼んã§ã€
+ Session を確実ã«é–‰ã˜ã¦ãã ã•ã„。
- HibernateException ‚ÍAHibernate‰i‘±‰»‘w‚Ì’†‚Å”¶‚·‚鑽‚‚̃Gƒ‰[‚ð
- ƒ‰ƒbƒv‚·‚éAŒŸ¸‚³‚ê‚È‚¢—áŠO‚Å‚·iHibernate‚̌¢ƒo[ƒWƒ‡ƒ“‚͈Ⴂ‚Ü‚µ‚½jB
- Ž„‚½‚¿‚̈ӌ©‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“ŠJ”ŽÒ‚ɉñ•œ•s‰Â”\‚È—áŠO‚ð
- ‰º‘w‚ŃLƒƒƒbƒ`‚·‚邱‚Æ‚ð‹—v‚·‚ׂ«‚Å‚Í‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ‘½‚‚̃VƒXƒeƒ€‚Å‚ÍAŒŸ¸‚³‚ê‚È‚¢—áŠO‚Æ’v–½“I‚È—áŠO‚ÍA
- ƒR[ƒ‹ƒXƒ^ƒbƒN‚Ìʼn‚̃tƒŒ[ƒ€‚Ì‚P‚Âi—Ⴆ‚ÎAÅãˆÊ‚Ì‘w‚Åj‚Ńnƒ“ƒhƒŠƒ“ƒO‚µA
- ƒGƒ‰[ƒƒbƒZ[ƒW‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒ†[ƒU[‚É•\Ž¦‚µ‚Ü‚·
- i‚à‚µ‚‚ÍA‘¼‚Ì“K؂Ȉ—‚ðŽÀŽ{‚µ‚Ü‚·jB
- Hibernate‚ÍAHibernateException ˆÈŠO‚ÌŒŸ¸‚³‚ê‚È‚¢—áŠO‚à
- “Š‚°‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ê‚ç‚à‚Ü‚½A‰ñ•œ•s‰Â”\‚Å‚ ‚èA“K؂Ȉ—‚ðŽÀŽ{‚·‚ׂ«‚Å‚·B
+ HibernateException ã¯ã€Hibernate永続化層ã®ä¸ã§ç™ºç”Ÿã™ã‚‹å¤šãã®ã‚¨ãƒ©ãƒ¼ã‚’
+ ラップã™ã‚‹ã€æ¤œæŸ»ã•ã‚Œãªã„例外ã§ã™ï¼ˆHibernateã®å¤ã„ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯é•ã„ã¾ã—ãŸï¼‰ã€‚
+ ç§ãŸã¡ã®æ„見ã¯ã€ã‚¢ãƒ—リケーション開発者ã«å›žå¾©ä¸å¯èƒ½ãªä¾‹å¤–ã‚’
+ 下層ã§ã‚ャッãƒã™ã‚‹ã“ã¨ã‚’å¼·è¦ã™ã¹ãã§ã¯ãªã„ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ 多ãã®ã‚·ã‚¹ãƒ†ãƒ ã§ã¯ã€æ¤œæŸ»ã•ã‚Œãªã„例外ã¨è‡´å‘½çš„ãªä¾‹å¤–ã¯ã€
+ コールスタックã®æœ€åˆã®ãƒ•ãƒ¬ãƒ¼ãƒ ã®ï¼‘ã¤ï¼ˆä¾‹ãˆã°ã€æœ€ä¸Šä½ã®å±¤ã§ï¼‰ã§ãƒãƒ³ãƒ‰ãƒªãƒ³ã‚°ã—ã€
+ エラーメッセージをアプリケーションユーザーã«è¡¨ç¤ºã—ã¾ã™
+ (もã—ãã¯ã€ä»–ã®é©åˆ‡ãªå‡¦ç†ã‚’実施ã—ã¾ã™ï¼‰ã€‚
+ Hibernateã¯ã€HibernateException 以外ã®æ¤œæŸ»ã•ã‚Œãªã„例外も
+ 投ã’ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“れらもã¾ãŸã€å›žå¾©ä¸å¯èƒ½ã§ã‚ã‚Šã€é©åˆ‡ãªå‡¦ç†ã‚’実施ã™ã¹ãã§ã™ã€‚
- Hibernate‚ÍAƒf[ƒ^ƒx[ƒX‚Ƃ̑Θb’†‚É“Š‚°‚ç‚ꂽ SQLException ‚ð
- JDBCException ‚щƒbƒv‚µ‚Ü‚·B
- ŽÀ‚ÍA—áŠO‚ð‚æ‚èˆÓ–¡‚Ì‚ ‚é JDBCException ‚̃TƒuƒNƒ‰ƒX‚É
- •ÏŠ·‚µ‚悤‚ÆŽŽ‚Ý‚Ü‚·B
- Œ³‚Ì SQLException ‚ÍAJDBCException.getCause()
- ‚É‚æ‚è‚¢‚Â‚Å‚à“¾‚ç‚ê‚Ü‚·B
- Hibernate‚ÍASessionFactory ‚ɒljÁ‚³‚ê‚Ä‚¢‚é
- SQLExceptionConverter ‚ðŽg‚¢ASQLException ‚ð
- “K“–‚È JDBCException ƒTƒuƒNƒ‰ƒX‚É•ÏŠ·‚µ‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍASQLExceptionConverter ‚Íݒ肳‚ê‚Ä‚¢‚éSQL•ûŒ¾‚É‚æ‚è
- ’è‹`‚³‚ê‚Ü‚·B
- ˆê•û‚ÅA“ÆŽ©‚ÌŽÀ‘•‚É·‚µ‘Ö‚¦‚邱‚Æ‚à‚Å‚«‚Ü‚·
- iÚׂÍASQLExceptionConverterFactory ƒNƒ‰ƒX‚ÌJavadoc‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢jB
- •W€“I‚È JDBCException ‚̃Tƒuƒ^ƒCƒv‚ð‰º‹L‚ÉŽ¦‚µ‚Ü‚·B
+ Hibernateã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨ã®å¯¾è©±ä¸ã«æŠ•ã’られ㟠SQLException ã‚’
+ JDBCException ã§ãƒ©ãƒƒãƒ—ã—ã¾ã™ã€‚
+ 実ã¯ã€ä¾‹å¤–をよりæ„味ã®ã‚ã‚‹ JDBCException ã®ã‚µãƒ–クラスã«
+ 変æ›ã—よã†ã¨è©¦ã¿ã¾ã™ã€‚
+ 元㮠SQLException ã¯ã€JDBCException.getCause()
+ ã«ã‚ˆã‚Šã„ã¤ã§ã‚‚得られã¾ã™ã€‚
+ Hibernateã¯ã€SessionFactory ã«è¿½åŠ ã•ã‚Œã¦ã„ã‚‹
+ SQLExceptionConverter を使ã„ã€SQLException ã‚’
+ é©å½“㪠JDBCException サブクラスã«å¤‰æ›ã—ã¾ã™ã€‚
+ デフォルトã§ã¯ã€SQLExceptionConverter ã¯è¨å®šã•ã‚Œã¦ã„ã‚‹SQL方言ã«ã‚ˆã‚Š
+ 定義ã•ã‚Œã¾ã™ã€‚
+ 一方ã§ã€ç‹¬è‡ªã®å®Ÿè£…ã«å·®ã—替ãˆã‚‹ã“ã¨ã‚‚ã§ãã¾ã™
+ (詳細ã¯ã€SQLExceptionConverterFactory クラスã®Javadocã‚’å‚ç…§ã—ã¦ãã ã•ã„)。
+ 標準的㪠JDBCException ã®ã‚µãƒ–タイプを下記ã«ç¤ºã—ã¾ã™ã€‚
JDBCConnectionException -
- Šî‘b‚Æ‚È‚éJDBC’ÊM‚̃Gƒ‰[‚ð•\‚µ‚Ü‚·B
+ 基礎ã¨ãªã‚‹JDBC通信ã®ã‚¨ãƒ©ãƒ¼ã‚’表ã—ã¾ã™ã€‚
SQLGrammarException -
- ”s‚·‚éSQL‚Ì•¶–@‚à‚µ‚‚Í\•¶‚Ì–â‘è‚ð•\‚µ‚Ü‚·B
+ 発行ã™ã‚‹SQLã®æ–‡æ³•ã‚‚ã—ãã¯æ§‹æ–‡ã®å•é¡Œã‚’表ã—ã¾ã™ã€‚
ConstraintViolationException -
- ‰½‚ç‚©‚ÌŒ`Ž®‚ÌŠ®‘S«§–ñˆá”½‚ð•\‚µ‚Ü‚·B
+ 何らã‹ã®å½¢å¼ã®å®Œå…¨æ€§åˆ¶ç´„é•åを表ã—ã¾ã™ã€‚
LockAcquisitionException -
- —v‹‚³‚ꂽ‘€ì‚ðŽÀŽ{‚·‚é‚Ì‚É•K—v‚ȃƒbƒNƒŒƒxƒ‹‚𓾂éۂ̃Gƒ‰[‚ð•\‚µ‚Ü‚·B
+ è¦æ±‚ã•ã‚ŒãŸæ“作を実施ã™ã‚‹ã®ã«å¿…è¦ãªãƒãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ã‚’å¾—ã‚‹éš›ã®ã‚¨ãƒ©ãƒ¼ã‚’表ã—ã¾ã™ã€‚
GenericJDBCException -
- ‘¼‚̃JƒeƒSƒŠ‚Ɉê’v‚µ‚È‚©‚Á‚½ˆê”Ê“I‚È—áŠO‚Å‚·B
+ ä»–ã®ã‚«ãƒ†ã‚´ãƒªã«ä¸€è‡´ã—ãªã‹ã£ãŸä¸€èˆ¬çš„ãªä¾‹å¤–ã§ã™ã€‚
@@ -775,22 +777,22 @@ catch (RuntimeException e) {
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃^ƒCƒ€ƒAƒEƒg
+ トランザクションã®ã‚¿ã‚¤ãƒ アウト
- EJB‚̂悤‚ÈŠÇ—‚³‚ꂽŠÂ‹«‚ª’ñ‹Ÿ‚·‚é‚«‚í‚ß‚Äd—v‚È“Á’¥‚Ì‚P‚‚ÍA
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃^ƒCƒ€ƒAƒEƒg‚Å‚·B
- ‚±‚ê‚ÍŠÇ—‚³‚ê‚Ä‚¢‚È‚¢ƒR[ƒh‚É‚Í’ñ‹Ÿ‚Å‚«‚Ü‚¹‚ñB
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ^ƒCƒ€ƒAƒEƒg‚ÍA•s•is‚ȃgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ª
- ƒ†[ƒU[‚ɃŒƒXƒ|ƒ“ƒX‚ð•Ô‚³‚È‚¢‚Ü‚ÜA–³ŠúŒÀ‚ɃŠƒ\[ƒX‚ðŽg‚¢‘±‚¯‚È‚¢
- ‚±‚Æ‚ð•ÛႵ‚Ü‚·B
- ŠÇ—‚³‚ꂽŠÂ‹«iJTAj‚ÌŠO‚Å‚ÍAHibernate‚Í‚±‚Ì‹@”\‚ðƒtƒ‹‚É’ñ‹Ÿ‚Å‚«‚Ü‚¹‚ñB
- ‚µ‚©‚µ‚È‚ª‚çAHibernate‚ÍŽŸ‚̂悤‚ȃf[ƒ^ƒAƒNƒZƒX‘€ì‚̧Œä‚‚ç‚¢‚Í‚Å‚«‚Ü‚·B
- ƒf[ƒ^ƒx[ƒXƒŒƒxƒ‹‚̃fƒbƒhƒƒbƒN‚â‘å‚«‚ȃŠƒUƒ‹ƒgƒZƒbƒg‚ð•Ô‚·ƒNƒGƒŠ‚ð
- ’è‹`‚³‚ꂽƒ^ƒCƒ€ƒAƒEƒg‚É‚æ‚Á‚ÄŠmŽÀ‚ɧŒÀ‚µ‚Ü‚·B
- ŠÇ—‚³‚ꂽŠÂ‹«‚Å‚ÍAHibernate‚̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ^ƒCƒ€ƒAƒEƒg‚ðJTA‚ɈÏ÷‚µ‚Ü‚·B
- ‚±‚Ì‹@”\‚ÍAHibernate‚Ì Transaction ƒIƒuƒWƒFƒNƒg‚É
- ‚æ‚Á‚Ä’ŠÛ‰»‚³‚ê‚Ä‚¢‚Ü‚·B
+ EJBã®ã‚ˆã†ãªç®¡ç†ã•ã‚ŒãŸç’°å¢ƒãŒæä¾›ã™ã‚‹ãã‚ã‚ã¦é‡è¦ãªç‰¹å¾´ã®ï¼‘ã¤ã¯ã€
+ トランザクションã®ã‚¿ã‚¤ãƒ アウトã§ã™ã€‚
+ ã“ã‚Œã¯ç®¡ç†ã•ã‚Œã¦ã„ãªã„コードã«ã¯æä¾›ã§ãã¾ã›ã‚“。
+ トランザクションタイムアウトã¯ã€ä¸å“è¡Œãªãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ãŒ
+ ユーザーã«ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã‚’è¿”ã•ãªã„ã¾ã¾ã€ç„¡æœŸé™ã«ãƒªã‚½ãƒ¼ã‚¹ã‚’使ã„続ã‘ãªã„
+ ã“ã¨ã‚’ä¿éšœã—ã¾ã™ã€‚
+ 管ç†ã•ã‚ŒãŸç’°å¢ƒï¼ˆJTA)ã®å¤–ã§ã¯ã€Hibernateã¯ã“ã®æ©Ÿèƒ½ã‚’フルã«æä¾›ã§ãã¾ã›ã‚“。
+ ã—ã‹ã—ãªãŒã‚‰ã€Hibernateã¯æ¬¡ã®ã‚ˆã†ãªãƒ‡ãƒ¼ã‚¿ã‚¢ã‚¯ã‚»ã‚¹æ“作ã®åˆ¶å¾¡ãらã„ã¯ã§ãã¾ã™ã€‚
+ データベースレベルã®ãƒ‡ãƒƒãƒ‰ãƒãƒƒã‚¯ã‚„大ããªãƒªã‚¶ãƒ«ãƒˆã‚»ãƒƒãƒˆã‚’è¿”ã™ã‚¯ã‚¨ãƒªã‚’
+ 定義ã•ã‚ŒãŸã‚¿ã‚¤ãƒ アウトã«ã‚ˆã£ã¦ç¢ºå®Ÿã«åˆ¶é™ã—ã¾ã™ã€‚
+ 管ç†ã•ã‚ŒãŸç’°å¢ƒã§ã¯ã€Hibernateã¯ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚¿ã‚¤ãƒ アウトをJTAã«å§”è²ã—ã¾ã™ã€‚
+ ã“ã®æ©Ÿèƒ½ã¯ã€Hibernateã® Transaction オブジェクトã«
+ よã£ã¦æŠ½è±¡åŒ–ã•ã‚Œã¦ã„ã¾ã™ã€‚
- CMTƒr[ƒ“‚Ì’†‚Å‚Í setTimeout() ‚ð
- ŒÄ‚Ño‚¹‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ƒ^ƒCƒ€ƒAƒEƒg‚Í錾“I‚É’è‹`‚³‚ê‚é‚ׂ«‚Å‚·B
+ CMTビーンã®ä¸ã§ã¯ setTimeout() ã‚’
+ 呼ã³å‡ºã›ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ トランザクションタイムアウトã¯å®£è¨€çš„ã«å®šç¾©ã•ã‚Œã‚‹ã¹ãã§ã™ã€‚
@@ -824,32 +826,32 @@ finally {
- ŠyŠÏ“I“¯ŽžŽÀs§Œä
+ 楽観的åŒæ™‚実行制御
- ‚‚¢•À—ñ«‚Æ‚‚¢ƒXƒP[ƒ‰ƒrƒŠƒeƒB‚Ì—¼•û‚ðŽÀŒ»‚·‚éƒAƒvƒ[ƒ`‚ÍA
- ƒo[ƒWƒ‡ƒjƒ“ƒO‚ðŽg‚Á‚½ŠyŠÏ“I“¯ŽžŽÀs§Œä‚Ì‚Ý‚Å‚·B
- XV‚ÌÕ“Ë‚ðŒ©‚Â‚¯‚邽‚ß‚Éi‚¨‚æ‚ÑAXV‚ªŽ¸‚í‚ê‚é‚Ì‚ð–h‚®‚½‚ß‚ÉjA
- ƒo[ƒWƒ‡ƒ“”Ô†‚à‚µ‚‚̓^ƒCƒ€ƒXƒ^ƒ“ƒv‚ðŽg‚Á‚ÄAƒo[ƒWƒ‡ƒ“‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
- Hibernate‚ÍAŠyŠÏ“I“¯ŽžŽÀs‚ðs‚¤ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒR[ƒh‚ð‘‚‚½‚ß‚Ì
- ƒAƒvƒ[ƒ`‚ð‚R‚Â’ñ‹Ÿ‚µ‚Ü‚·B
- Ž„‚½‚¿‚ªŒ©‚¹‚郆[ƒXƒP[ƒX‚ÍA’·‚¢‘Θb‚ðŽ‚¿‚Ü‚·‚ªA
- ƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚Í‚Ü‚¾‚P‚‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚ÅXV‚ðŽ¸‚¤‚±‚Æ‚ð–h‚®
- —˜“_‚àŽ‚Á‚Ä‚¢‚Ü‚·B
+ 高ã„並列性ã¨é«˜ã„スケーラビリティã®ä¸¡æ–¹ã‚’実ç¾ã™ã‚‹ã‚¢ãƒ—ãƒãƒ¼ãƒã¯ã€
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã‚’使ã£ãŸæ¥½è¦³çš„åŒæ™‚実行制御ã®ã¿ã§ã™ã€‚
+ æ›´æ–°ã®è¡çªã‚’見ã¤ã‘ã‚‹ãŸã‚ã«ï¼ˆãŠã‚ˆã³ã€æ›´æ–°ãŒå¤±ã‚れるã®ã‚’防ããŸã‚ã«ï¼‰ã€
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚‚ã—ãã¯ã‚¿ã‚¤ãƒ スタンプを使ã£ã¦ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚
+ Hibernateã¯ã€æ¥½è¦³çš„åŒæ™‚実行を行ã†ã‚¢ãƒ—リケーションコードを書ããŸã‚ã®
+ アプãƒãƒ¼ãƒã‚’3ã¤æä¾›ã—ã¾ã™ã€‚
+ ç§ãŸã¡ãŒè¦‹ã›ã‚‹ãƒ¦ãƒ¼ã‚¹ã‚±ãƒ¼ã‚¹ã¯ã€é•·ã„対話をæŒã¡ã¾ã™ãŒã€
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã¯ã¾ã 1ã¤ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ä¸ã§æ›´æ–°ã‚’失ã†ã“ã¨ã‚’防ã
+ 利点もæŒã£ã¦ã„ã¾ã™ã€‚
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚æ‚éƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN
+ アプリケーションã«ã‚ˆã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯
- Hibernate‚É‚Ù‚Æ‚ñ‚Ç•‚¯‚Ä‚à‚ç‚킸‚ÉŽÀ‘•‚·‚éƒP[ƒX‚Å‚·B
- ƒf[ƒ^ƒx[ƒX‚Æ‚Ì‚â‚èŽæ‚è‚ÍA‚»‚ꂼ‚êV‚µ‚¢ Session ‚Ì’†‚Å‹N‚±‚è‚Ü‚·B
- ŠJ”ŽÒ‚ÍA‚·‚ׂẲi‘±«ƒCƒ“ƒXƒ^ƒ“ƒX‚ð‘€ì‚·‚é‘O‚ÉA
- ƒf[ƒ^ƒx[ƒX‚©‚çÄ“Ç‚Ýž‚Ý‚·‚éÓ–±‚ª‚ ‚è‚Ü‚·B
- ‚±‚̃Aƒvƒ[ƒ`‚Å‚ÍA‘Θbƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì•ª—£‚ðŽç‚邽‚ß‚ÉA
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“Ž©g‚ªƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ðs‚¤•K—v‚ª‚ ‚è‚Ü‚·B
- ‚±‚̃Aƒvƒ[ƒ`‚ÍAƒf[ƒ^ƒx[ƒXƒAƒNƒZƒX‚Ì’†‚Å‚ÍAÅ‚à”ñŒø—¦‚Å‚·B
- ƒGƒ“ƒeƒBƒeƒBEJB‚ÆÅ‚àŽ—‚Ä‚¢‚éƒAƒvƒ[ƒ`‚Å‚·B
+ Hibernateã«ã»ã¨ã‚“ã©åŠ©ã‘ã¦ã‚‚らã‚ãšã«å®Ÿè£…ã™ã‚‹ã‚±ãƒ¼ã‚¹ã§ã™ã€‚
+ データベースã¨ã®ã‚„ã‚Šå–ã‚Šã¯ã€ãã‚Œãžã‚Œæ–°ã—ã„ Session ã®ä¸ã§èµ·ã“ã‚Šã¾ã™ã€‚
+ 開発者ã¯ã€ã™ã¹ã¦ã®æ°¸ç¶šæ€§ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’æ“作ã™ã‚‹å‰ã«ã€
+ データベースã‹ã‚‰å†èªã¿è¾¼ã¿ã™ã‚‹è²¬å‹™ãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã§ã¯ã€å¯¾è©±ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®åˆ†é›¢ã‚’守るãŸã‚ã«ã€
+ アプリケーション自身ãŒãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã‚’è¡Œã†å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¢ã‚¯ã‚»ã‚¹ã®ä¸ã§ã¯ã€æœ€ã‚‚éžåŠ¹çŽ‡ã§ã™ã€‚
+ エンティティEJBã¨æœ€ã‚‚ä¼¼ã¦ã„るアプãƒãƒ¼ãƒã§ã™ã€‚
- <version> ‚ðŽg‚Á‚ÄAversion
- ƒvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- Hibernate‚ÍAƒGƒ“ƒeƒBƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚éê‡Aƒtƒ‰ƒbƒVƒ…‚µA
- ‚»‚ÌŠÔ‚É version ƒvƒƒpƒeƒB‚ðŽ©“®“I‚ɃCƒ“ƒNƒŠƒƒ“ƒg‚µ‚Ü‚·B
+ <version> を使ã£ã¦ã€version
+ プãƒãƒ‘ティをマッピングã—ã¾ã™ã€‚
+ Hibernateã¯ã€ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãŒãƒ€ãƒ¼ãƒ†ã‚£ã§ã‚ã‚‹å ´åˆã€ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã—ã€
+ ãã®é–“ã« version プãƒãƒ‘ティを自動的ã«ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã—ã¾ã™ã€‚
- ‚à‚¿‚ë‚ñAƒf[ƒ^‚Ì•À—ñ«‚ª’á‚¢ŠÂ‹«‚ʼn^—p‚µ‚Ä‚¨‚èAƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ª•s—v‚È‚çA
- ‚±‚̃Aƒvƒ[ƒ`‚ðŽg‚¢Aƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ðƒXƒLƒbƒv‚·‚邾‚¯‚Å‚·B
- ‚»‚ÌꇂÍA’·‚¢‘Θb‚É‚ÍA
- uÅŒã‚ɃRƒ~ƒbƒg‚µ‚½‚à‚Ì‚ªŸ‚Âv ‚ªƒfƒtƒHƒ‹ƒg‚Ìí—ª‚Å‚µ‚傤B
- ‚±‚̃Aƒvƒ[ƒ`‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃†[ƒU[‚𬗂³‚¹‚é‚©‚à‚µ‚ê‚È‚¢‚±‚Æ‚ð
- S‚É—¯‚ß‚Ä’u‚¢‚Ä‚‚¾‚³‚¢B‚»‚ê‚ÍAƒGƒ‰[ƒƒbƒZ[ƒW‚â‹£‡‚µ‚½•ÏX‚ðƒ}[ƒW‚·‚é‹@‰ï‚ª
- ‚È‚¢‚Ü‚ÜAXV‚ðŽ¸‚¤ŒoŒ±‚ð‚·‚é‚½‚ß‚Å‚·B
+ ã‚‚ã¡ã‚ã‚“ã€ãƒ‡ãƒ¼ã‚¿ã®ä¸¦åˆ—性ãŒä½Žã„環境ã§é‹ç”¨ã—ã¦ãŠã‚Šã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ãŒä¸è¦ãªã‚‰ã€
+ ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã‚’使ã„ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã‚’スã‚ップã™ã‚‹ã ã‘ã§ã™ã€‚
+ ãã®å ´åˆã¯ã€é•·ã„対話ã«ã¯ã€
+ 「最後ã«ã‚³ãƒŸãƒƒãƒˆã—ãŸã‚‚ã®ãŒå‹ã¤ã€ ãŒãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æˆ¦ç•¥ã§ã—ょã†ã€‚
+ ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã¯ã€ã‚¢ãƒ—リケーションã®ãƒ¦ãƒ¼ã‚¶ãƒ¼ã‚’æ··ä¹±ã•ã›ã‚‹ã‹ã‚‚ã—ã‚Œãªã„ã“ã¨ã‚’
+ 心ã«ç•™ã‚ã¦ç½®ã„ã¦ãã ã•ã„。ãã‚Œã¯ã€ã‚¨ãƒ©ãƒ¼ãƒ¡ãƒƒã‚»ãƒ¼ã‚¸ã‚„競åˆã—ãŸå¤‰æ›´ã‚’マージã™ã‚‹æ©Ÿä¼šãŒ
+ ãªã„ã¾ã¾ã€æ›´æ–°ã‚’失ã†çµŒé¨“ã‚’ã™ã‚‹ãŸã‚ã§ã™ã€‚
- Šm‚©‚ÉAƒ}ƒjƒ…ƒAƒ‹‚É‚æ‚éƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ÍA±×‚È‹VŽ®‚¾‚¯‚ÅŽÀs‚Å‚«‚Ü‚·‚ªA
- ‘½‚‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Æ‚Á‚ÄŽÀ—p“I‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ‚µ‚΂µ‚ÎA‚P‚‚̃Cƒ“ƒXƒ^ƒ“ƒX‚¾‚¯‚Å‚È‚A
- C³‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ÌŠ®‘S‚ȃOƒ‰ƒt‚ðƒ`ƒFƒbƒN‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- Hibernate‚ÍAÝŒvƒpƒ‰ƒ_ƒCƒ€‚Æ‚µ‚ÄAŠg’£ Session ‚©
- •ª—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ðŽ©“®“I‚Ƀo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚µ‚Ü‚·B
+ 確ã‹ã«ã€ãƒžãƒ‹ãƒ¥ã‚¢ãƒ«ã«ã‚ˆã‚‹ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã¯ã€äº›ç´°ãªå„€å¼ã ã‘ã§å®Ÿè¡Œã§ãã¾ã™ãŒã€
+ 多ãã®ã‚¢ãƒ—リケーションã«ã¨ã£ã¦å®Ÿç”¨çš„ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ã—ã°ã—ã°ã€ï¼‘ã¤ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã ã‘ã§ãªãã€
+ ä¿®æ£ã•ã‚ŒãŸã‚ªãƒ–ジェクトã®å®Œå…¨ãªã‚°ãƒ©ãƒ•ã‚’ãƒã‚§ãƒƒã‚¯ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ Hibernateã¯ã€è¨è¨ˆãƒ‘ラダイムã¨ã—ã¦ã€æ‹¡å¼µ Session ã‹
+ 分離ã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’自動的ã«ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚
- Šg’£ƒZƒbƒVƒ‡ƒ“‚ÆŽ©“®ƒo[ƒWƒ‡ƒjƒ“ƒO
+ 拡張セッションã¨è‡ªå‹•ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°
- ‚P‚Â‚Ì Session ƒCƒ“ƒXƒ^ƒ“ƒX‚Æ‚»‚̉i‘±«ƒCƒ“ƒXƒ^ƒ“ƒX‚ÍA
- session-per-conversation ‚Æ‚µ‚Ä’m‚ç‚ê‚éA
- ‘Θb‘S‘Ì‚ÅŽg‚í‚ê‚Ü‚·B
- Hibernate‚̓tƒ‰ƒbƒVƒ…‚·‚éÛ‚ÉAƒCƒ“ƒXƒ^ƒ“ƒX‚̃o[ƒWƒ‡ƒ“‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
- “¯Žž‚ÉC³‚³‚ꂽ‚±‚Æ‚ðŒŸo‚·‚é‚ÆA—áŠO‚ð“Š‚°‚Ü‚·B
- ‚±‚Ì—áŠO‚ðƒLƒƒƒbƒ`‚µ‚Ĉµ‚¤‚Ì‚ÍAŠJ”ŽÒ‚ÌÓ”C‚Å‚·
- iˆê”Ê“I‚È‘I‘ðŽˆ‚ÍA•ÏX‚ðƒ}[ƒW‚·‚é‚©ŒÃ‚‚È‚¢ƒf[ƒ^‚ŃrƒWƒlƒX‘Θb‚ð
- ăXƒ^[ƒg‚·‚é‹@‰ï‚ðƒ†[ƒU[‚É’ñ‹Ÿ‚·‚邱‚Æ‚Å‚·jB
+ 1ã¤ã® Session インスタンスã¨ãã®æ°¸ç¶šæ€§ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ã€
+ session-per-conversation ã¨ã—ã¦çŸ¥ã‚‰ã‚Œã‚‹ã€
+ 対話全体ã§ä½¿ã‚ã‚Œã¾ã™ã€‚
+ Hibernateã¯ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹éš›ã«ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚
+ åŒæ™‚ã«ä¿®æ£ã•ã‚ŒãŸã“ã¨ã‚’検出ã™ã‚‹ã¨ã€ä¾‹å¤–を投ã’ã¾ã™ã€‚
+ ã“ã®ä¾‹å¤–ã‚’ã‚ャッãƒã—ã¦æ‰±ã†ã®ã¯ã€é–‹ç™ºè€…ã®è²¬ä»»ã§ã™
+ (一般的ãªé¸æŠžè‚¢ã¯ã€å¤‰æ›´ã‚’マージã™ã‚‹ã‹å¤ããªã„データã§ãƒ“ジãƒã‚¹å¯¾è©±ã‚’
+ å†ã‚¹ã‚¿ãƒ¼ãƒˆã™ã‚‹æ©Ÿä¼šã‚’ユーザーã«æä¾›ã™ã‚‹ã“ã¨ã§ã™ï¼‰ã€‚
- ƒ†[ƒU[‚̑Θb‚ð‘Ò‚Á‚Ä‚¢‚é‚Æ‚«‚ÍA
- Session ‚ðŠî‘b‚Æ‚È‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚©‚çØ‚è—£‚µ‚Ü‚·B
- ‚±‚̃Aƒvƒ[ƒ`‚ÍAƒf[ƒ^ƒx[ƒXƒAƒNƒZƒX‚Ì’†‚Å‚ÍAÅ‚àŒø—¦“I‚Å‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍAƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚╪—£‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚ðĒljÁ‚·‚邱‚Æ
- ‚ÉŠÖS‚ðŽ‚•K—v‚Í‚ ‚è‚Ü‚¹‚ñB‚Ü‚½A‚ ‚ç‚ä‚éƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì’†‚Å
- ƒCƒ“ƒXƒ^ƒ“ƒX‚ðÄ“Ç‚Ýž‚Ý‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+ ユーザーã®å¯¾è©±ã‚’å¾…ã£ã¦ã„ã‚‹ã¨ãã¯ã€
+ Session を基礎ã¨ãªã‚‹JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‹ã‚‰åˆ‡ã‚Šé›¢ã—ã¾ã™ã€‚
+ ã“ã®ã‚¢ãƒ—ãƒãƒ¼ãƒã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¢ã‚¯ã‚»ã‚¹ã®ä¸ã§ã¯ã€æœ€ã‚‚効率的ã§ã™ã€‚
+ アプリケーションã¯ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã‚„分離ã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’å†è¿½åŠ ã™ã‚‹ã“ã¨
+ ã«é–¢å¿ƒã‚’æŒã¤å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。ã¾ãŸã€ã‚らゆるデータベーストランザクションã®ä¸ã§
+ インスタンスをå†èªã¿è¾¼ã¿ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
- foo ƒIƒuƒWƒFƒNƒg‚ÍAŽ©•ª‚ðƒ[ƒh‚µ‚½ Session
- ‚ð‚Ü‚¾’m‚Á‚Ä‚¢‚Ü‚·B
- ŒÃ‚¢ƒZƒbƒVƒ‡ƒ“‚Ìã‚ÅV‚µ‚¢ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðŠJŽn‚·‚邱‚Æ‚ÅA
- V‚µ‚¢ƒRƒlƒNƒVƒ‡ƒ“‚ðŽæ“¾‚µA‚»‚̃ZƒbƒVƒ‡ƒ“‚ªÄŠJ‚³‚ê‚Ü‚·B
- ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒRƒ~ƒbƒg‚·‚邱‚Æ‚ÅA
- ƒZƒbƒVƒ‡ƒ“‚©‚çJDBCƒRƒlƒNƒVƒ‡ƒ“‚ðØ’f‚µAƒRƒlƒNƒVƒ‡ƒ“‚ðƒv[ƒ‹‚É•Ô‚µ‚Ü‚·B
- ÄÚ‘±‚µ‚½ŒãAXV‚µ‚Ä‚¢‚È‚¢ƒf[ƒ^‚̃o[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ð‹§‚·‚邽‚ß‚ÉA
- ‘¼‚̃gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚É‚æ‚èXV‚³‚ê‚Ä‚¢‚é‚©‚à‚µ‚ê‚È‚¢ƒIƒuƒWƒFƒNƒg‚ÉŠÖ‚µ‚ÄA
- LockMode.READ ‚ð‚‚¯‚Ä Session.lock()
- ‚ðŒÄ‚Ño‚·‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- XV‚µ‚Ä ‚¢‚é ƒf[ƒ^‚ðƒƒbƒN‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+ foo オブジェクトã¯ã€è‡ªåˆ†ã‚’ãƒãƒ¼ãƒ‰ã—㟠Session
+ ã‚’ã¾ã 知ã£ã¦ã„ã¾ã™ã€‚
+ å¤ã„セッションã®ä¸Šã§æ–°ã—ã„データベーストランザクションを開始ã™ã‚‹ã“ã¨ã§ã€
+ æ–°ã—ã„コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å–å¾—ã—ã€ãã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒå†é–‹ã•ã‚Œã¾ã™ã€‚
+ データベーストランザクションをコミットã™ã‚‹ã“ã¨ã§ã€
+ セッションã‹ã‚‰JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’切æ–ã—ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’プールã«è¿”ã—ã¾ã™ã€‚
+ å†æŽ¥ç¶šã—ãŸå¾Œã€æ›´æ–°ã—ã¦ã„ãªã„データã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã‚’強制ã™ã‚‹ãŸã‚ã«ã€
+ ä»–ã®ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã«ã‚ˆã‚Šæ›´æ–°ã•ã‚Œã¦ã„ã‚‹ã‹ã‚‚ã—ã‚Œãªã„オブジェクトã«é–¢ã—ã¦ã€
+ LockMode.READ ã‚’ã¤ã‘㦠Session.lock()
+ を呼ã³å‡ºã™ã“ã¨ãŒã§ãã¾ã™ã€‚
+ æ›´æ–°ã—㦠ã„ã‚‹ データをãƒãƒƒã‚¯ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
- ’ÊíAŠg’£ Session ‚É FlushMode.MANUAL
- ‚ðƒZƒbƒg‚µ‚Ü‚·B
- ÅŒã‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŽüŠú‚Å‚Ì‚ÝA
- ‘Θb‚Ì’†‚Å•ÏX‚³‚ꂽ‚·‚ׂĂðŽÀۂɉi‘±‰»‚³‚¹‚邽‚ß‚Å‚·B
- ‚䂦‚ÉAÅŒã‚̃f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚Ì‚Ý flush()
- ƒIƒyƒŒ[ƒVƒ‡ƒ“‚ðŠÜ‚Ý‚Ü‚·B‚»‚µ‚ÄA‘Θb‚ðI‚í‚点‚邽‚ß‚ÉA
- ƒZƒbƒVƒ‡ƒ“‚à close() ‚µ‚Ü‚·B
+ 通常ã€æ‹¡å¼µ Session ã« FlushMode.MANUAL
+ をセットã—ã¾ã™ã€‚
+ 最後ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®å‘¨æœŸã§ã®ã¿ã€
+ 対話ã®ä¸ã§å¤‰æ›´ã•ã‚ŒãŸã™ã¹ã¦ã‚’実際ã«æ°¸ç¶šåŒ–ã•ã›ã‚‹ãŸã‚ã§ã™ã€‚
+ ゆãˆã«ã€æœ€å¾Œã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ã¿ flush()
+ オペレーションをå«ã¿ã¾ã™ã€‚ãã—ã¦ã€å¯¾è©±ã‚’終ã‚らã›ã‚‹ãŸã‚ã«ã€
+ セッションも close() ã—ã¾ã™ã€‚
- ƒ†[ƒU[‚ªl—¶’†‚ÉAŠi”[‚·‚邱‚Æ‚ª‚Å‚«‚È‚¢‚‚ç‚¢ Session
- ‚ª‘å‚«‚¢‚Ì‚Å‚ ‚ê‚ÎA‚±‚̃pƒ^[ƒ“‚Í–â‘肪‚ ‚è‚Ü‚·B
- —Ⴆ‚ÎAHttpSession ‚͉”\‚ÈŒÀ‚謂³‚•Û‚‚ׂ«‚Å‚·B
- Session ‚Íi‹§“I‚Éj‚PŽŸƒLƒƒƒbƒVƒ…‚Å‚à‚ ‚èA
- ƒ[ƒh‚µ‚½ƒIƒuƒWƒFƒNƒg‚ð‚·‚×‚Ä•ÛŽ‚µ‚Ü‚·B
- ‚¨‚»‚ç‚AƒŠƒNƒGƒXƒg^ƒŒƒXƒ|ƒ“ƒX‚̃TƒCƒNƒ‹‚ª”‰ñ‚Å‚ ‚ê‚ÎA‚±‚Ìí—ª‚ªŽg‚¦‚Ü‚·B
+ ユーザーãŒè€ƒæ…®ä¸ã«ã€æ ¼ç´ã™ã‚‹ã“ã¨ãŒã§ããªã„ãらㄠSession
+ ãŒå¤§ãã„ã®ã§ã‚ã‚Œã°ã€ã“ã®ãƒ‘ターンã¯å•é¡ŒãŒã‚ã‚Šã¾ã™ã€‚
+ 例ãˆã°ã€HttpSession ã¯å¯èƒ½ãªé™ã‚Šå°ã•ãä¿ã¤ã¹ãã§ã™ã€‚
+ Session ã¯ï¼ˆå¼·åˆ¶çš„ã«ï¼‰ï¼‘次ã‚ャッシュã§ã‚‚ã‚ã‚Šã€
+ ãƒãƒ¼ãƒ‰ã—ãŸã‚ªãƒ–ジェクトをã™ã¹ã¦ä¿æŒã—ã¾ã™ã€‚
+ ãŠãらãã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆï¼ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã®ã‚µã‚¤ã‚¯ãƒ«ãŒæ•°å›žã§ã‚ã‚Œã°ã€ã“ã®æˆ¦ç•¥ãŒä½¿ãˆã¾ã™ã€‚
- ‚P‚‚̑Θb‚Ì‚½‚ß‚¾‚¯‚É Session ‚ðŽg‚¤‚ׂ«‚Å‚·B
- ‚È‚º‚È‚çA‚·‚®‚ÉV‘N‚Å‚È‚¢ƒf[ƒ^‚ðŽ‚‚½‚ß‚Å‚·B
+ 1ã¤ã®å¯¾è©±ã®ãŸã‚ã ã‘ã« Session を使ã†ã¹ãã§ã™ã€‚
+ ãªãœãªã‚‰ã€ã™ãã«æ–°é®®ã§ãªã„データをæŒã¤ãŸã‚ã§ã™ã€‚
- iHibernate‚̈ȑO‚̃o[ƒWƒ‡ƒ“‚ÍA–¾Ž¦“I‚È Session ‚Ì
- Ø’f‚ÆÄÚ‘±‚ª•K—v‚¾‚Á‚½‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ê‚ç‚̃ƒ\ƒbƒh‚Í”ñ„§‚É‚È‚è‚Ü‚µ‚½B
- ‚È‚º‚È‚çAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ÌŠJŽn‚ÆI—¹‚Í“¯‚¶Œø‰Ê‚ª‚ ‚邽‚ß‚Å‚·Bj
+ (Hibernateã®ä»¥å‰ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¯ã€æ˜Žç¤ºçš„㪠Session ã®
+ 切æ–ã¨å†æŽ¥ç¶šãŒå¿…è¦ã ã£ãŸã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“れらã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯éžæŽ¨å¥¨ã«ãªã‚Šã¾ã—ãŸã€‚
+ ãªãœãªã‚‰ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®é–‹å§‹ã¨çµ‚了ã¯åŒã˜åŠ¹æžœãŒã‚ã‚‹ãŸã‚ã§ã™ã€‚)
- Ø’f‚µ‚½ Session ‚ð‰i‘±‰»‘w‚Ì‹ß‚‚Å•ÛŽ‚·‚ׂ«‚Å‚ ‚邱‚Æ‚É
- ’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- Œ¾‚¢Š·‚¦‚é‚ÆA‚R‘wŠÂ‹«‚Ì’†‚Å Session ‚ð•ÛŽ‚·‚邽‚ß‚ÉA
- EJBƒXƒe[ƒgƒtƒ‹ƒZƒbƒVƒ‡ƒ“Bean‚ðŽg‚Á‚Ä‚‚¾‚³‚¢B
- HttpSession ‚ÉŠi”[‚·‚邽‚ß‚ÉAWeb‘w‚É“]‘—‚µ‚È‚¢‚Å‚‚¾‚³‚¢
- i•Ê‚Ì‘w‚ւ̃VƒŠƒAƒ‰ƒCƒY‚à‚µ‚È‚¢‚Å‚‚¾‚³‚¢jB
+ 切æ–ã—㟠Session を永続化層ã®è¿‘ãã§ä¿æŒã™ã¹ãã§ã‚ã‚‹ã“ã¨ã«
+ 注æ„ã—ã¦ãã ã•ã„。
+ 言ã„æ›ãˆã‚‹ã¨ã€ï¼“層環境ã®ä¸ã§ Session ã‚’ä¿æŒã™ã‚‹ãŸã‚ã«ã€
+ EJBステートフルセッションBeanを使ã£ã¦ãã ã•ã„。
+ HttpSession ã«æ ¼ç´ã™ã‚‹ãŸã‚ã«ã€Web層ã«è»¢é€ã—ãªã„ã§ãã ã•ã„
+ (別ã®å±¤ã¸ã®ã‚·ãƒªã‚¢ãƒ©ã‚¤ã‚ºã‚‚ã—ãªã„ã§ãã ã•ã„)。
- Šg’£ƒZƒbƒVƒ‡ƒ“ƒpƒ^[ƒ“i‚à‚µ‚‚ÍAsession-per-conversationj‚ÍA
- Ž©“®“I‚ȃJƒŒƒ“ƒgƒZƒbƒVƒ‡ƒ“ƒRƒ“ƒeƒLƒXƒgŠÇ—‚ðŽÀŽ{‚·‚é‚æ‚è“‚¢B
- ‚±‚Ì‚½‚ß‚ÉA‚ ‚È‚½‚Í CurrentSessionContext ‚ÌŽÀ‘•‚ð‹Ÿ‹‹‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- Hibernate Wiki‚É‚ ‚é—á‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ 拡張セッションパターン(もã—ãã¯ã€session-per-conversation)ã¯ã€
+ 自動的ãªã‚«ãƒ¬ãƒ³ãƒˆã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚³ãƒ³ãƒ†ã‚スト管ç†ã‚’実施ã™ã‚‹ã‚ˆã‚Šé›£ã—ã„。
+ ã“ã®ãŸã‚ã«ã€ã‚ãªãŸã¯ CurrentSessionContext ã®å®Ÿè£…を供給ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ Hibernate Wikiã«ã‚る例をå‚ç…§ã—ã¦ãã ã•ã„。
- ƒfƒ^ƒbƒ`‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ÆŽ©“®ƒo[ƒWƒ‡ƒjƒ“ƒO
+ デタッãƒã•ã‚ŒãŸã‚ªãƒ–ジェクトã¨è‡ªå‹•ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°
- V‚µ‚¢ Session‚É‚æ‚èA‰i‘±‰»ƒXƒgƒAi–ó’F‚c‚aj‚Ƃ̑Θb‚ª”¶‚µ‚Ü‚·B
- ‚Ü‚½ˆê•ûA“¯‚¶‰i‘±«ƒCƒ“ƒXƒ^ƒ“ƒX‚ªAƒf[ƒ^ƒx[ƒX‚Ƃ̑Θb‚²‚Æ‚ÉÄ—˜—p‚³‚ê‚Ü‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍAŒ³X‚Í‘¼‚Ì Session ‚Ń[ƒh‚³‚êA
- ƒfƒ^ƒbƒ`‚³‚ꂽƒCƒ“ƒXƒ^ƒ“ƒX‚Ìó‘Ô‚ð‘€ì‚µ‚Ü‚·B
- ‚»‚µ‚ÄASession.update() ‚à‚µ‚‚ÍASession.saveOrUpdate()A
- Session.merge() ‚ðŽg‚Á‚ÄA‚»‚ê‚ç‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ðĒljÁ‚µ‚Ü‚·B
+ æ–°ã—ã„ Sessionã«ã‚ˆã‚Šã€æ°¸ç¶šåŒ–ストア(訳注:DB)ã¨ã®å¯¾è©±ãŒç™ºç”Ÿã—ã¾ã™ã€‚
+ ã¾ãŸä¸€æ–¹ã€åŒã˜æ°¸ç¶šæ€§ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ãŒã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨ã®å¯¾è©±ã”ã¨ã«å†åˆ©ç”¨ã•ã‚Œã¾ã™ã€‚
+ アプリケーションã¯ã€å…ƒã€…ã¯ä»–ã® Session ã§ãƒãƒ¼ãƒ‰ã•ã‚Œã€
+ デタッãƒã•ã‚ŒãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®çŠ¶æ…‹ã‚’æ“作ã—ã¾ã™ã€‚
+ ãã—ã¦ã€Session.update() ã‚‚ã—ãã¯ã€Session.saveOrUpdate()ã€
+ Session.merge() を使ã£ã¦ã€ãれらã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’å†è¿½åŠ ã—ã¾ã™ã€‚
- ‚±‚Ìꇂà‚â‚Í‚èAHibernate‚̓tƒ‰ƒbƒVƒ…‚·‚éÛ‚ÉAƒCƒ“ƒXƒ^ƒ“ƒX‚̃o[ƒWƒ‡ƒ“‚ðƒ`ƒFƒbƒN‚µ‚Ü‚·B
- XV‚Ì‹£‡‚ª”¶‚µ‚½ê‡‚É‚ÍA—áŠO‚ð“Š‚°‚Ü‚·B
+ ã“ã®å ´åˆã‚‚ã‚„ã¯ã‚Šã€Hibernateã¯ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹éš›ã«ã€ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¾ã™ã€‚
+ æ›´æ–°ã®ç«¶åˆãŒç™ºç”Ÿã—ãŸå ´åˆã«ã¯ã€ä¾‹å¤–を投ã’ã¾ã™ã€‚
- ƒIƒuƒWƒFƒNƒg‚ªC³‚³‚ê‚Ä‚¢‚È‚¢‚±‚Æ‚ðŠmM‚µ‚Ä‚¢‚éꇂÍA
- update() ‚Ì‘ã‚í‚è‚ÉALockMode.READ ‚ðŽg‚Á‚ÄA
- lock() ‚ðŒÄ‚Ño‚·‚±‚Æ‚à‚Å‚«‚Ü‚·
- i‚·‚ׂẴLƒƒƒbƒVƒ…‚ð‰I‰ñ‚µAƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚ðŽÀŽ{‚µ‚Ü‚·jB
+ オブジェクトãŒä¿®æ£ã•ã‚Œã¦ã„ãªã„ã“ã¨ã‚’確信ã—ã¦ã„ã‚‹å ´åˆã¯ã€
+ update() ã®ä»£ã‚ã‚Šã«ã€LockMode.READ を使ã£ã¦ã€
+ lock() を呼ã³å‡ºã™ã“ã¨ã‚‚ã§ãã¾ã™
+ (ã™ã¹ã¦ã®ã‚ャッシュを迂回ã—ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã‚’実施ã—ã¾ã™ï¼‰ã€‚
- Ž©“®ƒo[ƒWƒ‡ƒjƒ“ƒO‚̃JƒXƒ^ƒ}ƒCƒY
+ 自動ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã®ã‚«ã‚¹ã‚¿ãƒžã‚¤ã‚º
- ƒ}ƒbƒsƒ“ƒO‚Ì optimistic-lock ‘®«‚É false
- ‚ðÝ’è‚·‚邱‚Æ‚É‚æ‚èA“Á’è‚̃vƒƒpƒeƒB‚âƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚ß‚É
- Ž©“®ƒo[ƒWƒ‡ƒ“ƒCƒ“ƒNƒŠƒƒ“ƒg‚𖳌ø‚É‚Å‚«‚Ü‚·B
- ƒvƒƒpƒeƒB‚ªƒ_[ƒeƒB‚Å‚ ‚Á‚Ä‚àAƒo[ƒWƒ‡ƒ“‚ðƒCƒ“ƒNƒŠƒƒ“ƒg‚µ‚Ü‚¹‚ñB
+ マッピング㮠optimistic-lock 属性㫠false
+ ã‚’è¨å®šã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€ç‰¹å®šã®ãƒ—ãƒãƒ‘ティやコレクションã®ãŸã‚ã«
+ 自動ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚¤ãƒ³ã‚¯ãƒªãƒ¡ãƒ³ãƒˆã‚’無効ã«ã§ãã¾ã™ã€‚
+ プãƒãƒ‘ティãŒãƒ€ãƒ¼ãƒ†ã‚£ã§ã‚ã£ã¦ã‚‚ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚’インクリメントã—ã¾ã›ã‚“。
- ƒŒƒKƒV[‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ÍA‚µ‚΂µ‚ΌŒè“I‚Å‚ ‚èA•ÏX‚Å‚«‚Ü‚¹‚ñB
- ‚Ü‚½‚ÍA‘¼‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ª“¯‚¶ƒf[ƒ^ƒx[ƒX‚ɃAƒNƒZƒX‚µ‚È‚¯‚ê‚΂Ȃ炸A
- ‚»‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̓o[ƒWƒ‡ƒ“”Ô†‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚³‚¦‘€ì‚·‚é•û–@‚ð’m‚è‚Ü‚¹‚ñB
- ‚Ç‚¿‚ç‚ÌꇂàAƒe[ƒuƒ‹‚Ì“Á’è‚̃Jƒ‰ƒ€‚ð“–‚Ä‚É‚µ‚ÄAƒo[ƒWƒ‡ƒjƒ“ƒO‚ðs‚¦‚Ü‚¹‚ñB
- ƒo[ƒWƒ‡ƒ“‚âƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃vƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚¹‚¸‚ÉAƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚³‚¹‚邽‚ß‚ÉA
- <class> ƒ}ƒbƒsƒ“ƒO‚É optimistic-lock="all" ‚ð
- Žw’肵‚Ä‚‚¾‚³‚¢B
- s‚Ì‚·‚ׂẴtƒB[ƒ‹ƒh‚Ìó‘Ô‚ð”äŠr‚·‚é‚悤‚É‚È‚è‚Ü‚·B
- ‚±‚ê‚ÍAHibernate‚ªŒÃ‚¢ó‘Ô‚ÆV‚µ‚¢ó‘Ô‚ð”äŠr‚Å‚«‚éꇂÉA
- —˜_“I‚É“®ì‚·‚邾‚¯‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- —Ⴆ‚ÎAsession-per-request-with-detached-objects ‚Å‚Í‚È‚A
- ‚P‚‚̒·‚¢ Session ‚ðŽg‚¤ê‡‚Å‚·B
+ レガシーã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマã¯ã€ã—ã°ã—ã°å›ºå®šçš„ã§ã‚ã‚Šã€å¤‰æ›´ã§ãã¾ã›ã‚“。
+ ã¾ãŸã¯ã€ä»–ã®ã‚¢ãƒ—リケーションãŒåŒã˜ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãªã‘ã‚Œã°ãªã‚‰ãšã€
+ ãã®ã‚¢ãƒ—リケーションã¯ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã‚„タイムスタンプã•ãˆæ“作ã™ã‚‹æ–¹æ³•ã‚’知りã¾ã›ã‚“。
+ ã©ã¡ã‚‰ã®å ´åˆã‚‚ã€ãƒ†ãƒ¼ãƒ–ルã®ç‰¹å®šã®ã‚«ãƒ©ãƒ を当ã¦ã«ã—ã¦ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ‹ãƒ³ã‚°ã‚’è¡Œãˆã¾ã›ã‚“。
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã‚„タイムスタンプã®ãƒ—ãƒãƒ‘ティをマッピングã›ãšã«ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã•ã›ã‚‹ãŸã‚ã«ã€
+ <class> マッピング㫠optimistic-lock="all" を
+ 指定ã—ã¦ãã ã•ã„。
+ è¡Œã®ã™ã¹ã¦ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®çŠ¶æ…‹ã‚’比較ã™ã‚‹ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¯ã€HibernateãŒå¤ã„状態ã¨æ–°ã—ã„状態を比較ã§ãã‚‹å ´åˆã«ã€
+ ç†è«–çš„ã«å‹•ä½œã™ã‚‹ã ã‘ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ 例ãˆã°ã€session-per-request-with-detached-objects ã§ã¯ãªãã€
+ 1ã¤ã®é•·ã„ Session を使ã†å ´åˆã§ã™ã€‚
- ‚Æ‚«‚Ç‚«As‚í‚ꂽ•ÏX‚ªd‚È‚ç‚È‚¢ŒÀ‚èA“¯Žž‚És‚í‚ꂽ•ÏX‚ðŽó‚¯“ü‚ê‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- <class> ƒ}ƒbƒsƒ“ƒO‚É optimistic-lock="dirty"
- ‚ðݒ肵‚½ê‡Aƒtƒ‰ƒbƒVƒ…‚·‚éÛ‚ÉAHibernate‚̓_[ƒeƒBƒtƒB[ƒ‹ƒh‚Ì‚Ý‚ð”äŠr‚µ‚Ü‚·B
+ ã¨ãã©ãã€è¡Œã‚ã‚ŒãŸå¤‰æ›´ãŒé‡ãªã‚‰ãªã„é™ã‚Šã€åŒæ™‚ã«è¡Œã‚ã‚ŒãŸå¤‰æ›´ã‚’å—ã‘入れるã“ã¨ãŒã§ãã¾ã™ã€‚
+ <class> マッピング㫠optimistic-lock="dirty"
+ ã‚’è¨å®šã—ãŸå ´åˆã€ãƒ•ãƒ©ãƒƒã‚·ãƒ¥ã™ã‚‹éš›ã«ã€Hibernateã¯ãƒ€ãƒ¼ãƒ†ã‚£ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã®ã¿ã‚’比較ã—ã¾ã™ã€‚
- ê—p‚̃o[ƒWƒ‡ƒ“^ƒ^ƒCƒ€ƒXƒ^ƒ“ƒv‚̃Jƒ‰ƒ€‚ðŽg‚¤ê‡A
- ‚à‚µ‚‚Í‚·‚ׂÄ^ƒ_[ƒeƒB‚̃tƒB[ƒ‹ƒh‚ð”äŠr‚·‚éꇂǂ¿‚ç‚Å‚ ‚Á‚Ä‚àA
- Hibernate‚̓Gƒ“ƒeƒBƒeƒB‚²‚Æ‚É1‚Â‚Ì UPDATE •¶‚ð
- i“KØ‚È WHERE ß‚Æ‹¤‚ÉjŽg‚¢A
- ƒo[ƒWƒ‡ƒ“ƒ`ƒFƒbƒN‚Æî•ñ‚ÌXV‚ðs‚¢‚Ü‚·B
- ŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB‚ÌĒljÁ‚ðƒJƒXƒP[ƒh‚·‚邽‚ß‚ÉA
- ˜A½“I‚ȉi‘±‰»‚ðŽg—p‚µ‚½ê‡A•s•K—v‚ÈXV‚ðŽÀs‚·‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- ‚±‚ê‚Í’Êí–â‘è‚É‚È‚è‚Ü‚¹‚ñB
- ‚µ‚©‚µA•ª—£‚µ‚½ƒCƒ“ƒXƒ^ƒ“ƒX‚ð•ÏX‚µ‚Ä‚¢‚È‚‚Æ‚àA
- ƒf[ƒ^ƒx[ƒX‚Ì on update ƒgƒŠƒK[‚ªŽÀs‚³‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- <class> ƒ}ƒbƒsƒ“ƒO‚É
- select-before-update="true" ‚ðÝ’è‚·‚邱‚Æ‚É‚æ‚Á‚ÄA
- ‚±‚ÌU‚é•‘‚¢‚ðƒJƒXƒ^ƒ}ƒCƒY‚Å‚«‚Ü‚·B
- ŠmŽÀ‚É•ÏX‚³‚ꂽ‚©‚ðŠm”F‚·‚邽‚ß‚ÉAs‚ðXV‚·‚é‘O‚ÉA
- •K‚¸ƒCƒ“ƒXƒ^ƒ“ƒX‚ð SELECT ‚µ‚Ü‚·B
+ 専用ã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ï¼ã‚¿ã‚¤ãƒ スタンプã®ã‚«ãƒ©ãƒ を使ã†å ´åˆã€
+ ã‚‚ã—ãã¯ã™ã¹ã¦ï¼ãƒ€ãƒ¼ãƒ†ã‚£ã®ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã‚’比較ã™ã‚‹å ´åˆã©ã¡ã‚‰ã§ã‚ã£ã¦ã‚‚ã€
+ Hibernateã¯ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã”ã¨ã«1ã¤ã® UPDATE 文を
+ (é©åˆ‡ãª WHERE 節ã¨å…±ã«ï¼‰ä½¿ã„ã€
+ ãƒãƒ¼ã‚¸ãƒ§ãƒ³ãƒã‚§ãƒƒã‚¯ã¨æƒ…å ±ã®æ›´æ–°ã‚’è¡Œã„ã¾ã™ã€‚
+ 関連ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®å†è¿½åŠ をカスケードã™ã‚‹ãŸã‚ã«ã€
+ 連鎖的ãªæ°¸ç¶šåŒ–を使用ã—ãŸå ´åˆã€ä¸å¿…è¦ãªæ›´æ–°ã‚’実行ã™ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ ã“ã‚Œã¯é€šå¸¸å•é¡Œã«ãªã‚Šã¾ã›ã‚“。
+ ã—ã‹ã—ã€åˆ†é›¢ã—ãŸã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’変更ã—ã¦ã„ãªãã¨ã‚‚ã€
+ データベース㮠on update トリガーãŒå®Ÿè¡Œã•ã‚Œã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ <class> マッピングã«
+ select-before-update="true" ã‚’è¨å®šã™ã‚‹ã“ã¨ã«ã‚ˆã£ã¦ã€
+ ã“ã®æŒ¯ã‚‹èˆžã„をカスタマイズã§ãã¾ã™ã€‚
+ 確実ã«å¤‰æ›´ã•ã‚ŒãŸã‹ã‚’確èªã™ã‚‹ãŸã‚ã«ã€è¡Œã‚’æ›´æ–°ã™ã‚‹å‰ã«ã€
+ å¿…ãšã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’ SELECT ã—ã¾ã™ã€‚
@@ -1071,202 +1073,202 @@ session.close();]]>
- ”ߊϓIƒƒbƒN
+ 悲観的ãƒãƒƒã‚¯
- ƒ†[ƒU‚ªƒƒbƒNí—ª‚É”Y‚Þ‚Ì‚É‘½‚‚ÌŽžŠÔ‚ð”ï‚â‚·‚±‚Æ‚ðˆÓ}‚µ‚Ä‚¢‚Ü‚¹‚ñB
- ’Êí‚ÍAJDBCƒRƒlƒNƒVƒ‡ƒ“‚É•ª—£ƒŒƒxƒ‹‚ðŽw’肵A
- ’P‚Ƀf[ƒ^ƒx[ƒX‚É‚·‚ׂĂ̎dŽ–‚ð‚³‚¹‚ê‚Î\•ª‚Å‚·B
- ‚µ‚©‚µ‚È‚ª‚çA‚“x‚ȃ†[ƒU‚ÍA”r‘¼“I‚ȔߊϓIƒƒbƒN‚ðŠl“¾‚·‚邱‚Æ‚©A
- V‚µ‚¢ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠJŽn‚³‚ê‚éۂɃƒbƒN‚ðÄŠl“¾‚·‚邱‚Æ‚ð
- ‚Æ‚«‚Ç‚«–]‚Þ‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ ユーザãŒãƒãƒƒã‚¯æˆ¦ç•¥ã«æ‚©ã‚€ã®ã«å¤šãã®æ™‚間を費やã™ã“ã¨ã‚’æ„図ã—ã¦ã„ã¾ã›ã‚“。
+ 通常ã¯ã€JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã«åˆ†é›¢ãƒ¬ãƒ™ãƒ«ã‚’指定ã—ã€
+ å˜ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã™ã¹ã¦ã®ä»•äº‹ã‚’ã•ã›ã‚Œã°å分ã§ã™ã€‚
+ ã—ã‹ã—ãªãŒã‚‰ã€é«˜åº¦ãªãƒ¦ãƒ¼ã‚¶ã¯ã€æŽ’ä»–çš„ãªæ‚²è¦³çš„ãƒãƒƒã‚¯ã‚’ç²å¾—ã™ã‚‹ã“ã¨ã‹ã€
+ æ–°ã—ã„トランザクションãŒé–‹å§‹ã•ã‚Œã‚‹éš›ã«ãƒãƒƒã‚¯ã‚’å†ç²å¾—ã™ã‚‹ã“ã¨ã‚’
+ ã¨ãã©ã望むã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- Hibernate‚Í‚¢‚‚àƒf[ƒ^ƒx[ƒX‚̃ƒbƒN‚ÌŽd‘g‚Ý‚ðŽg‚¢‚Ü‚·B
- ƒƒ‚ƒŠ“à‚̃IƒuƒWƒFƒNƒg‚ðŒˆ‚µ‚ăƒbƒN‚µ‚Ü‚¹‚ñI
+ Hibernateã¯ã„ã¤ã‚‚データベースã®ãƒãƒƒã‚¯ã®ä»•çµ„ã¿ã‚’使ã„ã¾ã™ã€‚
+ メモリ内ã®ã‚ªãƒ–ジェクトを決ã—ã¦ãƒãƒƒã‚¯ã—ã¾ã›ã‚“ï¼
- LockMode ƒNƒ‰ƒX‚ÍAHibernate‚ªŠl“¾‚Å‚«‚éˆÙ‚Ȃ郃bƒNƒŒƒxƒ‹‚ð’è‹`‚µ‚Ü‚·B
- ˆÈ‰º‚ÌŽd‘g‚Ý‚É‚æ‚èAƒƒbƒN‚ðŠl“¾‚Å‚«‚Ü‚·B
+ LockMode クラスã¯ã€HibernateãŒç²å¾—ã§ãã‚‹ç•°ãªã‚‹ãƒãƒƒã‚¯ãƒ¬ãƒ™ãƒ«ã‚’定義ã—ã¾ã™ã€‚
+ 以下ã®ä»•çµ„ã¿ã«ã‚ˆã‚Šã€ãƒãƒƒã‚¯ã‚’ç²å¾—ã§ãã¾ã™ã€‚
- LockMode.WRITE ‚ÍA
- Hibernate‚ªs‚ðXV‚à‚µ‚‚Í‘}“ü‚·‚éÛ‚ÉŽ©“®“I‚É“¾‚ç‚ê‚Ü‚·B
+ LockMode.WRITE ã¯ã€
+ HibernateãŒè¡Œã‚’æ›´æ–°ã‚‚ã—ãã¯æŒ¿å…¥ã™ã‚‹éš›ã«è‡ªå‹•çš„ã«å¾—られã¾ã™ã€‚
- LockMode.UPGRADE ‚ÍA
- ƒf[ƒ^ƒx[ƒX‚ŃTƒ|[ƒg‚³‚ê‚Ä‚¢‚镶–@ SELECT ... FOR UPDATE
- ‚ðŽg‚Á‚½A–¾Ž¦“I‚ȃ†[ƒU[—v‹‚É‚æ‚蓾‚ç‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ LockMode.UPGRADE ã¯ã€
+ データベースã§ã‚µãƒãƒ¼ãƒˆã•ã‚Œã¦ã„る文法 SELECT ... FOR UPDATE
+ を使ã£ãŸã€æ˜Žç¤ºçš„ãªãƒ¦ãƒ¼ã‚¶ãƒ¼è¦æ±‚ã«ã‚ˆã‚Šå¾—られるã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- LockMode.UPGRADE_NOWAIT ‚ÍA
- Oracle ‚Å SELECT ... FOR UPDATE NOWAIT ‚ðŽg‚Á‚½A
- –¾Ž¦“I‚ȃ†[ƒU[—v‹‚É‚æ‚蓾‚ç‚ê‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ LockMode.UPGRADE_NOWAIT ã¯ã€
+ Oracle 㧠SELECT ... FOR UPDATE NOWAIT を使ã£ãŸã€
+ 明示的ãªãƒ¦ãƒ¼ã‚¶ãƒ¼è¦æ±‚ã«ã‚ˆã‚Šå¾—られるã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- LockMode.READ ‚ÍA
- Repeatable Read‚à‚µ‚‚ÍSerializable‚Ì•ª—£ƒŒƒxƒ‹‚ÅAƒf[ƒ^‚ð“Ç‚ñ‚¾Û‚ÉŽ©“®“I‚É“¾‚ç‚ê‚Ü‚·B
- ‚¨‚»‚ç‚A–¾Ž¦“I‚ȃ†[ƒU[—v‹‚É‚æ‚èAĎ擾‚³‚ê‚Ü‚·B
+ LockMode.READ ã¯ã€
+ Repeatable Readã‚‚ã—ãã¯Serializableã®åˆ†é›¢ãƒ¬ãƒ™ãƒ«ã§ã€ãƒ‡ãƒ¼ã‚¿ã‚’èªã‚“ã éš›ã«è‡ªå‹•çš„ã«å¾—られã¾ã™ã€‚
+ ãŠãらãã€æ˜Žç¤ºçš„ãªãƒ¦ãƒ¼ã‚¶ãƒ¼è¦æ±‚ã«ã‚ˆã‚Šã€å†å–å¾—ã•ã‚Œã¾ã™ã€‚
- LockMode.NONE ‚ÍAƒƒbƒN‚µ‚È‚¢‚±‚Æ‚ð•\‚µ‚Ü‚·B
- Transaction ‚ÌI‚í‚è‚ÉA
- ‚·‚ׂẴIƒuƒWƒFƒNƒg‚Í‚±‚̃ƒbƒNƒ‚[ƒh‚ÉØ‚è‘Ö‚í‚è‚Ü‚·B
- update() ‚â saveOrUpdate() ‚ðŒÄ‚Ño‚·‚±‚Æ‚É‚æ‚Á‚ÄA
- ƒZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A•t‚¯‚ç‚ꂽƒIƒuƒWƒFƒNƒg‚àA‚±‚̃ƒbƒNƒ‚[ƒh‚Åo”‚µ‚Ü‚·B
+ LockMode.NONE ã¯ã€ãƒãƒƒã‚¯ã—ãªã„ã“ã¨ã‚’表ã—ã¾ã™ã€‚
+ Transaction ã®çµ‚ã‚ã‚Šã«ã€
+ ã™ã¹ã¦ã®ã‚ªãƒ–ジェクトã¯ã“ã®ãƒãƒƒã‚¯ãƒ¢ãƒ¼ãƒ‰ã«åˆ‡ã‚Šæ›¿ã‚ã‚Šã¾ã™ã€‚
+ update() ã‚„ saveOrUpdate() を呼ã³å‡ºã™ã“ã¨ã«ã‚ˆã£ã¦ã€
+ セッションã«é–¢é€£ä»˜ã‘られãŸã‚ªãƒ–ジェクトもã€ã“ã®ãƒãƒƒã‚¯ãƒ¢ãƒ¼ãƒ‰ã§å‡ºç™ºã—ã¾ã™ã€‚
- u–¾Ž¦“I‚ȃ†[ƒU[—v‹v‚Æ‚ÍA‰º‹L‚Ì•û–@‚Ì‚P‚‚Ō¾‚¢•\‚¹‚Ü‚·B
+ 「明示的ãªãƒ¦ãƒ¼ã‚¶ãƒ¼è¦æ±‚ã€ã¨ã¯ã€ä¸‹è¨˜ã®æ–¹æ³•ã®ï¼‘ã¤ã§è¨€ã„表ã›ã¾ã™ã€‚
- LockMode ‚ðŽw’肵‚½ Session.load() ‚̌ĂÑo‚µB
+ LockMode を指定ã—㟠Session.load() ã®å‘¼ã³å‡ºã—。
- Session.lock() ‚̌ĂÑo‚µB
+ Session.lock() ã®å‘¼ã³å‡ºã—。
- Query.setLockMode() ‚̌ĂÑo‚µB
+ Query.setLockMode() ã®å‘¼ã³å‡ºã—。
- UPGRADE ‚à‚µ‚‚Í UPGRADE_NOWAIT ‚ªŽw’肳‚ꂽ
- Session.load() ‚ªŒÄ‚Ño‚³‚êA
- ‚©‚—v‹‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ªƒZƒbƒVƒ‡ƒ“‚É‚æ‚Á‚Ä‚Ü‚¾ƒ[ƒh‚³‚ê‚Ä‚¢‚È‚©‚Á‚½ê‡‚ÍA
- SELECT ... FOR UPDATE ‚ðŽg‚Á‚ÄAƒIƒuƒWƒFƒNƒg‚ªƒ[ƒh‚³‚ê‚Ü‚·B
- load() ‚ŌĂÑo‚³‚ꂽƒIƒuƒWƒFƒNƒg‚ªA
- —v‹‚³‚ê‚Ä‚¢‚é‚æ‚觌À‚ª‚È‚¢ƒƒbƒN‚Å‚·‚łɃ[ƒh‚³‚ê‚Ä‚¢‚½ê‡‚ÍA
- Hibernate‚Í‚»‚̃IƒuƒWƒFƒNƒg‚Ì‚½‚ß‚ÉAlock() ‚ðŒÄ‚Ño‚µ‚Ü‚·B
+ UPGRADE ã‚‚ã—ã㯠UPGRADE_NOWAIT ãŒæŒ‡å®šã•ã‚ŒãŸ
+ Session.load() ãŒå‘¼ã³å‡ºã•ã‚Œã€
+ ã‹ã¤è¦æ±‚ã•ã‚ŒãŸã‚ªãƒ–ジェクトãŒã‚»ãƒƒã‚·ãƒ§ãƒ³ã«ã‚ˆã£ã¦ã¾ã ãƒãƒ¼ãƒ‰ã•ã‚Œã¦ã„ãªã‹ã£ãŸå ´åˆã¯ã€
+ SELECT ... FOR UPDATE を使ã£ã¦ã€ã‚ªãƒ–ジェクトãŒãƒãƒ¼ãƒ‰ã•ã‚Œã¾ã™ã€‚
+ load() ã§å‘¼ã³å‡ºã•ã‚ŒãŸã‚ªãƒ–ジェクトãŒã€
+ è¦æ±‚ã•ã‚Œã¦ã„るより制é™ãŒå°‘ãªã„ãƒãƒƒã‚¯ã§ã™ã§ã«ãƒãƒ¼ãƒ‰ã•ã‚Œã¦ã„ãŸå ´åˆã¯ã€
+ Hibernateã¯ãã®ã‚ªãƒ–ジェクトã®ãŸã‚ã«ã€lock() を呼ã³å‡ºã—ã¾ã™ã€‚
- Žw’肳‚ꂽƒƒbƒNƒ‚[ƒh‚ª READ ‚à‚µ‚‚ÍAUPGRADEA
- UPGRADE_NOWAIT ‚¾‚Á‚½ê‡ASession.lock()
- ‚ÍAƒo[ƒWƒ‡ƒ“”Ô†‚̃`ƒFƒbƒN‚ðŽÀŽ{‚µ‚Ü‚·B
- iUPGRADE ‚à‚µ‚‚Í UPGRADE_NOWAIT ‚Ìê‡A
- SELECT ... FOR UPDATE ‚ªŽg‚í‚ê‚Ü‚·Bj
+ 指定ã•ã‚ŒãŸãƒãƒƒã‚¯ãƒ¢ãƒ¼ãƒ‰ãŒ READ ã‚‚ã—ãã¯ã€UPGRADEã€
+ UPGRADE_NOWAIT ã ã£ãŸå ´åˆã€Session.lock()
+ ã¯ã€ãƒãƒ¼ã‚¸ãƒ§ãƒ³ç•ªå·ã®ãƒã‚§ãƒƒã‚¯ã‚’実施ã—ã¾ã™ã€‚
+ (UPGRADE ã‚‚ã—ã㯠UPGRADE_NOWAIT ã®å ´åˆã€
+ SELECT ... FOR UPDATE ãŒä½¿ã‚ã‚Œã¾ã™ã€‚)
- ƒf[ƒ^ƒx[ƒX‚ª—v‹‚³‚ꂽƒƒbƒNƒ‚[ƒh‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚È‚¢ê‡A
- Hibernate‚Íi—áŠO‚ð“Š‚°‚é‘ã‚í‚è‚ÉAj“KØ‚È‘ã‚í‚è‚̃‚[ƒh‚ðŽg‚¢‚Ü‚·B
- ‚±‚ê‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ªƒ|[ƒ^ƒuƒ‹‚Å‚ ‚邱‚Æ‚ð•ÛØ‚µ‚Ü‚·B
+ データベースãŒè¦æ±‚ã•ã‚ŒãŸãƒãƒƒã‚¯ãƒ¢ãƒ¼ãƒ‰ã‚’サãƒãƒ¼ãƒˆã—ã¦ã„ãªã„å ´åˆã€
+ Hibernateã¯ï¼ˆä¾‹å¤–を投ã’る代ã‚ã‚Šã«ã€ï¼‰é©åˆ‡ãªä»£ã‚ã‚Šã®ãƒ¢ãƒ¼ãƒ‰ã‚’使ã„ã¾ã™ã€‚
+ ã“ã‚Œã¯ã€ã‚¢ãƒ—リケーションãŒãƒãƒ¼ã‚¿ãƒ–ルã§ã‚ã‚‹ã“ã¨ã‚’ä¿è¨¼ã—ã¾ã™ã€‚
- ƒRƒlƒNƒVƒ‡ƒ“ŠJ•úƒ‚[ƒh
+ コãƒã‚¯ã‚·ãƒ§ãƒ³é–‹æ”¾ãƒ¢ãƒ¼ãƒ‰
- Hibernate‚̃ŒƒKƒV[i2.xj‚ÌJDBCƒRƒlƒNƒVƒ‡ƒ“ŠÇ—‚ÉŠÖ‚·‚éU‚é•‘‚¢‚ÍA
- ʼn‚É•K—v‚Æ‚µ‚½Û‚É Session ‚ªƒRƒlƒNƒVƒ‡ƒ“‚𓾂é‚Æ‚¢‚¤‚à‚Ì‚Å‚µ‚½B
- ‚»‚µ‚ÄAƒZƒbƒVƒ‡ƒ“‚ª•Â‚¶‚ç‚ê‚é‚Ü‚ÅA‚»‚̃RƒlƒNƒVƒ‡ƒ“‚ð•ÛŽ‚µ‚Ü‚µ‚½B
- Hibernate 3.x‚ÍAƒZƒbƒVƒ‡ƒ“‚ÉJDBCƒRƒlƒNƒVƒ‡ƒ“‚ð‚ǂ̂悤‚ɧŒä‚·‚é‚©‚ð“`‚¦‚é
- ƒRƒlƒNƒVƒ‡ƒ“ŠJ•úƒ‚[ƒh‚Æ‚¢‚¤ŠT”O‚𓱓ü‚µ‚Ü‚µ‚½B
- ˆÈ~‚Ì‹c˜_‚ÍA\¬‚³‚ꂽ ConnectionProvider ‚ð’Ê‚µ‚Ä’ñ‹Ÿ‚³‚ê‚é
- ƒRƒlƒNƒVƒ‡ƒ“‚É“KØ‚Å‚ ‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ˆÙ‚È‚éŠJ•úƒ‚[ƒh‚ÍAorg.hibernate.ConnectionReleaseMode ‚É
- —ñ‹“‚³‚ꂽ’l‚É‚æ‚èŠm”F‚³‚ê‚Ü‚·B
+ Hibernateã®ãƒ¬ã‚¬ã‚·ãƒ¼ï¼ˆ2.x)ã®JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ç®¡ç†ã«é–¢ã™ã‚‹æŒ¯ã‚‹èˆžã„ã¯ã€
+ 最åˆã«å¿…è¦ã¨ã—ãŸéš›ã« Session ãŒã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å¾—ã‚‹ã¨ã„ã†ã‚‚ã®ã§ã—ãŸã€‚
+ ãã—ã¦ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒé–‰ã˜ã‚‰ã‚Œã‚‹ã¾ã§ã€ãã®ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ä¿æŒã—ã¾ã—ãŸã€‚
+ Hibernate 3.xã¯ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ã«JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ã©ã®ã‚ˆã†ã«åˆ¶å¾¡ã™ã‚‹ã‹ã‚’ä¼ãˆã‚‹
+ コãƒã‚¯ã‚·ãƒ§ãƒ³é–‹æ”¾ãƒ¢ãƒ¼ãƒ‰ã¨ã„ã†æ¦‚念を導入ã—ã¾ã—ãŸã€‚
+ 以é™ã®è°è«–ã¯ã€æ§‹æˆã•ã‚ŒãŸ ConnectionProvider を通ã—ã¦æä¾›ã•ã‚Œã‚‹
+ コãƒã‚¯ã‚·ãƒ§ãƒ³ã«é©åˆ‡ã§ã‚ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ç•°ãªã‚‹é–‹æ”¾ãƒ¢ãƒ¼ãƒ‰ã¯ã€org.hibernate.ConnectionReleaseMode ã«
+ 列挙ã•ã‚ŒãŸå€¤ã«ã‚ˆã‚Šç¢ºèªã•ã‚Œã¾ã™ã€‚
- ON_CLOSE - –{Ž¿“I‚Éã‹L‚Åq‚ׂ½ƒŒƒKƒV[‚ÌU‚é•‘‚¢‚Å‚·B
- HibernateƒZƒbƒVƒ‡ƒ“‚Íʼn‚ÉJDBCƒAƒNƒZƒX‚ðŽÀs‚·‚é•K—v‚ª‚ ‚éۂɃRƒlƒNƒVƒ‡ƒ“‚𓾂܂·B
- ‚»‚µ‚ÄAƒZƒbƒVƒ‡ƒ“‚ª•Â‚¶‚ç‚ê‚é‚Ü‚ÅAƒRƒlƒNƒVƒ‡ƒ“‚ð•ÛŽ‚µ‚Ü‚·B
+ ON_CLOSE - 本質的ã«ä¸Šè¨˜ã§è¿°ã¹ãŸãƒ¬ã‚¬ã‚·ãƒ¼ã®æŒ¯ã‚‹èˆžã„ã§ã™ã€‚
+ Hibernateセッションã¯æœ€åˆã«JDBCアクセスを実行ã™ã‚‹å¿…è¦ãŒã‚ã‚‹éš›ã«ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’å¾—ã¾ã™ã€‚
+ ãã—ã¦ã€ã‚»ãƒƒã‚·ãƒ§ãƒ³ãŒé–‰ã˜ã‚‰ã‚Œã‚‹ã¾ã§ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’ä¿æŒã—ã¾ã™ã€‚
AFTER_TRANSACTION -
- org.hibernate.Transaction ‚ªŠ®—¹‚µ‚½ŒãA
- ƒRƒlƒNƒVƒ‡ƒ“‚ðŠJ•ú‚µ‚Ü‚·B
+ org.hibernate.Transaction ãŒå®Œäº†ã—ãŸå¾Œã€
+ コãƒã‚¯ã‚·ãƒ§ãƒ³ã‚’開放ã—ã¾ã™ã€‚
- AFTER_STATEMENT iÏ‹É“I‚ÈŠJ•ú‚Æ‚àŒÄ‚΂ê‚éj -
- ‚·‚ׂẴXƒe[ƒgƒƒ“ƒg‚ª‚»‚ꂼ‚êŽÀs‚³‚ꂽŒãAƒRƒlƒNƒVƒ‡ƒ“‚ªŠJ•ú‚³‚ê‚Ü‚·B
- ƒXƒe[ƒgƒƒ“ƒg‚ªƒZƒbƒVƒ‡ƒ“‚ÉŠÖ˜A‚·‚郊ƒ\[ƒX‚ðŠJ‚¢‚½‚Ü‚Ü‚É‚·‚éꇂÍA
- ‚±‚ÌÏ‹É“I‚ÈŠJ•ú‚̓XƒLƒbƒv‚³‚ê‚Ü‚·B
- ¡‚Ì‚Æ‚±‚ëA‚±‚ꂪ‹N‚±‚é‚Ì‚Í org.hibernate.ScrollableResults
- ‚ªŽg‚í‚ê‚éꇂ݂̂ł·B
+ AFTER_STATEMENT (ç©æ¥µçš„ãªé–‹æ”¾ã¨ã‚‚呼ã°ã‚Œã‚‹ï¼‰ -
+ ã™ã¹ã¦ã®ã‚¹ãƒ†ãƒ¼ãƒˆãƒ¡ãƒ³ãƒˆãŒãã‚Œãžã‚Œå®Ÿè¡Œã•ã‚ŒãŸå¾Œã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒé–‹æ”¾ã•ã‚Œã¾ã™ã€‚
+ ステートメントãŒã‚»ãƒƒã‚·ãƒ§ãƒ³ã«é–¢é€£ã™ã‚‹ãƒªã‚½ãƒ¼ã‚¹ã‚’é–‹ã„ãŸã¾ã¾ã«ã™ã‚‹å ´åˆã¯ã€
+ ã“ã®ç©æ¥µçš„ãªé–‹æ”¾ã¯ã‚¹ã‚ップã•ã‚Œã¾ã™ã€‚
+ 今ã®ã¨ã“ã‚ã€ã“ã‚ŒãŒèµ·ã“ã‚‹ã®ã¯ org.hibernate.ScrollableResults
+ ãŒä½¿ã‚ã‚Œã‚‹å ´åˆã®ã¿ã§ã™ã€‚
- ƒRƒ“ƒtƒBƒOƒŒ[ƒVƒ‡ƒ“ƒpƒ‰ƒ[ƒ^‚Ì hibernate.connection.release_mode
- ‚ÍAŽg—p‚·‚éŠJ•úƒ‚[ƒh‚ðŽw’è‚·‚邽‚ß‚ÉŽg‚¢‚Ü‚·B
- Žw’è‚Å‚«‚é’l‚ÍŽŸ‚Ì’Ê‚è‚Å‚·B
+ コンフィグレーションパラメータ㮠hibernate.connection.release_mode
+ ã¯ã€ä½¿ç”¨ã™ã‚‹é–‹æ”¾ãƒ¢ãƒ¼ãƒ‰ã‚’指定ã™ã‚‹ãŸã‚ã«ä½¿ã„ã¾ã™ã€‚
+ 指定ã§ãる値ã¯æ¬¡ã®é€šã‚Šã§ã™ã€‚
- auto iƒfƒtƒHƒ‹ƒgj - ‚±‚ê‚ð‘I‘ð‚·‚é‚Æ
+ auto (デフォルト) - ã“れをé¸æŠžã™ã‚‹ã¨
org.hibernate.transaction.TransactionFactory.getDefaultReleaseMode()
- ƒƒ\ƒbƒh‚É‚æ‚Á‚Ä•Ô‚³‚ê‚éŠJ•úƒ‚[ƒh‚ɈÏ÷‚³‚ê‚Ü‚·B
- ‚±‚̃ƒ\ƒbƒh‚ÍA
- JTATransactionFactory‚É‚ÍConnectionReleaseMode.AFTER_STATEMENT‚ð•Ô‚µA
- JDBCTransactionFactory‚É‚ÍConnectionReleaseMode.AFTER_TRANSACTION‚ð•Ô‚µ‚Ü‚·B
- ‚±‚̃fƒtƒHƒ‹ƒg‚ÌU‚é•‘‚¢‚ð•Ï‚¦‚Ä‚¤‚Ü‚‚¢‚Á‚½ŽŽ‚µ‚ª‚ ‚è‚Ü‚¹‚ñB
- ‚»‚ê‚ÍA‚±‚ÌÝ’è’l‚ªŒ´ˆö‚Å‹N‚±‚éáŠQ‚ÍA
- ƒ†[ƒUƒR[ƒh‚Ì’†‚ŃoƒO‚âŠÔˆá‚Á‚½ðŒ‚É‚È‚è‚â‚·‚¢‚©‚ç‚Å‚·B
+ メソッドã«ã‚ˆã£ã¦è¿”ã•ã‚Œã‚‹é–‹æ”¾ãƒ¢ãƒ¼ãƒ‰ã«å§”è²ã•ã‚Œã¾ã™ã€‚
+ ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã€
+ JTATransactionFactoryã«ã¯ConnectionReleaseMode.AFTER_STATEMENTã‚’è¿”ã—ã€
+ JDBCTransactionFactoryã«ã¯ConnectionReleaseMode.AFTER_TRANSACTIONã‚’è¿”ã—ã¾ã™ã€‚
+ ã“ã®ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆã®æŒ¯ã‚‹èˆžã„を変ãˆã¦ã†ã¾ãã„ã£ãŸè©¦ã—ãŒã‚ã‚Šã¾ã›ã‚“。
+ ãã‚Œã¯ã€ã“ã®è¨å®šå€¤ãŒåŽŸå› ã§èµ·ã“る障害ã¯ã€
+ ユーザコードã®ä¸ã§ãƒã‚°ã‚„é–“é•ã£ãŸæ¡ä»¶ã«ãªã‚Šã‚„ã™ã„ã‹ã‚‰ã§ã™ã€‚
- on_close - ConnectionReleaseMode.ON_CLOSE‚ðŽg‚¢‚Ü‚·B
- ‚±‚ÌÝ’è‚ÍŒã•ûŒÝŠ·‚Ì‚½‚ß‚ÉŽc‚³‚ê‚Ä‚¢‚Ü‚·‚ªAŽg‚í‚È‚¢‚±‚Æ‚ð‹‚Š©‚ß‚Ü‚·B
+ on_close - ConnectionReleaseMode.ON_CLOSEを使ã„ã¾ã™ã€‚
+ ã“ã®è¨å®šã¯å¾Œæ–¹äº’æ›ã®ãŸã‚ã«æ®‹ã•ã‚Œã¦ã„ã¾ã™ãŒã€ä½¿ã‚ãªã„ã“ã¨ã‚’å¼·ã勧ã‚ã¾ã™ã€‚
- after_transaction - ConnectionReleaseMode.AFTER_TRANSACTION‚ðŽg‚¢‚Ü‚·B
- ‚±‚ÌÝ’è‚ÍJTAŠÂ‹«‚Ì’†‚Å‚ÍŽg‚¤‚ׂ«‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ConnectionReleaseMode.AFTER_TRANSACTION‚ðŽw’肵AŽ©“®ƒRƒ~ƒbƒgƒ‚[ƒh‚Ì’†‚Å‚ÍA
- ŠJ•úƒ‚[ƒh‚ªAFTER_STATEMENT‚Å‚ ‚é‚©‚̂悤‚ÉAƒRƒlƒNƒVƒ‡ƒ“‚ÍŠJ•ú‚³‚ê‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ after_transaction - ConnectionReleaseMode.AFTER_TRANSACTIONを使ã„ã¾ã™ã€‚
+ ã“ã®è¨å®šã¯JTA環境ã®ä¸ã§ã¯ä½¿ã†ã¹ãã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ ConnectionReleaseMode.AFTER_TRANSACTIONを指定ã—ã€è‡ªå‹•ã‚³ãƒŸãƒƒãƒˆãƒ¢ãƒ¼ãƒ‰ã®ä¸ã§ã¯ã€
+ 開放モードãŒAFTER_STATEMENTã§ã‚ã‚‹ã‹ã®ã‚ˆã†ã«ã€ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ã¯é–‹æ”¾ã•ã‚Œã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- after_statement - ConnectionReleaseMode.AFTER_STATEMENT‚ðŽg‚¢‚Ü‚·B
- ‚³‚ç‚ÉAݒ肳‚ꂽ ConnectionProvider ‚ÍA
- ‚±‚ÌÝ’è (supportsAggressiveRelease()) ‚ðƒTƒ|[ƒg‚·‚é‚©‚Ç‚¤‚©
- ‚𒲂ׂ邽‚ß‚ÉŽg—p‚µ‚Ü‚·B
- ‚à‚µ‚»‚¤‚Å‚È‚¢ê‡AŠJ•úƒ‚[ƒh‚ÍConnectionReleaseMode.AFTER_TRANSACTION
- ‚ɃŠƒZƒbƒg‚³‚ê‚Ü‚·B
- ‚±‚ÌÝ’è‚ÍŽŸ‚̊‹«‚ł݈̂À‘S‚Å‚·B
- ‚»‚ê‚ÍAConnectionProvider.getConnection() ‚ðŒÄ‚Ño‚·‚½‚Ñ‚É
- Šî”Õ‚Æ‚È‚éJDBCƒRƒlƒNƒVƒ‡ƒ“‚ª“¯‚¶‚à‚Ì‚ðŽæ“¾‚Å‚«‚é‚©A
- “¯‚¶ƒRƒlƒNƒVƒ‡ƒ“‚ª“¾‚ç‚ê‚邱‚Æ‚ª–â‘è‚Æ‚È‚ç‚È‚¢Ž©“®ƒRƒ~ƒbƒgŠÂ‹«‚Ì’†‚Å‚·B
+ after_statement - ConnectionReleaseMode.AFTER_STATEMENTを使ã„ã¾ã™ã€‚
+ ã•ã‚‰ã«ã€è¨å®šã•ã‚ŒãŸ ConnectionProvider ã¯ã€
+ ã“ã®è¨å®š (supportsAggressiveRelease()) をサãƒãƒ¼ãƒˆã™ã‚‹ã‹ã©ã†ã‹
+ を調ã¹ã‚‹ãŸã‚ã«ä½¿ç”¨ã—ã¾ã™ã€‚
+ ã‚‚ã—ãã†ã§ãªã„å ´åˆã€é–‹æ”¾ãƒ¢ãƒ¼ãƒ‰ã¯ConnectionReleaseMode.AFTER_TRANSACTION
+ ã«ãƒªã‚»ãƒƒãƒˆã•ã‚Œã¾ã™ã€‚
+ ã“ã®è¨å®šã¯æ¬¡ã®ç’°å¢ƒã§ã®ã¿å®‰å…¨ã§ã™ã€‚
+ ãã‚Œã¯ã€ConnectionProvider.getConnection() を呼ã³å‡ºã™ãŸã³ã«
+ 基盤ã¨ãªã‚‹JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ãŒåŒã˜ã‚‚ã®ã‚’å–å¾—ã§ãã‚‹ã‹ã€
+ åŒã˜ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãŒå¾—られるã“ã¨ãŒå•é¡Œã¨ãªã‚‰ãªã„自動コミット環境ã®ä¸ã§ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml b/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml
index b708c8ba39..bd83d46d91 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/tutorial.xml
@@ -1,53 +1,55 @@
-
+
+
+
- Hibernate‚Ì“±“ü
+ Hibernateã®å°Žå…¥
- ‘O‘‚«
+ å‰æ›¸ã
- ‚±‚ÌÍ‚ÍHibernate‚ð‰‚ß‚ÄŽg‚¤ƒ†[ƒUŒü‚¯‚Ì“ü–å“I‚ȃ`ƒ…[ƒgƒŠƒAƒ‹‚Å‚·B
- ƒCƒ“ƒƒ‚ƒŠƒf[ƒ^ƒx[ƒX‚ðŽg‚¤ŠÈ’P‚ȃRƒ}ƒ“ƒhƒ‰ƒCƒ“ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚©‚çŽn‚ßA
- ˆê•àˆê•à‚í‚©‚è‚â‚·‚¢‚â‚è•û‚ÅŠJ”‚ði‚ß‚Ü‚·B
+ ã“ã®ç« ã¯Hibernateã‚’åˆã‚ã¦ä½¿ã†ãƒ¦ãƒ¼ã‚¶å‘ã‘ã®å…¥é–€çš„ãªãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã™ã€‚
+ インメモリデータベースを使ã†ç°¡å˜ãªã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã‚¢ãƒ—リケーションã‹ã‚‰å§‹ã‚ã€
+ 一æ©ä¸€æ©ã‚ã‹ã‚Šã‚„ã™ã„ã‚„ã‚Šæ–¹ã§é–‹ç™ºã‚’進ã‚ã¾ã™ã€‚
- ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚ÍHibernate‚ð‰‚ß‚ÄŽg‚¤ƒ†[ƒU‚ð‘z’肵‚Ä‚¢‚Ü‚·‚ªA
- —‰ð‚·‚é‚É‚ÍJava‚ÆSQL‚ɂ‚¢‚Ä‚Ì’mŽ¯‚ª•K—v‚Å‚·B
- ‚±‚ê‚ÍMichael Gloegl‚ÌŽè‚É‚æ‚éƒ`ƒ…[ƒgƒŠƒAƒ‹‚ð‰º•~‚«‚É‚µ‚Ä‚¢‚Ü‚·‚ªA
- ‚±‚±‚ŃT[ƒhƒp[ƒeƒBƒ‰ƒCƒuƒ‰ƒŠ‚ÆŒ¾‚Á‚Ä‚¢‚é‚Ì‚ÍAJDK 1.4‚Æ5.0—p‚Ì‚à‚Ì‚Å‚·B
- JDK 1.3‚ð—˜—p‚·‚é‚Ì‚Å‚ ‚ê‚Α¼‚̃‰ƒCƒuƒ‰ƒŠ‚ª•K—v‚©‚à‚µ‚ê‚Ü‚¹‚ñB
+ ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã¯Hibernateã‚’åˆã‚ã¦ä½¿ã†ãƒ¦ãƒ¼ã‚¶ã‚’想定ã—ã¦ã„ã¾ã™ãŒã€
+ ç†è§£ã™ã‚‹ã«ã¯Javaã¨SQLã«ã¤ã„ã¦ã®çŸ¥è˜ãŒå¿…è¦ã§ã™ã€‚
+ ã“ã‚Œã¯Michael Gloeglã®æ‰‹ã«ã‚ˆã‚‹ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’下敷ãã«ã—ã¦ã„ã¾ã™ãŒã€
+ ã“ã“ã§ã‚µãƒ¼ãƒ‰ãƒ‘ーティライブラリã¨è¨€ã£ã¦ã„ã‚‹ã®ã¯ã€JDK 1.4ã¨5.0用ã®ã‚‚ã®ã§ã™ã€‚
+ JDK 1.3を利用ã™ã‚‹ã®ã§ã‚ã‚Œã°ä»–ã®ãƒ©ã‚¤ãƒ–ラリãŒå¿…è¦ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
- ƒ`ƒ…[ƒgƒŠƒAƒ‹‚̃\[ƒXƒR[ƒh‚ÍHibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì
- doc/reference/tutorial/ ‚É‚ ‚è‚Ü‚·B
+ ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã®ã‚½ãƒ¼ã‚¹ã‚³ãƒ¼ãƒ‰ã¯Hibernateディストリビューションã®
+ doc/reference/tutorial/ ã«ã‚ã‚Šã¾ã™ã€‚
- ƒp[ƒg1 - ‰‚ß‚Ä‚ÌHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“
+ パート1 - åˆã‚ã¦ã®Hibernateアプリケーション
- ʼn‚ɃRƒ“ƒ\[ƒ‹ƒx[ƒX‚ÌŠÈ’P‚ÈHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð쬂µ‚Ü‚·B
- Javaƒf[ƒ^ƒx[ƒXiHSQL DBj‚ð—˜—p‚·‚é‚Ì‚ÅA
- ƒf[ƒ^ƒx[ƒXƒT[ƒo‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+ 最åˆã«ã‚³ãƒ³ã‚½ãƒ¼ãƒ«ãƒ™ãƒ¼ã‚¹ã®ç°¡å˜ãªHibernateアプリケーションを作æˆã—ã¾ã™ã€‚
+ Javaデータベース(HSQL DB)を利用ã™ã‚‹ã®ã§ã€
+ データベースサーãƒã‚’インストールã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
- ‰¼‚ɬ‚³‚ȃf[ƒ^ƒx[ƒXƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ª•K—v‚¾‚Æ‚µ‚Ü‚µ‚傤B
- ‚»‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚ÍoÈ‚µ‚½‚¢ƒCƒxƒ“ƒg‚ÆA
- ‚»‚̃Cƒxƒ“ƒg‚̃zƒXƒg‚ɂ‚¢‚Ä‚Ìî•ñ‚ðŠi”[‚·‚é‚à‚Ì‚Æ‚µ‚Ü‚·B
+ ä»®ã«å°ã•ãªãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¢ãƒ—リケーションãŒå¿…è¦ã ã¨ã—ã¾ã—ょã†ã€‚
+ ãã®ã‚¢ãƒ—リケーションã«ã¯å‡ºå¸ã—ãŸã„イベントã¨ã€
+ ãã®ã‚¤ãƒ™ãƒ³ãƒˆã®ãƒ›ã‚¹ãƒˆã«ã¤ã„ã¦ã®æƒ…å ±ã‚’æ ¼ç´ã™ã‚‹ã‚‚ã®ã¨ã—ã¾ã™ã€‚
- ‚Ü‚¸Å‰‚É‚·‚邱‚Æ‚ÍŠJ”—p‚̃fƒBƒŒƒNƒgƒŠ‚ðƒZƒbƒgƒAƒbƒv‚µ‚ÄA
- •K—v‚Æ‚È‚é‚·‚ׂĂÌJavaƒ‰ƒCƒuƒ‰ƒŠ‚ð”z’u‚·‚邱‚Æ‚Å‚·B
- HibernateƒEƒFƒuƒTƒCƒg‚©‚çHibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚ðƒ_ƒEƒ“ƒ[ƒh‚µ‚Ä‚‚¾‚³‚¢B
- ƒtƒ@ƒCƒ‹‚ð‰ð“€‚µ‚Ä /lib ‚É‚ ‚é•K—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚Ì‚·‚ׂĂðA
- V‚µ‚¢ŠJ”—pƒfƒBƒŒƒNƒgƒŠ‚Ì /lib ƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚̂悤‚É‚È‚Á‚Ä‚¢‚é‚Í‚¸‚Å‚·F
+ ã¾ãšæœ€åˆã«ã™ã‚‹ã“ã¨ã¯é–‹ç™ºç”¨ã®ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’セットアップã—ã¦ã€
+ å¿…è¦ã¨ãªã‚‹ã™ã¹ã¦ã®Javaライブラリをé…ç½®ã™ã‚‹ã“ã¨ã§ã™ã€‚
+ Hibernateウェブサイトã‹ã‚‰Hibernateディストリビューションをダウンãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„。
+ ファイルを解å‡ã—㦠/lib ã«ã‚ã‚‹å¿…è¦ãªãƒ©ã‚¤ãƒ–ラリã®ã™ã¹ã¦ã‚’ã€
+ æ–°ã—ã„開発用ディレクトリ㮠/lib ディレクトリã«é…ç½®ã—ã¦ãã ã•ã„。
+ ã“ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã¯ãšã§ã™ï¼š
- ‚±‚ꂪ –{ƒhƒLƒ…ƒƒ“ƒgŽ·•MŽž“_‚Å‚Ì Hibernate‚Ì•K—vÅ’áŒÀ‚̃‰ƒCƒuƒ‰ƒŠ‚Å‚·
- iƒƒCƒ“ƒA[ƒJƒCƒu‚Ìhibernate3.jar‚àƒRƒs[‚µ‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢jB
- Hibernate‚̃o[ƒWƒ‡ƒ“‚É‚æ‚Á‚Ä‚Í‚³‚ç‚É•K—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚âA•s—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì lib/ ƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é
- README.txt ƒtƒ@ƒCƒ‹‚ðŒ©‚Ä‚‚¾‚³‚¢B
- •K{‚Ü‚½‚̓IƒvƒVƒ‡ƒ“‚̃T[ƒhƒp[ƒeƒBƒ‰ƒCƒuƒ‰ƒŠ‚ɂ‚¢‚Ä‚Ìî•ñ‚ðÚ‚¹‚Ä‚¢‚Ü‚·
- iŽÀÛLog4j‚Í•K{‚Å‚Í‚ ‚è‚Ü‚¹‚ñ‚ªA‘½‚‚ÌŠJ”ŽÒ‚ªD‚ñ‚Å‚¢‚Ü‚·jB
+ ã“れ㌠本ドã‚ュメント執ç†æ™‚点ã§ã® Hibernateã®å¿…è¦æœ€ä½Žé™ã®ãƒ©ã‚¤ãƒ–ラリã§ã™
+ (メインアーカイブã®hibernate3.jarもコピーã—ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„)。
+ Hibernateã®ãƒãƒ¼ã‚¸ãƒ§ãƒ³ã«ã‚ˆã£ã¦ã¯ã•ã‚‰ã«å¿…è¦ãªãƒ©ã‚¤ãƒ–ラリやã€ä¸è¦ãªãƒ©ã‚¤ãƒ–ラリãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ Hibernateディストリビューション㮠lib/ ディレクトリã«ã‚ã‚‹
+ README.txt ファイルを見ã¦ãã ã•ã„。
+ å¿…é ˆã¾ãŸã¯ã‚ªãƒ—ションã®ã‚µãƒ¼ãƒ‰ãƒ‘ーティライブラリã«ã¤ã„ã¦ã®æƒ…å ±ã‚’è¼‰ã›ã¦ã„ã¾ã™
+ (実際Log4jã¯å¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“ãŒã€å¤šãã®é–‹ç™ºè€…ãŒå¥½ã‚“ã§ã„ã¾ã™ï¼‰ã€‚
- ŽŸ‚Ƀf[ƒ^ƒx[ƒX‚ÉŠi”[‚·‚éƒCƒxƒ“ƒg‚ð•\‚·ƒNƒ‰ƒX‚ð쬂µ‚Ü‚·B
+ 次ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æ ¼ç´ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã‚’表ã™ã‚¯ãƒ©ã‚¹ã‚’作æˆã—ã¾ã™ã€‚
- ʼn‚̃Nƒ‰ƒX
+ 最åˆã®ã‚¯ãƒ©ã‚¹
- ʼn‚̉i‘±ƒNƒ‰ƒX‚ÍAƒvƒƒpƒeƒB‚ð‚¢‚‚‚©Ž‚ƒVƒ“ƒvƒ‹‚ÈJavaBean‚Å‚·F
+ 最åˆã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã¯ã€ãƒ—ãƒãƒ‘ティをã„ãã¤ã‹æŒã¤ã‚·ãƒ³ãƒ—ルãªJavaBeanã§ã™ï¼š
- ‚²——‚Ì‚Æ‚¨‚èA‚±‚̃Nƒ‰ƒX‚̓tƒB[ƒ‹ƒh‚ªprivate‚̉Ž‹«‚ðŽ‚Á‚Ä‚¢‚é‚Ì‚Æ“¯Žž‚ÉA
- JavaBean•W€‚̃Qƒbƒ^[AƒZƒbƒ^[ƒƒ\ƒbƒh‚Ì–½–¼‹K–ñ‚É]‚Á‚Ä‚¢‚Ü‚·B
- ‚±‚̂悤‚ÈÝŒv‚Í„§‚³‚ê‚Ä‚¢‚Ü‚·‚ª•K{‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- ƒAƒNƒZƒTƒƒ\ƒbƒh‚ðÝ‚¯‚é‚̂̓Šƒtƒ@ƒNƒ^ƒŠƒ“ƒO‚ðl‚¦‚½ŠæŒ’«‚Ì‚½‚ß‚ÅA
- Hibernate‚̓tƒB[ƒ‹ƒh‚É’¼ÚƒAƒNƒZƒX‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
- ˆø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ÍAƒŠƒtƒŒƒNƒVƒ‡ƒ“‚Å‚±‚̃Nƒ‰ƒX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð쬂·‚邽‚ß‚É
- •K—v‚Å‚·B
+ ã”覧ã®ã¨ãŠã‚Šã€ã“ã®ã‚¯ãƒ©ã‚¹ã¯ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ãŒprivateã®å¯è¦–性をæŒã£ã¦ã„ã‚‹ã®ã¨åŒæ™‚ã«ã€
+ JavaBean標準ã®ã‚²ãƒƒã‚¿ãƒ¼ã€ã‚»ãƒƒã‚¿ãƒ¼ãƒ¡ã‚½ãƒƒãƒ‰ã®å‘½åè¦ç´„ã«å¾“ã£ã¦ã„ã¾ã™ã€‚
+ ã“ã®ã‚ˆã†ãªè¨è¨ˆã¯æŽ¨å¥¨ã•ã‚Œã¦ã„ã¾ã™ãŒå¿…é ˆã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ アクセサメソッドをè¨ã‘ã‚‹ã®ã¯ãƒªãƒ•ã‚¡ã‚¯ã‚¿ãƒªãƒ³ã‚°ã‚’考ãˆãŸé ‘å¥æ€§ã®ãŸã‚ã§ã€
+ Hibernateã¯ãƒ•ã‚£ãƒ¼ãƒ«ãƒ‰ã«ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
+ 引数ã®ãªã„コンストラクタã¯ã€ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã§ã“ã®ã‚¯ãƒ©ã‚¹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’作æˆã™ã‚‹ãŸã‚ã«
+ å¿…è¦ã§ã™ã€‚
- id ƒvƒƒpƒeƒB‚ÍA‚ ‚é“Á’è‚̃Cƒxƒ“ƒg‚ɑ΂·‚郆ƒj[ƒN‚ÈŽ¯•ÊŽq‚Ì’l‚ð•ÛŽ‚µ‚Ü‚·B
- Hibernate‚ÌŠ®‘S‚È‹@”\‚ðŽg‚¢‚½‚¯‚ê‚ÎA‚·‚ׂẲi‘±ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX
- i‚»‚ê‚Ù‚Çd—v‚Å‚Í‚È‚¢ˆË‘¶ƒNƒ‰ƒX‚Æ‚¢‚¤‚à‚Ì‚à‚ ‚è‚Ü‚·j
- ‚É‚±‚̂悤‚ÈŽ¯•ÊŽqƒvƒƒpƒeƒB‚ª•K—v‚É‚È‚è‚Ü‚·B
- Ž–ŽÀã‚Ù‚Æ‚ñ‚ǂ̃AƒvƒŠƒP[ƒVƒ‡ƒ“i“Á‚ÉwebƒAƒvƒŠƒP[ƒVƒ‡ƒ“j‚Å‚ÍA
- Ž¯•ÊŽq‚ŃIƒuƒWƒFƒNƒg‚ð‹æ•Ê‚·‚é•K—v‚ª‚ ‚邽‚ßA‚±‚ê‚ͧŒÀ‚Æ‚¢‚¤‚æ‚è‚à“Á’¥‚Å‚ ‚é‚Æl‚¦‚é‚ׂ«‚Å‚·B
- ‚µ‚©‚µ’ÊíƒIƒuƒWƒFƒNƒg‚ÌID‚ð‘€ì‚·‚é‚悤‚È‚±‚Æ‚Í‚µ‚Ü‚¹‚ñB
- ‚»‚Ì‚½‚߃Zƒbƒ^[ƒƒ\ƒbƒh‚Íprivate‚É‚·‚é‚ׂ«‚Å‚·B
- Hibernate‚¾‚¯‚ªƒIƒuƒWƒFƒNƒg‚ªƒZ[ƒu‚³‚ꂽ‚Æ‚«‚ÉŽ¯•ÊŽq‚Ö’l‚ð‘ã“ü‚µ‚Ü‚·B
- Hibernate‚ªipublic, private, protectedjƒtƒB[ƒ‹ƒh‚É’¼ÚƒAƒNƒZƒX‚Å‚«‚é‚Ì‚Æ“¯—l‚ÉA
- public, private, protected‚̃AƒNƒZƒTƒƒ\ƒbƒh‚ɃAƒNƒZƒX‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚ª‚í‚©‚é‚Å‚µ‚傤B
- ‘I‘ð‚Í‚ ‚È‚½‚É”C‚³‚ê‚Ä‚¢‚é‚Ì‚ÅA‚ ‚È‚½‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌÝŒv‚ɇ‚킹‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
+ id プãƒãƒ‘ティã¯ã€ã‚る特定ã®ã‚¤ãƒ™ãƒ³ãƒˆã«å¯¾ã™ã‚‹ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªè˜åˆ¥åã®å€¤ã‚’ä¿æŒã—ã¾ã™ã€‚
+ Hibernateã®å®Œå…¨ãªæ©Ÿèƒ½ã‚’使ã„ãŸã‘ã‚Œã°ã€ã™ã¹ã¦ã®æ°¸ç¶šã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¯ãƒ©ã‚¹
+ (ãã‚Œã»ã©é‡è¦ã§ã¯ãªã„ä¾å˜ã‚¯ãƒ©ã‚¹ã¨ã„ã†ã‚‚ã®ã‚‚ã‚ã‚Šã¾ã™ï¼‰
+ ã«ã“ã®ã‚ˆã†ãªè˜åˆ¥åプãƒãƒ‘ティãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚
+ 事実上ã»ã¨ã‚“ã©ã®ã‚¢ãƒ—リケーション(特ã«webアプリケーション)ã§ã¯ã€
+ è˜åˆ¥åã§ã‚ªãƒ–ジェクトを区別ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ãŸã‚ã€ã“ã‚Œã¯åˆ¶é™ã¨ã„ã†ã‚ˆã‚Šã‚‚特徴ã§ã‚ã‚‹ã¨è€ƒãˆã‚‹ã¹ãã§ã™ã€‚
+ ã—ã‹ã—通常オブジェクトã®IDã‚’æ“作ã™ã‚‹ã‚ˆã†ãªã“ã¨ã¯ã—ã¾ã›ã‚“。
+ ãã®ãŸã‚セッターメソッドã¯privateã«ã™ã‚‹ã¹ãã§ã™ã€‚
+ Hibernateã ã‘ãŒã‚ªãƒ–ジェクトãŒã‚»ãƒ¼ãƒ–ã•ã‚ŒãŸã¨ãã«è˜åˆ¥åã¸å€¤ã‚’代入ã—ã¾ã™ã€‚
+ HibernateãŒï¼ˆpublic, private, protected)フィールドã«ç›´æŽ¥ã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã®ã¨åŒæ§˜ã«ã€
+ public, private, protectedã®ã‚¢ã‚¯ã‚»ã‚µãƒ¡ã‚½ãƒƒãƒ‰ã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã‚‹ã¨ã„ã†ã“ã¨ãŒã‚ã‹ã‚‹ã§ã—ょã†ã€‚
+ é¸æŠžã¯ã‚ãªãŸã«ä»»ã•ã‚Œã¦ã„ã‚‹ã®ã§ã€ã‚ãªãŸã®ã‚¢ãƒ—リケーションã®è¨è¨ˆã«åˆã‚ã›ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
- ˆø”‚Ì‚È‚¢ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚Í‚·‚ׂẲi‘±ƒNƒ‰ƒX‚É•K{‚Å‚·B
- ‚±‚ê‚ÍHibernate‚ªJava‚̃ŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚ÄAƒIƒuƒWƒFƒNƒg‚ð쬂µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚½‚ß‚Å‚·B
- ƒRƒ“ƒXƒgƒ‰ƒNƒ^‚ðprivate‚É‚·‚邱‚Ƃ͉”\‚Å‚·‚ªA
- ŽÀsŽž‚̃vƒƒLƒV¶¬‚ÆAƒoƒCƒgƒR[ƒh‘€ì‚È‚µ‚ÌŒø—¦“I‚ȃf[ƒ^‚Ì’Šo‚É‚ÍA
- package‰ÂŽ‹«‚ª•K—v‚Å‚·B
+ 引数ã®ãªã„コンストラクタã¯ã™ã¹ã¦ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã«å¿…é ˆã§ã™ã€‚
+ ã“ã‚Œã¯HibernateãŒJavaã®ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã£ã¦ã€ã‚ªãƒ–ジェクトを作æˆã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ãŸã‚ã§ã™ã€‚
+ コンストラクタをprivateã«ã™ã‚‹ã“ã¨ã¯å¯èƒ½ã§ã™ãŒã€
+ 実行時ã®ãƒ—ãƒã‚シ生æˆã¨ã€ãƒã‚¤ãƒˆã‚³ãƒ¼ãƒ‰æ“作ãªã—ã®åŠ¹çŽ‡çš„ãªãƒ‡ãƒ¼ã‚¿ã®æŠ½å‡ºã«ã¯ã€
+ packageå¯è¦–性ãŒå¿…è¦ã§ã™ã€‚
- ŠJ”ƒtƒHƒ‹ƒ_‚Ì src ‚Æ‚¢‚¤ƒfƒBƒŒƒNƒgƒŠ‚Ì“K؂ȃpƒbƒP[ƒW‚ÉA
- ‚±‚ÌJavaƒ\[ƒXƒtƒ@ƒCƒ‹‚ð”z’u‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ÌŽž“_‚ŃfƒBƒŒƒNƒgƒŠ‚͈ȉº‚̂悤‚É‚È‚Á‚Ä‚¢‚é‚Í‚¸‚Å‚·F
+ 開発フォルダ㮠src ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã®é©åˆ‡ãªãƒ‘ッケージã«ã€
+ ã“ã®Javaソースファイルをé…ç½®ã—ã¦ãã ã•ã„。
+ ã“ã®æ™‚点ã§ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã¯ãšã§ã™ï¼š
- ŽŸ‚̃Xƒeƒbƒv‚Å‚ÍAHibernate‚É‚±‚̉i‘±ƒNƒ‰ƒX‚Ìî•ñ‚ð‹³‚¦‚Ü‚·B
+ 次ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã¯ã€Hibernateã«ã“ã®æ°¸ç¶šã‚¯ãƒ©ã‚¹ã®æƒ…å ±ã‚’æ•™ãˆã¾ã™ã€‚
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹
+ マッピングファイル
- Hibernate‚ÍA‚ǂ̂悤‚ɉi‘±ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ðƒ[ƒh‚µŠi”[‚·‚ê‚΂悢‚©‚ð’m‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ‚±‚±‚ÅHibernateƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ª“oꂵ‚Ü‚·B
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÍAƒf[ƒ^ƒx[ƒX“à‚̂ǂ̃e[ƒuƒ‹‚ɃAƒNƒZƒX‚µ‚È‚¯‚ê‚΂Ȃç‚È‚¢‚©A
- ‚»‚̃e[ƒuƒ‹‚̂ǂ̃Jƒ‰ƒ€‚ðŽg‚¤‚ׂ«‚©‚ðAHibernate‚É‹³‚¦‚Ü‚·B
+ Hibernateã¯ã€ã©ã®ã‚ˆã†ã«æ°¸ç¶šã‚¯ãƒ©ã‚¹ã®ã‚ªãƒ–ジェクトをãƒãƒ¼ãƒ‰ã—æ ¼ç´ã™ã‚Œã°ã‚ˆã„ã‹ã‚’知る必è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã“ã§HibernateマッピングファイルãŒç™»å ´ã—ã¾ã™ã€‚
+ マッピングファイルã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹å†…ã®ã©ã®ãƒ†ãƒ¼ãƒ–ルã«ã‚¢ã‚¯ã‚»ã‚¹ã—ãªã‘ã‚Œã°ãªã‚‰ãªã„ã‹ã€
+ ãã®ãƒ†ãƒ¼ãƒ–ルã®ã©ã®ã‚«ãƒ©ãƒ を使ã†ã¹ãã‹ã‚’ã€Hibernateã«æ•™ãˆã¾ã™ã€‚
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÌŠî–{“I‚È\‘¢‚Í‚±‚̂悤‚É‚È‚è‚Ü‚·F
+ マッピングファイルã®åŸºæœ¬çš„ãªæ§‹é€ ã¯ã“ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ï¼š
@@ -197,28 +199,28 @@ public class Event {
]]>
- Hibernate DTD‚ª”ñí‚Éô—û‚³‚ê‚Ä‚¢‚邱‚Æ‚É’–Ú‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ÌDTD‚ÍAƒGƒfƒBƒ^‚âIDE‚Å‚ÌXMLƒ}ƒbƒsƒ“ƒO—v‘f‚Æ‘®«‚̃I[ƒgƒRƒ“ƒvƒŠ[ƒVƒ‡ƒ“‹@”\‚É—˜—p‚Å‚«‚Ü‚·B
- ‚Ü‚½DTDƒtƒ@ƒCƒ‹‚ðƒeƒLƒXƒgƒGƒfƒBƒ^‚ÅŠJ‚¯‚Ä‚Ý‚Ä‚‚¾‚³‚¢B
- ‚Æ‚¢‚¤‚Ì‚àA‚·‚ׂĂ̗v‘f‚Æ‘®«‚ðŠTŠÏ‚µA
- ƒRƒƒ“ƒg‚âƒfƒtƒHƒ‹ƒg‚Ì’l‚ðŒ©‚é‚ɂ͈ê”ÔŠÈ’P‚È•û–@‚¾‚©‚ç‚Å‚·B
- Hibernate‚ÍAweb‚©‚çDTDƒtƒ@ƒCƒ‹‚ðƒ[ƒh‚¹‚¸‚ÉA
- ‚Ü‚¸ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Nƒ‰ƒXƒpƒX‚©‚炱‚ê‚ð’T‚µo‚»‚¤‚Æ‚·‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- DTDƒtƒ@ƒCƒ‹‚ÍHibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚Ì src/
- ƒfƒBƒŒƒNƒgƒŠ‚Æ“¯—lAhibernate3.jar ‚É‚àŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·B
+ Hibernate DTDãŒéžå¸¸ã«æ´—ç·´ã•ã‚Œã¦ã„ã‚‹ã“ã¨ã«æ³¨ç›®ã—ã¦ãã ã•ã„。
+ ã“ã®DTDã¯ã€ã‚¨ãƒ‡ã‚£ã‚¿ã‚„IDEã§ã®XMLマッピングè¦ç´ ã¨å±žæ€§ã®ã‚ªãƒ¼ãƒˆã‚³ãƒ³ãƒ—リーション機能ã«åˆ©ç”¨ã§ãã¾ã™ã€‚
+ ã¾ãŸDTDファイルをテã‚ストエディタã§é–‹ã‘ã¦ã¿ã¦ãã ã•ã„。
+ ã¨ã„ã†ã®ã‚‚ã€ã™ã¹ã¦ã®è¦ç´ ã¨å±žæ€§ã‚’概観ã—ã€
+ コメントやデフォルトã®å€¤ã‚’見るã«ã¯ä¸€ç•ªç°¡å˜ãªæ–¹æ³•ã ã‹ã‚‰ã§ã™ã€‚
+ Hibernateã¯ã€webã‹ã‚‰DTDファイルをãƒãƒ¼ãƒ‰ã›ãšã«ã€
+ ã¾ãšã‚¢ãƒ—リケーションã®ã‚¯ãƒ©ã‚¹ãƒ‘スã‹ã‚‰ã“れを探ã—出ãã†ã¨ã™ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ DTDファイルã¯Hibernateディストリビューション㮠src/
+ ディレクトリã¨åŒæ§˜ã€hibernate3.jar ã«ã‚‚å«ã¾ã‚Œã¦ã„ã¾ã™ã€‚
- ˆÈ~‚Ì—á‚ł̓R[ƒh‚ð’Z‚‚·‚邽‚ß‚ÉDTD錾‚ðÈ—ª‚µ‚Ü‚·B
- “–‘R‚Å‚·‚ª‚±‚ê‚̓IƒvƒVƒ‡ƒ“‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
+ 以é™ã®ä¾‹ã§ã¯ã‚³ãƒ¼ãƒ‰ã‚’çŸãã™ã‚‹ãŸã‚ã«DTD宣言をçœç•¥ã—ã¾ã™ã€‚
+ 当然ã§ã™ãŒã“ã‚Œã¯ã‚ªãƒ—ションã§ã¯ã‚ã‚Šã¾ã›ã‚“。
- 2‚Â‚Ì hibernate-mapping ƒ^ƒO‚ÌŠÔ‚É
- class —v‘f‚ðŠÜ‚ß‚Ä‚‚¾‚³‚¢B
- ‚·‚ׂẲi‘±ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒXi”O‚ð‰Ÿ‚µ‚Ü‚·‚ªA
- ƒtƒ@[ƒXƒgƒNƒ‰ƒX‚̃Gƒ“ƒeƒBƒeƒB‚Å‚Í‚È‚¢ˆË‘¶ƒNƒ‰ƒX‚Æ‚¢‚¤‚à‚Ì‚ªŒã‚Ù‚Ç“oꂵ‚Ü‚·j
- ‚ÍSQLƒf[ƒ^ƒx[ƒX“à‚̃e[ƒuƒ‹‚Ö‚Ì‚±‚̂悤‚ȃ}ƒbƒsƒ“ƒO‚ð•K—v‚Æ‚µ‚Ü‚·B
+ 2ã¤ã® hibernate-mapping ã‚¿ã‚°ã®é–“ã«
+ class è¦ç´ ã‚’å«ã‚ã¦ãã ã•ã„。
+ ã™ã¹ã¦ã®æ°¸ç¶šã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã‚¯ãƒ©ã‚¹ï¼ˆå¿µã‚’押ã—ã¾ã™ãŒã€
+ ファーストクラスã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã§ã¯ãªã„ä¾å˜ã‚¯ãƒ©ã‚¹ã¨ã„ã†ã‚‚ã®ãŒå¾Œã»ã©ç™»å ´ã—ã¾ã™ï¼‰
+ ã¯SQLデータベース内ã®ãƒ†ãƒ¼ãƒ–ルã¸ã®ã“ã®ã‚ˆã†ãªãƒžãƒƒãƒ”ングを必è¦ã¨ã—ã¾ã™ã€‚
@@ -230,12 +232,12 @@ public class Event {
]]>
- ‚±‚ê‚Ü‚ÅŽ„‚½‚¿‚ÍAEvent ƒNƒ‰ƒX‚̃IƒuƒWƒFƒNƒg‚ð
- EVENTS ƒe[ƒuƒ‹‚ɑ΂µ‚ÄA‚ǂ̂悤‚ɉi‘±‰»‚µ‚½‚èƒ[ƒh‚µ‚½‚è‚·‚é‚Ì‚©‚ð
- Hibernate‚É‹³‚¦‚Ä‚«‚Ü‚µ‚½B‚»‚µ‚ÄŒÂX‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̓e[ƒuƒ‹‚Ìs‚Æ‚µ‚Ä•\Œ»‚³‚ê‚Ü‚·B
- ‚»‚ê‚ł͈ø‚«‘±‚«ƒe[ƒuƒ‹‚ÌŽåƒL[‚ɑ΂·‚郆ƒj[ƒN‚ÈŽ¯•ÊŽqƒvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ä‚¢‚«‚Ü‚·B
- ‚³‚ç‚ÉA‚±‚ÌŽ¯•ÊŽq‚̈µ‚¢‚É‹C‚ðŽg‚¢‚½‚‚È‚©‚Á‚½‚Ì‚Æ“¯—l‚ÉA
- ‘ã—‚ÌŽåƒL[ƒJƒ‰ƒ€‚ɑ΂·‚éHibernate‚ÌŽ¯•ÊŽq¶¬í—ª‚ðݒ肵‚Ü‚·B
+ ã“ã‚Œã¾ã§ç§ãŸã¡ã¯ã€Event クラスã®ã‚ªãƒ–ジェクトを
+ EVENTS テーブルã«å¯¾ã—ã¦ã€ã©ã®ã‚ˆã†ã«æ°¸ç¶šåŒ–ã—ãŸã‚Šãƒãƒ¼ãƒ‰ã—ãŸã‚Šã™ã‚‹ã®ã‹ã‚’
+ Hibernateã«æ•™ãˆã¦ãã¾ã—ãŸã€‚ãã—ã¦å€‹ã€…ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ãƒ†ãƒ¼ãƒ–ルã®è¡Œã¨ã—ã¦è¡¨ç¾ã•ã‚Œã¾ã™ã€‚
+ ãã‚Œã§ã¯å¼•ã続ãテーブルã®ä¸»ã‚ーã«å¯¾ã™ã‚‹ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªè˜åˆ¥åプãƒãƒ‘ティをマッピングã—ã¦ã„ãã¾ã™ã€‚
+ ã•ã‚‰ã«ã€ã“ã®è˜åˆ¥åã®æ‰±ã„ã«æ°—を使ã„ãŸããªã‹ã£ãŸã®ã¨åŒæ§˜ã«ã€
+ 代ç†ã®ä¸»ã‚ーカラムã«å¯¾ã™ã‚‹Hibernateã®è˜åˆ¥å生æˆæˆ¦ç•¥ã‚’è¨å®šã—ã¾ã™ã€‚
@@ -249,21 +251,21 @@ public class Event {
]]>
- id —v‘f‚ÍŽ¯•ÊŽqƒvƒƒpƒeƒB‚Ì錾‚Å‚ ‚èA
- name="id" ‚ÅJavaƒvƒƒpƒeƒB‚Ì–¼‘O‚ð錾‚µ‚Ü‚·B
- Hibernate‚Í‚±‚̃vƒƒpƒeƒB‚ÖƒAƒNƒZƒX‚·‚邽‚߂ɃQƒbƒ^[AƒZƒbƒ^[ƒƒ\ƒbƒh‚ðŽg‚¢‚Ü‚·B
- ƒJƒ‰ƒ€‘®«‚Å‚Í EVENTS ƒe[ƒuƒ‹‚̂ǂ̃Jƒ‰ƒ€‚ðŽåƒL[‚Æ‚µ‚ÄŽg‚¤‚Ì‚©‚ð
- Hibernate‚É‹³‚¦‚Ü‚·B
- “ü‚êŽq‚É‚È‚Á‚Ä‚¢‚é generator —v‘f‚ÍAŽ¯•ÊŽq‚𶬂·‚鎞‚Ìí—ª‚ðŽw’肵‚Ü‚·B
- i‚±‚Ì—á‚Å‚Í native ‚ð—p‚¢‚Ü‚µ‚½jB
- ‚±‚Ì—v‘f‚ÍAݒ肵‚½ƒf[ƒ^ƒx[ƒXidialectj‚ɑ΂·‚éÅ—Ç‚ÈŽ¯•ÊŽq¶¬í—ª‚ð‘I’è‚·‚é‚à‚Ì‚Å‚·B
- Hibernate‚ÍAƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Å’l‚ðŠ„‚è“–‚Ä‚éí—ªi‚à‚µ‚‚Í“ÆŽ©‚ÉŠg’£‚µ‚½í—ªj‚Æ“¯—l‚ÉA
- ƒOƒ[ƒoƒ‹‚Ƀ†ƒj[ƒN‚È’l‚ðƒf[ƒ^ƒx[ƒX‚ɶ¬‚³‚¹‚éí—ª‚àƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
+ id è¦ç´ ã¯è˜åˆ¥åプãƒãƒ‘ティã®å®£è¨€ã§ã‚ã‚Šã€
+ name="id" ã§Javaプãƒãƒ‘ティã®åå‰ã‚’宣言ã—ã¾ã™ã€‚
+ Hibernateã¯ã“ã®ãƒ—ãƒãƒ‘ティã¸ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹ãŸã‚ã«ã‚²ãƒƒã‚¿ãƒ¼ã€ã‚»ãƒƒã‚¿ãƒ¼ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã„ã¾ã™ã€‚
+ カラム属性ã§ã¯ EVENTS テーブルã®ã©ã®ã‚«ãƒ©ãƒ を主ã‚ーã¨ã—ã¦ä½¿ã†ã®ã‹ã‚’
+ Hibernateã«æ•™ãˆã¾ã™ã€‚
+ 入れåã«ãªã£ã¦ã„ã‚‹ generator è¦ç´ ã¯ã€è˜åˆ¥åを生æˆã™ã‚‹æ™‚ã®æˆ¦ç•¥ã‚’指定ã—ã¾ã™ã€‚
+ (ã“ã®ä¾‹ã§ã¯ native を用ã„ã¾ã—ãŸï¼‰ã€‚
+ ã“ã®è¦ç´ ã¯ã€è¨å®šã—ãŸãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ï¼ˆdialect)ã«å¯¾ã™ã‚‹æœ€è‰¯ãªè˜åˆ¥å生æˆæˆ¦ç•¥ã‚’é¸å®šã™ã‚‹ã‚‚ã®ã§ã™ã€‚
+ Hibernateã¯ã€ã‚¢ãƒ—リケーションã§å€¤ã‚’割り当ã¦ã‚‹æˆ¦ç•¥ï¼ˆã‚‚ã—ãã¯ç‹¬è‡ªã«æ‹¡å¼µã—ãŸæˆ¦ç•¥ï¼‰ã¨åŒæ§˜ã«ã€
+ ã‚°ãƒãƒ¼ãƒãƒ«ã«ãƒ¦ãƒ‹ãƒ¼ã‚¯ãªå€¤ã‚’データベースã«ç”Ÿæˆã•ã›ã‚‹æˆ¦ç•¥ã‚‚サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
- ÅŒã‚ɃNƒ‰ƒX‚̉i‘±ƒvƒƒpƒeƒB‚Ì錾‚ðƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÉŠÜ‚ß‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍAƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚͉i‘±‚ÆŒ©‚È‚³‚ê‚Ü‚¹‚ñF
+ 最後ã«ã‚¯ãƒ©ã‚¹ã®æ°¸ç¶šãƒ—ãƒãƒ‘ティã®å®£è¨€ã‚’マッピングファイルã«å«ã‚ã¾ã™ã€‚
+ デフォルトã§ã¯ã€ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティã¯æ°¸ç¶šã¨è¦‹ãªã•ã‚Œã¾ã›ã‚“:
]]>
- id —v‘f‚ÌꇂƓ¯—l‚ÉA property —v‘f‚Ì
- name ‘®«‚ÅA‚ǂ̃Qƒbƒ^[‚ƃZƒbƒ^[ƒƒ\ƒbƒh‚ðŽg‚¤‚ׂ«‚©‚ðHibernate‚É‹³‚¦‚Ü‚·B
- ‚±‚Ì—á‚Å‚ÍAHibernate‚Í getDate()/setDate() ‚Æ getTitle()/setTitle() ‚ð
- ’T‚µ‚Ü‚·B
+ id è¦ç´ ã®å ´åˆã¨åŒæ§˜ã«ã€ property è¦ç´ ã®
+ name 属性ã§ã€ã©ã®ã‚²ãƒƒã‚¿ãƒ¼ã¨ã‚»ãƒƒã‚¿ãƒ¼ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã†ã¹ãã‹ã‚’Hibernateã«æ•™ãˆã¾ã™ã€‚
+ ã“ã®ä¾‹ã§ã¯ã€Hibernate㯠getDate()/setDate() 㨠getTitle()/setTitle() ã‚’
+ 探ã—ã¾ã™ã€‚
- ‚È‚º date ƒvƒƒpƒeƒB‚̃}ƒbƒsƒ“ƒO‚É‚Í column
- ‘®«‚ª‚ ‚èAtitle ƒvƒƒpƒeƒB‚É‚Í‚È‚¢‚Ì‚Å‚µ‚傤‚©H
- column ‘®«‚ª‚È‚¯‚ê‚ÎAHibernate‚̓vƒƒpƒeƒB–¼‚ðƒJƒ‰ƒ€–¼‚Æ‚µ‚ÄŽg‚¢‚Ü‚·B
- ‚±‚ê‚Í title ‚Å‚ÍãŽè‚s‚«‚Ü‚·B
- ‚µ‚©‚µ date ‚Í‚Ù‚Æ‚ñ‚ǂ̃f[ƒ^ƒx[ƒX‚Å—\–ñŒê‚È‚Ì‚ÅA
- ˆá‚¤–¼‘O‚Ń}ƒbƒsƒ“ƒO‚µ‚½•û‚ª‚æ‚¢‚Ì‚Å‚·B
+ ãªãœ date プãƒãƒ‘ティã®ãƒžãƒƒãƒ”ングã«ã¯ column
+ 属性ãŒã‚ã‚Šã€title プãƒãƒ‘ティã«ã¯ãªã„ã®ã§ã—ょã†ã‹ï¼Ÿ
+ column 属性ãŒãªã‘ã‚Œã°ã€Hibernateã¯ãƒ—ãƒãƒ‘ティåをカラムåã¨ã—ã¦ä½¿ã„ã¾ã™ã€‚
+ ã“れ㯠title ã§ã¯ä¸Šæ‰‹ãè¡Œãã¾ã™ã€‚
+ ã—ã‹ã— date ã¯ã»ã¨ã‚“ã©ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§äºˆç´„語ãªã®ã§ã€
+ é•ã†åå‰ã§ãƒžãƒƒãƒ”ングã—ãŸæ–¹ãŒã‚ˆã„ã®ã§ã™ã€‚
- ŽŸ‚É‹»–¡[‚¢‚Ì‚Í title ƒ}ƒbƒsƒ“ƒO‚ª type
- ‘®«‚ð‚àŒ‡‚¢‚Ä‚¢‚é“_‚Å‚·B
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Å錾‚µ‚ÄŽg‚¤type‚ÍA‚¨‚í‚©‚è‚©‚à‚µ‚ê‚Ü‚¹‚ñ‚ªJava‚̃f[ƒ^Œ^‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- SQLƒf[ƒ^ƒx[ƒX‚ÌŒ^‚Å‚à‚ ‚è‚Ü‚¹‚ñB
- ‚±‚ê‚Í Hibernateƒ}ƒbƒsƒ“ƒOŒ^ ‚ƌĂ΂ê‚éA
- Java‚©‚çSQLƒf[ƒ^‚ÌŒ^‚Ö‚Ü‚½‚ÍSQL‚©‚çJavaƒf[ƒ^Œ^‚Ö–|–ó‚·‚éƒRƒ“ƒo[ƒ^‚Å‚·B
- ŒJ‚è•Ô‚µ‚É‚È‚è‚Ü‚·‚ªAHibernate‚Í type ‘®«‚ªƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹“à‚É‚È‚¯‚ê‚ÎA
- ³‚µ‚¢ƒRƒ“ƒo[ƒWƒ‡ƒ“‚ƃ}ƒbƒsƒ“ƒOŒ^‚ðŽ©•ª‚Å‰ðŒˆ‚µ‚悤‚Æ‚µ‚Ü‚·B
- iJavaƒNƒ‰ƒX‚̃ŠƒtƒŒƒNƒVƒ‡ƒ“‚ðŽg‚Á‚½j‚±‚ÌŽ©“®ŒŸ’m‚ÍA
- ꇂɂæ‚Á‚Ä‚Í‚ ‚È‚½‚ªŠú‘Ò‚Ü‚½‚Í•K—v‚Æ‚·‚éƒfƒtƒHƒ‹ƒg’l‚É‚È‚ç‚È‚¢‚©‚à‚µ‚ê‚Ü‚¹‚ñB
- date ƒvƒƒpƒeƒB‚Ìꇂª‚»‚¤‚Å‚µ‚½B
- Hibernate‚Í‚±‚Ìi java.util.Date ‚ÌjƒvƒƒpƒeƒB‚ð
- SQL‚Ì date , timestamp ,
- time ‚Ì‚¤‚¿A‚ǂ̃Jƒ‰ƒ€‚Ƀ}ƒbƒsƒ“ƒO‚·‚é‚ׂ«‚È‚Ì‚©‚í‚©‚è‚Ü‚¹‚ñB
- timestamp ƒRƒ“ƒo[ƒ^‚ŃvƒƒpƒeƒB‚ðƒ}ƒbƒsƒ“ƒO‚·‚邱‚Æ‚É‚æ‚èAŠ®‘S‚È“úŽž‚ð•Û‘¶‚µ‚Ü‚·B
+ 次ã«èˆˆå‘³æ·±ã„ã®ã¯ title マッピング㌠type
+ å±žæ€§ã‚’ã‚‚æ¬ ã„ã¦ã„る点ã§ã™ã€‚
+ マッピングファイルã§å®£è¨€ã—ã¦ä½¿ã†typeã¯ã€ãŠã‚ã‹ã‚Šã‹ã‚‚ã—ã‚Œã¾ã›ã‚“ãŒJavaã®ãƒ‡ãƒ¼ã‚¿åž‹ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ SQLデータベースã®åž‹ã§ã‚‚ã‚ã‚Šã¾ã›ã‚“。
+ ã“れ㯠Hibernateマッピング型 ã¨å‘¼ã°ã‚Œã‚‹ã€
+ Javaã‹ã‚‰SQLデータã®åž‹ã¸ã¾ãŸã¯SQLã‹ã‚‰Javaデータ型ã¸ç¿»è¨³ã™ã‚‹ã‚³ãƒ³ãƒãƒ¼ã‚¿ã§ã™ã€‚
+ ç¹°ã‚Šè¿”ã—ã«ãªã‚Šã¾ã™ãŒã€Hibernate㯠type 属性ãŒãƒžãƒƒãƒ”ングファイル内ã«ãªã‘ã‚Œã°ã€
+ æ£ã—ã„コンãƒãƒ¼ã‚¸ãƒ§ãƒ³ã¨ãƒžãƒƒãƒ”ング型を自分ã§è§£æ±ºã—よã†ã¨ã—ã¾ã™ã€‚
+ (Javaクラスã®ãƒªãƒ•ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’使ã£ãŸï¼‰ã“ã®è‡ªå‹•æ¤œçŸ¥ã¯ã€
+ å ´åˆã«ã‚ˆã£ã¦ã¯ã‚ãªãŸãŒæœŸå¾…ã¾ãŸã¯å¿…è¦ã¨ã™ã‚‹ãƒ‡ãƒ•ã‚©ãƒ«ãƒˆå€¤ã«ãªã‚‰ãªã„ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“。
+ date プãƒãƒ‘ティã®å ´åˆãŒãã†ã§ã—ãŸã€‚
+ Hibernateã¯ã“ã®ï¼ˆ java.util.Date ã®ï¼‰ãƒ—ãƒãƒ‘ティを
+ SQLã® date , timestamp ,
+ time ã®ã†ã¡ã€ã©ã®ã‚«ãƒ©ãƒ ã«ãƒžãƒƒãƒ”ングã™ã‚‹ã¹ããªã®ã‹ã‚ã‹ã‚Šã¾ã›ã‚“。
+ timestamp コンãƒãƒ¼ã‚¿ã§ãƒ—ãƒãƒ‘ティをマッピングã™ã‚‹ã“ã¨ã«ã‚ˆã‚Šã€å®Œå…¨ãªæ—¥æ™‚ã‚’ä¿å˜ã—ã¾ã™ã€‚
- ‚±‚̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ÍAEvent.hbm.xml ‚Æ‚µ‚Ä Event
- JavaƒNƒ‰ƒXƒ\[ƒXƒtƒ@ƒCƒ‹‚Ì‚·‚®—ׂɃZ[ƒu‚·‚é‚ׂ«‚Å‚·B
- ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚Ì–½–¼•û–@‚Í”CˆÓ‚Å‚·‚ªAhbm.xml
- ƒTƒtƒBƒbƒNƒX‚ªHibernate‚ÌŠJ”ŽÒ‚̃Rƒ~ƒ…ƒjƒeƒB“à‚Å‚ÌKŠµ‚Æ‚È‚Á‚Ä‚¢‚Ü‚·B
- Œ»ÝƒfƒBƒŒƒNƒgƒŠ\‘¢‚Í‚±‚̂悤‚É‚È‚Á‚Ä‚¢‚é‚Í‚¸‚Å‚·F
+ ã“ã®ãƒžãƒƒãƒ”ングファイルã¯ã€Event.hbm.xml ã¨ã—㦠Event
+ Javaクラスソースファイルã®ã™ã隣ã«ã‚»ãƒ¼ãƒ–ã™ã‚‹ã¹ãã§ã™ã€‚
+ マッピングファイルã®å‘½å方法ã¯ä»»æ„ã§ã™ãŒã€hbm.xml
+ サフィックスãŒHibernateã®é–‹ç™ºè€…ã®ã‚³ãƒŸãƒ¥ãƒ‹ãƒ†ã‚£å†…ã§ã®ç¿’æ…£ã¨ãªã£ã¦ã„ã¾ã™ã€‚
+ ç¾åœ¨ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªæ§‹é€ ã¯ã“ã®ã‚ˆã†ã«ãªã£ã¦ã„ã‚‹ã¯ãšã§ã™ï¼š
- Hibernate‚ÌŽå—v‚ÈÝ’è‚𑱂¯‚Ü‚·B
+ Hibernateã®ä¸»è¦ãªè¨å®šã‚’続ã‘ã¾ã™ã€‚
- Hibernate‚ÌÝ’è
+ Hibernateã®è¨å®š
- ‚±‚±‚܂łʼni‘±ƒNƒ‰ƒX‚ƃ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ª‘µ‚¢‚Ü‚µ‚½B‚±‚ê‚©‚çHibernate‚ÌÝ’è‚ðs‚¢‚Ü‚·‚ªA
- ‚»‚Ì‘O‚Ƀf[ƒ^ƒx[ƒX‚ª•K—v‚Å‚·B
- HSQL DB‚ÍJavaƒx[ƒX‚̃Cƒ“ƒƒ‚ƒŠSQL DBMS‚Å‚ ‚èAHSQL DBƒEƒFƒuƒTƒCƒg‚©‚çƒ_ƒEƒ“ƒ[ƒh‚Å‚«‚Ü‚·B
- ŽÀۂɂ̓_ƒEƒ“ƒ[ƒh‚µ‚½’†‚Ì hsqldb.jar ‚¾‚¯‚ª•K—v‚Å‚·B
- ‚±‚̃tƒ@ƒCƒ‹‚ðŠJ”ƒtƒHƒ‹ƒ_‚Ì lib/ ƒfƒBƒŒƒNƒgƒŠ‚É”z’u‚µ‚Ä‚‚¾‚³‚¢B
+ ã“ã“ã¾ã§ã§æ°¸ç¶šã‚¯ãƒ©ã‚¹ã¨ãƒžãƒƒãƒ”ングファイルãŒæƒã„ã¾ã—ãŸã€‚ã“ã‚Œã‹ã‚‰Hibernateã®è¨å®šã‚’è¡Œã„ã¾ã™ãŒã€
+ ãã®å‰ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒå¿…è¦ã§ã™ã€‚
+ HSQL DBã¯Javaベースã®ã‚¤ãƒ³ãƒ¡ãƒ¢ãƒªSQL DBMSã§ã‚ã‚Šã€HSQL DBウェブサイトã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã§ãã¾ã™ã€‚
+ 実際ã«ã¯ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ãŸä¸ã® hsqldb.jar ã ã‘ãŒå¿…è¦ã§ã™ã€‚
+ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’開発フォルダ㮠lib/ ディレクトリã«é…ç½®ã—ã¦ãã ã•ã„。
- data ‚Æ‚¢‚¤ƒfƒBƒŒƒNƒgƒŠ‚ðŠJ”ƒfƒBƒŒƒNƒgƒŠ‚̃‹[ƒg‚É쬂µ‚Ä‚‚¾‚³‚¢B
- HSQL DB‚Í‚±‚±‚Ƀf[ƒ^ƒtƒ@ƒCƒ‹‚ðŠi”[‚µ‚Ü‚·B
- ‚±‚̃f[ƒ^ƒfƒBƒŒƒNƒgƒŠ‚É‚¨‚¢‚Ä java -classpath lib/hsqldb.jar org.hsqldb.Server ‚ðŽÀs‚µA
- ƒf[ƒ^ƒx[ƒX‚ð‹N“®‚³‚¹‚Ä‚‚¾‚³‚¢B
- “®ì‚ÌŠJŽn‚ÆATCP/IPƒ\ƒPƒbƒg‚̃oƒCƒ“ƒh‚ªŠm”F‚Å‚«‚Ü‚·B
- Œã‚Ù‚Ç쬂·‚éƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Í‚±‚±‚ÉÚ‘±‚µ‚Ü‚·B
- ‚à‚µ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹’†‚Ƀf[ƒ^ƒx[ƒX‚ð‰Šú‰»‚µ‚½‚¯‚ê‚ÎA
- HSQL DB‚ðƒVƒƒƒbƒgƒ_ƒEƒ“‚µ‚Äiì‹ÆƒEƒBƒ“ƒhƒE‚Å CTRL + C ‚ð‰Ÿ‚µ‚Ü‚·j
- data/ ƒfƒBƒŒƒNƒgƒŠ“à‚̃tƒ@ƒCƒ‹‚ð‘S‚ÄÁ‹Ž‚µ‚½ŒãA
- HSQL DB‚ðÄ‹N“®‚µ‚Ü‚·B
+ data ã¨ã„ã†ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã‚’開発ディレクトリã®ãƒ«ãƒ¼ãƒˆã«ä½œæˆã—ã¦ãã ã•ã„。
+ HSQL DBã¯ã“ã“ã«ãƒ‡ãƒ¼ã‚¿ãƒ•ã‚¡ã‚¤ãƒ«ã‚’æ ¼ç´ã—ã¾ã™ã€‚
+ ã“ã®ãƒ‡ãƒ¼ã‚¿ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ãŠã„㦠java -classpath lib/hsqldb.jar org.hsqldb.Server を実行ã—ã€
+ データベースを起動ã•ã›ã¦ãã ã•ã„。
+ 動作ã®é–‹å§‹ã¨ã€TCP/IPソケットã®ãƒã‚¤ãƒ³ãƒ‰ãŒç¢ºèªã§ãã¾ã™ã€‚
+ 後ã»ã©ä½œæˆã™ã‚‹ã‚¢ãƒ—リケーションã¯ã“ã“ã«æŽ¥ç¶šã—ã¾ã™ã€‚
+ ã‚‚ã—ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ä¸ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’åˆæœŸåŒ–ã—ãŸã‘ã‚Œã°ã€
+ HSQL DBをシャットダウンã—ã¦ï¼ˆä½œæ¥ã‚¦ã‚£ãƒ³ãƒ‰ã‚¦ã§ CTRL + C を押ã—ã¾ã™ï¼‰
+ data/ ディレクトリ内ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’å…¨ã¦æ¶ˆåŽ»ã—ãŸå¾Œã€
+ HSQL DBã‚’å†èµ·å‹•ã—ã¾ã™ã€‚
- Hibernate‚̓AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃f[ƒ^ƒx[ƒX‚ÉÚ‘±‚·‚é‘w‚È‚Ì‚ÅA
- ƒRƒlƒNƒVƒ‡ƒ“‚Ìî•ñ‚ª•K—v‚É‚È‚è‚Ü‚·B
- ƒRƒlƒNƒVƒ‡ƒ“‚ÍJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ð’Ê‚¶‚Äs‚í‚ê‚Ü‚·‚ªA‚±‚ê‚àÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“‚É‚Í‚¢‚‚‚©‚̃I[ƒvƒ“ƒ\[ƒX‚ÌJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒc[ƒ‹‚ªŠÜ‚Ü‚ê‚Ä‚¢‚Ü‚·‚ªA
- ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚Å‚ÍHibernate‚É‘g‚Ýž‚܂ꂽƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ðŽg‚¢‚Ü‚·B
- ‚à‚µ»•iƒŒƒxƒ‹‚Ì•iŽ¿‚̃T[ƒhƒp[ƒeƒBJDBCƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹ƒ\ƒtƒgƒEƒFƒA‚ðŽg‚¢‚½‚¯‚ê‚ÎA
- ƒNƒ‰ƒXƒpƒX‚É•K—v‚ȃ‰ƒCƒuƒ‰ƒŠ‚ðƒRƒs[‚µ‚ÄAˆÙ‚È‚éƒRƒlƒNƒVƒ‡ƒ“ƒv[ƒ‹‚ðݒ肵‚È‚¯‚ê‚Î
- ‚È‚ç‚È‚¢‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
+ Hibernateã¯ã‚¢ãƒ—リケーションã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«æŽ¥ç¶šã™ã‚‹å±¤ãªã®ã§ã€
+ コãƒã‚¯ã‚·ãƒ§ãƒ³ã®æƒ…å ±ãŒå¿…è¦ã«ãªã‚Šã¾ã™ã€‚
+ コãƒã‚¯ã‚·ãƒ§ãƒ³ã¯JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールを通ã˜ã¦è¡Œã‚ã‚Œã¾ã™ãŒã€ã“れもè¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ Hibernateディストリビューションã«ã¯ã„ãã¤ã‹ã®ã‚ªãƒ¼ãƒ—ンソースã®JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールツールãŒå«ã¾ã‚Œã¦ã„ã¾ã™ãŒã€
+ ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã¯Hibernateã«çµ„ã¿è¾¼ã¾ã‚ŒãŸã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールを使ã„ã¾ã™ã€‚
+ ã‚‚ã—製å“レベルã®å“質ã®ã‚µãƒ¼ãƒ‰ãƒ‘ーティJDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールソフトウェアを使ã„ãŸã‘ã‚Œã°ã€
+ クラスパスã«å¿…è¦ãªãƒ©ã‚¤ãƒ–ラリをコピーã—ã¦ã€ç•°ãªã‚‹ã‚³ãƒã‚¯ã‚·ãƒ§ãƒ³ãƒ—ールをè¨å®šã—ãªã‘ã‚Œã°
+ ãªã‚‰ãªã„ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
- Hibernate‚ÌÝ’è‚Å‚ÍA’Pƒ‚È hibernate.properties ƒtƒ@ƒCƒ‹A
- ‚»‚ê‚æ‚肵ô—û‚³‚ê‚Ä‚¢‚é hibernate.cfg.xml ƒtƒ@ƒCƒ‹A
- ‚Ü‚½‚ÍŠ®‘S‚ɃvƒƒOƒ‰ƒ€ã‚ŃZƒbƒgƒAƒbƒv‚·‚é•û–@‚ª—˜—p‚Å‚«‚Ü‚·B
- ‚Ù‚Æ‚ñ‚ǂ̃†[ƒU‚ªD‚Þ‚Ì‚ÍXMLÝ’èƒtƒ@ƒCƒ‹‚Å‚·F
+ Hibernateã®è¨å®šã§ã¯ã€å˜ç´”㪠hibernate.properties ファイルã€
+ ãれより少ã—æ´—ç·´ã•ã‚Œã¦ã„ã‚‹ hibernate.cfg.xml ファイルã€
+ ã¾ãŸã¯å®Œå…¨ã«ãƒ—ãƒã‚°ãƒ©ãƒ 上ã§ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—ã™ã‚‹æ–¹æ³•ãŒåˆ©ç”¨ã§ãã¾ã™ã€‚
+ ã»ã¨ã‚“ã©ã®ãƒ¦ãƒ¼ã‚¶ãŒå¥½ã‚€ã®ã¯XMLè¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã§ã™ï¼š
@@ -417,51 +419,51 @@ public class Event {
]]>
- ‚±‚ÌXML‚Ìݒ肪ˆÙ‚È‚éDTD‚ðŽg‚¤‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- “Á’è‚̃f[ƒ^ƒx[ƒX‚ðŽó‚¯Ž‚ƒOƒ[ƒoƒ‹ƒtƒ@ƒNƒgƒŠ‚Å‚ ‚éHibernate‚Ì
- SessionFactory ‚ðݒ肵‚Ü‚·B
- ‚à‚µ•¡”‚̃f[ƒ^ƒx[ƒX‚ª‚ ‚éꇂɂÍA
- iƒXƒ^[ƒgƒAƒbƒv‚ðŠÈ’P‚É‚·‚邽‚ßj’Êí‚¢‚‚‚©‚ÌÝ’èƒtƒ@ƒCƒ‹“à‚ÅA
- ‚¢‚‚‚©‚Ì <session-factory> ‚ðŽg‚¤Ý’è‚É‚µ‚Ä‚‚¾‚³‚¢B
+ ã“ã®XMLã®è¨å®šãŒç•°ãªã‚‹DTDを使ã†ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ 特定ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚’å—ã‘æŒã¤ã‚°ãƒãƒ¼ãƒãƒ«ãƒ•ã‚¡ã‚¯ãƒˆãƒªã§ã‚ã‚‹Hibernateã®
+ SessionFactory ã‚’è¨å®šã—ã¾ã™ã€‚
+ ã‚‚ã—複数ã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãŒã‚ã‚‹å ´åˆã«ã¯ã€
+ (スタートアップを簡å˜ã«ã™ã‚‹ãŸã‚)通常ã„ãã¤ã‹ã®è¨å®šãƒ•ã‚¡ã‚¤ãƒ«å†…ã§ã€
+ ã„ãã¤ã‹ã® <session-factory> を使ã†è¨å®šã«ã—ã¦ãã ã•ã„。
- ʼn‚Ì4‚Â‚Ì property —v‘f‚ÍJDBCƒRƒlƒNƒVƒ‡ƒ“‚É•K—v‚ÈÝ’è‚ðŠÜ‚ñ‚Å‚¢‚Ü‚·B
- dialect‚Æ‚¢‚¤–¼‘O‚Ì property —v‘f‚ÍAHibernate‚ª¶¬‚·‚é“Á’è‚ÌSQL•ûŒ¾‚ðŽw’肵‚Ü‚·B
- ‰i‘±“I‚ȃRƒ“ƒeƒLƒXƒg‚ɑ΂·‚éHibernate‚̃ZƒbƒVƒ‡ƒ“‚ÌŽ©“®ŠÇ—‚ÍAŒã‚Ì—á‚Å‚·‚®‚É‚í‚©‚é‚悤‚ÉA–ð‚É—§‚‚±‚Æ‚Å‚µ‚傤B
- hbm2ddl.auto ƒIƒvƒVƒ‡ƒ“‚̓f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ÌŽ©“®¶¬‚ðon‚É‚µ‚Ü‚·B
- ‚±‚ê‚Í’¼Úƒf[ƒ^ƒx[ƒX‚ɑ΂µ‚Ķ¬‚³‚ê‚Ü‚·B
- “–‘RiconfigƒIƒvƒVƒ‡ƒ“‚ð휂µ‚Äjoff‚É‚µ‚½‚èA
- SchemaExport ‚Æ‚¢‚¤Antƒ^ƒXƒN‚Ì•‚¯‚ðŽØ‚è‚ătƒ@ƒCƒ‹‚ɃŠƒ_ƒCƒŒƒNƒg‚µ‚½‚è‚Å‚«‚Ü‚·B
- ÅŒã‚ɉi‘±ƒNƒ‰ƒX‚Ì‚½‚߂̃}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ðÝ’è‚ɒljÁ‚µ‚Ü‚·B
+ 最åˆã®4ã¤ã® property è¦ç´ ã¯JDBCコãƒã‚¯ã‚·ãƒ§ãƒ³ã«å¿…è¦ãªè¨å®šã‚’å«ã‚“ã§ã„ã¾ã™ã€‚
+ dialectã¨ã„ã†åå‰ã® property è¦ç´ ã¯ã€HibernateãŒç”Ÿæˆã™ã‚‹ç‰¹å®šã®SQL方言を指定ã—ã¾ã™ã€‚
+ 永続的ãªã‚³ãƒ³ãƒ†ã‚ストã«å¯¾ã™ã‚‹Hibernateã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã®è‡ªå‹•ç®¡ç†ã¯ã€å¾Œã®ä¾‹ã§ã™ãã«ã‚ã‹ã‚‹ã‚ˆã†ã«ã€å½¹ã«ç«‹ã¤ã“ã¨ã§ã—ょã†ã€‚
+ hbm2ddl.auto オプションã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマã®è‡ªå‹•ç”Ÿæˆã‚’onã«ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ç›´æŽ¥ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«å¯¾ã—ã¦ç”Ÿæˆã•ã‚Œã¾ã™ã€‚
+ 当然(configオプションを削除ã—ã¦ï¼‰offã«ã—ãŸã‚Šã€
+ SchemaExport ã¨ã„ã†Antタスクã®åŠ©ã‘を借りã¦ãƒ•ã‚¡ã‚¤ãƒ«ã«ãƒªãƒ€ã‚¤ãƒ¬ã‚¯ãƒˆã—ãŸã‚Šã§ãã¾ã™ã€‚
+ 最後ã«æ°¸ç¶šã‚¯ãƒ©ã‚¹ã®ãŸã‚ã®ãƒžãƒƒãƒ”ングファイルをè¨å®šã«è¿½åŠ ã—ã¾ã™ã€‚
- ‚±‚̃tƒ@ƒCƒ‹‚ðƒ\[ƒXƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚Ä‚‚¾‚³‚¢B
- ‚·‚é‚Æ‚±‚ê‚̓Nƒ‰ƒXƒpƒX‚̃‹[ƒg‚É‚ ‚邱‚Æ‚É‚È‚è‚Ü‚·B
- Hibernate‚ÍAƒXƒ^[ƒgƒAƒbƒvŽž‚ɃNƒ‰ƒXƒpƒX‚̃‹[ƒg‚Å hibernate.cfg.xml
- ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ðŽ©“®“I‚É’T‚µ‚Ü‚·B
+ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ソースディレクトリã«ã‚³ãƒ”ーã—ã¦ãã ã•ã„。
+ ã™ã‚‹ã¨ã“ã‚Œã¯ã‚¯ãƒ©ã‚¹ãƒ‘スã®ãƒ«ãƒ¼ãƒˆã«ã‚ã‚‹ã“ã¨ã«ãªã‚Šã¾ã™ã€‚
+ Hibernateã¯ã€ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—時ã«ã‚¯ãƒ©ã‚¹ãƒ‘スã®ãƒ«ãƒ¼ãƒˆã§ hibernate.cfg.xml
+ ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚’自動的ã«æŽ¢ã—ã¾ã™ã€‚
- Ant‚É‚æ‚éƒrƒ‹ƒh
+ Antã«ã‚ˆã‚‹ãƒ“ルド
- ‚»‚ê‚Å‚ÍAnt‚ðŽg‚Á‚ă`ƒ…[ƒgƒŠƒAƒ‹‚ðƒrƒ‹ƒh‚µ‚Ü‚µ‚傤B
- ‚»‚ê‚É‚ÍAnt‚ªƒCƒ“ƒXƒg[ƒ‹‚³‚ê‚Ä‚¢‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- Antƒ_ƒEƒ“ƒ[ƒhƒy[ƒW
- ‚©‚çƒ_ƒEƒ“ƒ[ƒh‚µ‚Ä‚‚¾‚³‚¢B
- Ant‚̃Cƒ“ƒXƒg[ƒ‹•û–@‚Í‚±‚±‚Å‚Íà–¾‚µ‚Ü‚¹‚ñ‚Ì‚ÅA
- Antƒ}ƒjƒ…ƒAƒ‹
- ‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
- Ant‚ðƒCƒ“ƒXƒg[ƒ‹‚·‚ê‚ÎAƒrƒ‹ƒhƒtƒ@ƒCƒ‹‚Ì쬂ðŠJŽn‚Å‚«‚Ü‚·B
- ‚±‚̃tƒ@ƒCƒ‹‚Í build.xml ‚ƌĂ΂êAŠJ”ƒfƒBƒŒƒNƒgƒŠ‚É’¼Ú”z’u‚µ‚Ü‚·B
+ ãã‚Œã§ã¯Antを使ã£ã¦ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã‚’ビルドã—ã¾ã—ょã†ã€‚
+ ãã‚Œã«ã¯AntãŒã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã•ã‚Œã¦ã„ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ Antダウンãƒãƒ¼ãƒ‰ãƒšãƒ¼ã‚¸
+ ã‹ã‚‰ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¦ãã ã•ã„。
+ Antã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«æ–¹æ³•ã¯ã“ã“ã§ã¯èª¬æ˜Žã—ã¾ã›ã‚“ã®ã§ã€
+ Antマニュアル
+ ã‚’å‚ç…§ã—ã¦ãã ã•ã„。
+ Antをインストールã™ã‚Œã°ã€ãƒ“ルドファイルã®ä½œæˆã‚’開始ã§ãã¾ã™ã€‚
+ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ build.xml ã¨å‘¼ã°ã‚Œã€é–‹ç™ºãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç›´æŽ¥é…ç½®ã—ã¾ã™ã€‚
- Šî–{“I‚ȃrƒ‹ƒhƒtƒ@ƒCƒ‹‚Í‚±‚̂悤‚É‚È‚è‚Ü‚·F
+ 基本的ãªãƒ“ルドファイルã¯ã“ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ï¼š
@@ -498,21 +500,21 @@ public class Event {
]]>
- ‚±‚ê‚Í .jar ‚ÅI‚í‚élibƒfƒBƒŒƒNƒgƒŠ‚Ì‚·‚ׂẴtƒ@ƒCƒ‹‚ðA
- ƒRƒ“ƒpƒCƒ‹‚ÉŽg—p‚·‚éƒNƒ‰ƒXƒpƒX‚ɒljÁ‚·‚邱‚Æ‚ðAnt‚É‹³‚¦‚Ü‚·B
- ‚Ü‚½AJavaƒ\[ƒXƒtƒ@ƒCƒ‹‚Å‚È‚¢‚·‚ׂẴtƒ@ƒCƒ‹‚ðƒ^[ƒQƒbƒgƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚·‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚à‚ ‚è‚Ü‚·B
- —Ⴆ‚ÎÝ’èƒtƒ@ƒCƒ‹‚âHibernateƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚È‚Ç‚Å‚·B
- ¡Ant‚ðŽÀs‚·‚é‚ÆA‚±‚̂悤‚Èo—Í‚ª‚ ‚é‚Í‚¸‚Å‚·F
+ ã“れ㯠.jar ã§çµ‚ã‚ã‚‹libディレクトリã®ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ã€
+ コンパイルã«ä½¿ç”¨ã™ã‚‹ã‚¯ãƒ©ã‚¹ãƒ‘スã«è¿½åŠ ã™ã‚‹ã“ã¨ã‚’Antã«æ•™ãˆã¾ã™ã€‚
+ ã¾ãŸã€Javaソースファイルã§ãªã„ã™ã¹ã¦ã®ãƒ•ã‚¡ã‚¤ãƒ«ã‚’ターゲットディレクトリã«ã‚³ãƒ”ーã™ã‚‹ã¨ã„ã†ã“ã¨ã§ã‚‚ã‚ã‚Šã¾ã™ã€‚
+ 例ãˆã°è¨å®šãƒ•ã‚¡ã‚¤ãƒ«ã‚„Hibernateマッピングファイルãªã©ã§ã™ã€‚
+ 今Antを実行ã™ã‚‹ã¨ã€ã“ã®ã‚ˆã†ãªå‡ºåŠ›ãŒã‚ã‚‹ã¯ãšã§ã™ï¼š
- ant
+ ant
Buildfile: build.xml
copy-resources:
- [copy] Copying 2 files to C:\hibernateTutorial\bin
+ [copy] Copying 2 files to C:¥hibernateTutorial¥bin
compile:
- [javac] Compiling 1 source file to C:\hibernateTutorial\bin
+ [javac] Compiling 1 source file to C:¥hibernateTutorial¥bin
BUILD SUCCESSFUL
Total time: 1 second ]]>
@@ -520,24 +522,24 @@ Total time: 1 second ]]>
- ƒXƒ^[ƒgƒAƒbƒv‚ƃwƒ‹ƒp
+ スタートアップã¨ãƒ˜ãƒ«ãƒ‘
- ‚³‚Ä Event ƒIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚µ‚½‚èŠi”[‚µ‚½‚è‚·‚途õ‚ª‚Å‚«‚Ü‚µ‚½B
- ‚µ‚©‚µ‚Ü‚¸‚̓Cƒ“ƒtƒ‰ƒXƒgƒ‰ƒNƒ`ƒƒ‚̃R[ƒh‚ð‘‚¢‚ÄAƒZƒbƒgƒAƒbƒv‚ðŠ®—¹‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- ‚Ü‚¸‚ÍHibernate‚ðƒXƒ^[ƒgƒAƒbƒv‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‚±‚̃Xƒ^[ƒgƒAƒbƒv‚É‚ÍAƒOƒ[ƒoƒ‹‚Ì SessionFactory ƒIƒuƒWƒFƒNƒg‚𶬂µ‚ÄA
- ‚»‚ê‚ðƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃R[ƒh‚ŃAƒNƒZƒX‚µ‚â‚·‚¢êŠ‚ÉŠi”[‚·‚邱‚Æ‚ªŠÜ‚Ü‚ê‚Ü‚·B
- SessionFactory ‚ÍV‚µ‚ Session ‚ðƒI[ƒvƒ“‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- Session ‚̓Vƒ“ƒOƒ‹ƒXƒŒƒbƒh‚Ìì‹Æ’PˆÊ(Unit of Work)‚ð•\Œ»‚µ‚Ü‚·B
- ‚»‚ê‚ɑ΂µSessionFactory ‚̓XƒŒƒbƒhƒZ[ƒt‚̃Oƒ[ƒoƒ‹ƒIƒuƒWƒFƒNƒg‚Å‚ ‚èA
- ˆê“x‚¾‚¯ƒCƒ“ƒXƒ^ƒ“ƒX‰»‚³‚ê‚Ü‚·B
+ ã•ã¦ Event オブジェクトをãƒãƒ¼ãƒ‰ã—ãŸã‚Šæ ¼ç´ã—ãŸã‚Šã™ã‚‹æº–å‚™ãŒã§ãã¾ã—ãŸã€‚
+ ã—ã‹ã—ã¾ãšã¯ã‚¤ãƒ³ãƒ•ãƒ©ã‚¹ãƒˆãƒ©ã‚¯ãƒãƒ£ã®ã‚³ãƒ¼ãƒ‰ã‚’書ã„ã¦ã€ã‚»ãƒƒãƒˆã‚¢ãƒƒãƒ—を完了ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ ã¾ãšã¯Hibernateをスタートアップã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ ã“ã®ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—ã«ã¯ã€ã‚°ãƒãƒ¼ãƒãƒ«ã® SessionFactory オブジェクトを生æˆã—ã¦ã€
+ ãれをアプリケーションã®ã‚³ãƒ¼ãƒ‰ã§ã‚¢ã‚¯ã‚»ã‚¹ã—ã‚„ã™ã„å ´æ‰€ã«æ ¼ç´ã™ã‚‹ã“ã¨ãŒå«ã¾ã‚Œã¾ã™ã€‚
+ SessionFactory ã¯æ–°ã—ã Session をオープンã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ Session ã¯ã‚·ãƒ³ã‚°ãƒ«ã‚¹ãƒ¬ãƒƒãƒ‰ã®ä½œæ¥å˜ä½(Unit of Work)を表ç¾ã—ã¾ã™ã€‚
+ ãã‚Œã«å¯¾ã—SessionFactory ã¯ã‚¹ãƒ¬ãƒƒãƒ‰ã‚»ãƒ¼ãƒ•ã®ã‚°ãƒãƒ¼ãƒãƒ«ã‚ªãƒ–ジェクトã§ã‚ã‚Šã€
+ 一度ã ã‘インスタンス化ã•ã‚Œã¾ã™ã€‚
- ‚±‚±‚ŃXƒ^[ƒgƒAƒbƒv‚ðs‚¢A •Ö—˜‚É SessionFactory ‚ÖƒAƒNƒZƒX‚·‚é
- HibernateUtil ƒwƒ‹ƒpƒNƒ‰ƒX‚ð쬂µ‚Ü‚·B
- ŽÀ‘•‚ðŒ©‚Ä‚Ý‚Ü‚µ‚傤F
+ ã“ã“ã§ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—ã‚’è¡Œã„〠便利㫠SessionFactory ã¸ã‚¢ã‚¯ã‚»ã‚¹ã™ã‚‹
+ HibernateUtil ヘルパクラスを作æˆã—ã¾ã™ã€‚
+ 実装を見ã¦ã¿ã¾ã—ょã†ï¼š
- ‚±‚̃Nƒ‰ƒX‚ÍÓI‰Šú‰»ƒuƒƒbƒNiƒNƒ‰ƒX‚ªƒ[ƒh‚³‚ê‚é‚Æ‚«‚ÉJVM‚É‚æ‚Á‚Ĉê“x‚¾‚¯ŒÄ‚΂ê‚éj
- ‚ŃOƒ[ƒoƒ‹‚Ì SessionFactory ‚𶬂·‚邾‚¯‚Å‚Í‚È‚A
- ÓIƒVƒ“ƒOƒ‹ƒgƒ“‚ÌŽg—p‚ð‰B•Á‚µ‚Ü‚·B
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“ƒT[ƒo[‚ÌJNDI‚©‚ç SessionFactory ‚ð
- ƒ‹ƒbƒNƒAƒbƒv‚·‚é‚Ì‚Æ“¯—l‚Å‚·B
+ ã“ã®ã‚¯ãƒ©ã‚¹ã¯é™çš„åˆæœŸåŒ–ブãƒãƒƒã‚¯ï¼ˆã‚¯ãƒ©ã‚¹ãŒãƒãƒ¼ãƒ‰ã•ã‚Œã‚‹ã¨ãã«JVMã«ã‚ˆã£ã¦ä¸€åº¦ã ã‘呼ã°ã‚Œã‚‹ï¼‰
+ ã§ã‚°ãƒãƒ¼ãƒãƒ«ã® SessionFactory を生æˆã™ã‚‹ã ã‘ã§ã¯ãªãã€
+ é™çš„シングルトンã®ä½¿ç”¨ã‚’éš è”½ã—ã¾ã™ã€‚
+ アプリケーションサーãƒãƒ¼ã®JNDIã‹ã‚‰ SessionFactory ã‚’
+ ルックアップã™ã‚‹ã®ã¨åŒæ§˜ã§ã™ã€‚
- Ý’èƒtƒ@ƒCƒ‹“à‚Å SessionFactory ‚É–¼‘O‚ð—^‚¦‚é‚ÆA
- Hibernate‚Í SessionFactory \’zŒã‚ÉJNDI‚ɑ΂µƒoƒCƒ“ƒh‚ðs‚¨‚¤‚Æ‚µ‚Ü‚·B
- ‚±‚̃R[ƒh‚ðŠ®‘S‚É”rœ‚·‚邽‚ß‚É‚ÍA
- JMXƒfƒvƒƒCƒƒ“ƒg‚ð—˜—p‚µ‚Ä
- JMX‚ð—˜—p‚Å‚«‚éƒRƒ“ƒeƒi‚ðƒCƒ“ƒXƒ^ƒ“ƒX‰»‚µA
- HibernateService ‚ðJNDI‚ÖƒoƒCƒ“ƒh‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- ‚±‚ê‚ç‚Ì‚“x‚ȃIƒvƒVƒ‡ƒ“‚ÍAHibernate‚̃Šƒtƒ@ƒŒƒ“ƒXƒhƒLƒ…ƒƒ“ƒg‚Åà–¾‚³‚ê‚Ä‚¢‚Ü‚·B
+ è¨å®šãƒ•ã‚¡ã‚¤ãƒ«å†…㧠SessionFactory ã«åå‰ã‚’与ãˆã‚‹ã¨ã€
+ Hibernate㯠SessionFactory 構築後ã«JNDIã«å¯¾ã—ãƒã‚¤ãƒ³ãƒ‰ã‚’è¡ŒãŠã†ã¨ã—ã¾ã™ã€‚
+ ã“ã®ã‚³ãƒ¼ãƒ‰ã‚’完全ã«æŽ’除ã™ã‚‹ãŸã‚ã«ã¯ã€
+ JMXデプãƒã‚¤ãƒ¡ãƒ³ãƒˆã‚’利用ã—ã¦
+ JMXを利用ã§ãるコンテナをインスタンス化ã—ã€
+ HibernateService ã‚’JNDIã¸ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ ã“れらã®é«˜åº¦ãªã‚ªãƒ—ションã¯ã€Hibernateã®ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ãƒ‰ã‚ュメントã§èª¬æ˜Žã•ã‚Œã¦ã„ã¾ã™ã€‚
- HibernateUtil.java ‚ðŠJ”ƒ\[ƒXƒfƒBƒŒƒNƒgƒŠ‚É‚ ‚é events ƒpƒbƒP[ƒW‚Ì
- —ׂɔz’u‚µ‚Ä‚‚¾‚³‚¢B
+ HibernateUtil.java を開発ソースディレクトリã«ã‚ã‚‹ events パッケージã®
+ 隣ã«é…ç½®ã—ã¦ãã ã•ã„。
- ‚±‚ê‚Í–â‘è‚ȂăRƒ“ƒpƒCƒ‹‚Å‚«‚é‚Í‚¸‚Å‚·B
- ÅŒã‚ɃƒMƒ“ƒOƒVƒXƒeƒ€‚ðÝ’è‚·‚é•K—v‚ª‚ ‚è‚Ü‚·B
- Hibernate‚Ícommons logging‚ðŽg‚¤‚½‚ßALog4j‚ÆJDK 1.4 logging‚Ì‘I‘ð‚ð‚·‚é•K—v‚ª‚ ‚è‚Ü‚¹‚ñB
- ‚Ù‚Æ‚ñ‚Ç‚ÌŠJ”ŽÒ‚ªD‚Þ‚Ì‚ÍLog4j‚Å‚·B
- HibernateƒfƒBƒXƒgƒŠƒrƒ…[ƒVƒ‡ƒ“i‚Ìetc/ ƒfƒBƒŒƒNƒgƒŠj‚©‚ç
- log4j.properties ‚ð‚ ‚È‚½‚Ì src ƒfƒBƒŒƒNƒgƒŠ“à‚Ì
- hibernate.cfg.xml ‚ׂ̗ɃRƒs[‚µ‚Ä‚‚¾‚³‚¢B
- Ý’è—á‚ðŒ©‚ÄAç’·‚Èo—Í‚ª‚悯‚ê‚ÎÝ’è‚ð•ÏX‚µ‚Ä‚‚¾‚³‚¢B
- ƒfƒtƒHƒ‹ƒg‚Å‚ÍHibernate‚̃Xƒ^[ƒgƒAƒbƒvƒƒbƒZ[ƒW‚¾‚¯‚ª•W€o—Í‚É•\Ž¦‚³‚ê‚Ü‚·B
+ ã“ã‚Œã¯å•é¡Œãªãå†ã‚³ãƒ³ãƒ‘イルã§ãã‚‹ã¯ãšã§ã™ã€‚
+ 最後ã«ãƒã‚®ãƒ³ã‚°ã‚·ã‚¹ãƒ†ãƒ ã‚’è¨å®šã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã™ã€‚
+ Hibernateã¯commons loggingを使ã†ãŸã‚ã€Log4jã¨JDK 1.4 loggingã®é¸æŠžã‚’ã™ã‚‹å¿…è¦ãŒã‚ã‚Šã¾ã›ã‚“。
+ ã»ã¨ã‚“ã©ã®é–‹ç™ºè€…ãŒå¥½ã‚€ã®ã¯Log4jã§ã™ã€‚
+ Hibernateディストリビューション(ã®etc/ ディレクトリ)ã‹ã‚‰
+ log4j.properties ã‚’ã‚ãªãŸã® src ディレクトリ内ã®
+ hibernate.cfg.xml ã®éš£ã«ã‚³ãƒ”ーã—ã¦ãã ã•ã„。
+ è¨å®šä¾‹ã‚’見ã¦ã€å†—é•·ãªå‡ºåŠ›ãŒã‚ˆã‘ã‚Œã°è¨å®šã‚’変更ã—ã¦ãã ã•ã„。
+ デフォルトã§ã¯Hibernateã®ã‚¹ã‚¿ãƒ¼ãƒˆã‚¢ãƒƒãƒ—メッセージã ã‘ãŒæ¨™æº–出力ã«è¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
- ƒ`ƒ…[ƒgƒŠƒAƒ‹‚̃Cƒ“ƒtƒ‰‚ÍŠ®‘S‚Å‚·B
- Hibernate‚ðŽg‚Á‚ÄŽÀÛ‚Ìì‹Æ‚ð‚·‚é€”õ‚ª®‚¢‚Ü‚µ‚½B
+ ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã®ã‚¤ãƒ³ãƒ•ãƒ©ã¯å®Œå…¨ã§ã™ã€‚
+ Hibernateを使ã£ã¦å®Ÿéš›ã®ä½œæ¥ã‚’ã™ã‚‹æº–å‚™ãŒæ•´ã„ã¾ã—ãŸã€‚
- ƒIƒuƒWƒFƒNƒg‚̃[ƒh‚ÆŠi”[
+ オブジェクトã®ãƒãƒ¼ãƒ‰ã¨æ ¼ç´
- ‚‚¢‚ɃIƒuƒWƒFƒNƒg‚̃[ƒh‚ÆŠi”[‚ÉHibernate‚ðŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- main() ƒƒ\ƒbƒh‚ðŽ‚ EventManager
- ƒNƒ‰ƒX‚ð‘‚«‚Ü‚·F
+ ã¤ã„ã«ã‚ªãƒ–ジェクトã®ãƒãƒ¼ãƒ‰ã¨æ ¼ç´ã«Hibernateを使ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ main() メソッドをæŒã¤ EventManager
+ クラスを書ãã¾ã™ï¼š
- V‚µ‚¢ Event ƒIƒuƒWƒFƒNƒg‚𶬂µA‚»‚ê‚ðHibernate‚É“n‚µ‚Ü‚·B
- ¡‚Å‚ÍHibernate‚ªSQL‚ðˆ—‚µAƒf[ƒ^ƒx[ƒX‚Å INSERT ‚ðŽÀs‚µ‚Ü‚·B
- ŽÀs‘O‚É Session ‚Æ Transaction
- ‚ðˆ—‚·‚éƒR[ƒh‚ðŠm”F‚µ‚Ä‚‚¾‚³‚¢B
+ æ–°ã—ã„ Event オブジェクトを生æˆã—ã€ãれをHibernateã«æ¸¡ã—ã¾ã™ã€‚
+ 今ã§ã¯HibernateãŒSQLを処ç†ã—ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã§ INSERT を実行ã—ã¾ã™ã€‚
+ 実行å‰ã« Session 㨠Transaction
+ を処ç†ã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’確èªã—ã¦ãã ã•ã„。
- Session ‚Í1‚‚Ìì‹Æ’PˆÊ(Unit of Work)‚Å‚·B
- “–•ª‚ÌŠÔA˜b‚ðŠÈ’P‚É‚·‚邽‚ß‚ÉA
- Session ‚Æ Transaction ‚̑Ήž‚ðˆê‘Έê‚Ɖ¼’肵‚Ü‚·B
- Žg—p‚µ‚Ä‚¢‚éƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“EƒVƒXƒeƒ€i‚±‚̃P[ƒX‚Å‚ÍJTA‚Æ‹¤‘¶‚Å‚«‚é’Pƒ‚ÈJDBCj‚©‚çƒR[ƒh‚ð•ÛŒì‚·‚邽‚ß‚ÉA
- Hibernate Session ã‚Å—˜—p‰Â”\‚È Transaction API‚ðŽg—p‚µ‚Ü‚·B
+ Session ã¯1ã¤ã®ä½œæ¥å˜ä½(Unit of Work)ã§ã™ã€‚
+ 当分ã®é–“ã€è©±ã‚’ç°¡å˜ã«ã™ã‚‹ãŸã‚ã«ã€
+ Session 㨠Transaction ã®å¯¾å¿œã‚’一対一ã¨ä»®å®šã—ã¾ã™ã€‚
+ 使用ã—ã¦ã„るトランザクション・システム(ã“ã®ã‚±ãƒ¼ã‚¹ã§ã¯JTAã¨å…±å˜ã§ãã‚‹å˜ç´”ãªJDBC)ã‹ã‚‰ã‚³ãƒ¼ãƒ‰ã‚’ä¿è·ã™ã‚‹ãŸã‚ã«ã€
+ Hibernate Session 上ã§åˆ©ç”¨å¯èƒ½ãª Transaction APIを使用ã—ã¾ã™ã€‚
- sessionFactory.getCurrentSession() ‚Í‚È‚É‚ð‚·‚é‚Ì‚Å‚µ‚傤‚©H
- ‚Ü‚¸A‚¢‚Á‚½‚ñ SessionFactory ‚ðŽæ“¾‚µ•ÛŽ‚·‚ê‚Î
- i HibernateUtil ‚Ì‚¨‚©‚°‚ÅŠÈ’P‚Å‚·jA‚±‚̃ƒ\ƒbƒh‚ð‰½“x‚Å‚àA
- ‚Ç‚±‚©‚ç‚Å‚àŒÄ‚Ño‚·‚±‚Æ‚ªo—ˆ‚Ü‚·B
- getCurrentSession() ƒƒ\ƒbƒh‚Íí‚ÉuŒ»Ý‚Ìvì‹Æ’PˆÊ(Unit of Work)‚ð•Ô‚µ‚Ü‚·B
- hibernate.cfg.xml ‚Ì‚±‚Ì‹@”\‚ÌÝ’è‚ÅA"thread"‚ðŽw’肵‚½‚±‚Æ‚ðŽv‚¢o‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚Ì‚½‚ߌ»Ý‚Ìì‹Æ’PˆÊ‚̃XƒR[ƒv‚ÍA‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ðŽÀs‚·‚錻݂ÌJavaƒXƒŒƒbƒh‚Å‚·B
- ‚µ‚©‚µ‚±‚ê‚Å‘S‚Ä‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- Session ‚Íʼn‚É•K—v‚Æ‚È‚Á‚½‚Æ‚«A‚‚܂èʼn‚É getCurrentSession() ‚ª
- ŒÄ‚΂ꂽ‚Æ‚«‚ÉŠJŽn‚µ‚Ü‚·B
- ‚»‚Ì‚Æ‚«Hibernate‚É‚æ‚茻݂̃XƒŒƒbƒh‚ÉŒ‹‚Ñ•t‚¯‚ç‚ê‚Ü‚·B
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªI—¹iƒRƒ~ƒbƒg‚à‚µ‚‚̓[ƒ‹ƒoƒbƒNj‚µ‚½‚Æ‚«A
- Hibernate‚àƒXƒŒƒbƒh‚©‚ç Session ‚ðØ‚è—£‚µAƒNƒ[ƒY‚µ‚Ü‚·B
- Ä‚Ñ getCurrentSession() ‚ðŒÄ‚Ô‚ÆA
- V‚µ‚¢ Session ‚ðŽæ“¾‚µ‚ÄV‚µ‚¢ì‹Æ’PˆÊ‚ðƒXƒ^[ƒg‚Å‚«‚Ü‚·B
- ‚±‚Ì thread-bound ƒvƒƒOƒ‰ƒ~ƒ“ƒOEƒ‚ƒfƒ‹‚ÍHibernate‚ð—˜—p‚·‚éã‚ÅÅ‚àl‹C‚ª‚ ‚è‚Ü‚·B
+ sessionFactory.getCurrentSession() ã¯ãªã«ã‚’ã™ã‚‹ã®ã§ã—ょã†ã‹ï¼Ÿ
+ ã¾ãšã€ã„ã£ãŸã‚“ SessionFactory ã‚’å–å¾—ã—ä¿æŒã™ã‚Œã°
+ ( HibernateUtil ã®ãŠã‹ã’ã§ç°¡å˜ã§ã™ï¼‰ã€ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã‚’何度ã§ã‚‚ã€
+ ã©ã“ã‹ã‚‰ã§ã‚‚呼ã³å‡ºã™ã“ã¨ãŒå‡ºæ¥ã¾ã™ã€‚
+ getCurrentSession() メソッドã¯å¸¸ã«ã€Œç¾åœ¨ã®ã€ä½œæ¥å˜ä½(Unit of Work)ã‚’è¿”ã—ã¾ã™ã€‚
+ hibernate.cfg.xml ã®ã“ã®æ©Ÿèƒ½ã®è¨å®šã§ã€"thread"を指定ã—ãŸã“ã¨ã‚’æ€ã„出ã—ã¦ãã ã•ã„。
+ ã“ã®ãŸã‚ç¾åœ¨ã®ä½œæ¥å˜ä½ã®ã‚¹ã‚³ãƒ¼ãƒ—ã¯ã€ã“ã®ã‚¢ãƒ—リケーションを実行ã™ã‚‹ç¾åœ¨ã®Javaスレッドã§ã™ã€‚
+ ã—ã‹ã—ã“ã‚Œã§å…¨ã¦ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ Session ã¯æœ€åˆã«å¿…è¦ã¨ãªã£ãŸã¨ãã€ã¤ã¾ã‚Šæœ€åˆã« getCurrentSession() ãŒ
+ 呼ã°ã‚ŒãŸã¨ãã«é–‹å§‹ã—ã¾ã™ã€‚
+ ãã®ã¨ãHibernateã«ã‚ˆã‚Šç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã«çµã³ä»˜ã‘られã¾ã™ã€‚
+ トランザクションãŒçµ‚了(コミットもã—ãã¯ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ï¼‰ã—ãŸã¨ãã€
+ Hibernateもスレッドã‹ã‚‰ Session を切り離ã—ã€ã‚¯ãƒãƒ¼ã‚ºã—ã¾ã™ã€‚
+ å†ã³ getCurrentSession() を呼ã¶ã¨ã€
+ æ–°ã—ã„ Session ã‚’å–å¾—ã—ã¦æ–°ã—ã„作æ¥å˜ä½ã‚’スタートã§ãã¾ã™ã€‚
+ ã“ã® thread-bound プãƒã‚°ãƒ©ãƒŸãƒ³ã‚°ãƒ»ãƒ¢ãƒ‡ãƒ«ã¯Hibernateを利用ã™ã‚‹ä¸Šã§æœ€ã‚‚人気ãŒã‚ã‚Šã¾ã™ã€‚
- ƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̈µ‚¢‚Æ‹«ŠE‚ÌÚ‚µ‚¢î•ñ‚ɂ‚¢‚Ä‚ÍA
- ‚ðŒ©‚Ä‚‚¾‚³‚¢B
- ‚±‚Ì—á‚ł̓Gƒ‰[ˆ—‚âƒ[ƒ‹ƒoƒbƒN‚àŠ„ˆ¤‚µ‚Ü‚·B
+ トランザクションã®æ‰±ã„ã¨å¢ƒç•Œã®è©³ã—ã„æƒ…å ±ã«ã¤ã„ã¦ã¯ã€
+ を見ã¦ãã ã•ã„。
+ ã“ã®ä¾‹ã§ã¯ã‚¨ãƒ©ãƒ¼å‡¦ç†ã‚„ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã‚‚割愛ã—ã¾ã™ã€‚
- ‚±‚Ìʼn‚̃‹[ƒ`ƒ“‚ðŽÀs‚·‚é‚É‚ÍAAnt‚̃rƒ‹ƒhƒtƒ@ƒCƒ‹‚ɌĂÑo‚µ‰Â”\‚ȃ^[ƒQƒbƒg‚ð
- ’ljÁ‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñF
+ ã“ã®æœ€åˆã®ãƒ«ãƒ¼ãƒãƒ³ã‚’実行ã™ã‚‹ã«ã¯ã€Antã®ãƒ“ルドファイルã«å‘¼ã³å‡ºã—å¯èƒ½ãªã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’
+ è¿½åŠ ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“:
@@ -719,29 +721,29 @@ public class EventManager {
]]>
- action ˆø”‚Ì’l‚ÍAƒ^[ƒQƒbƒg‚ðŒÄ‚Ô‚Æ‚«‚ɃRƒ}ƒ“ƒhƒ‰ƒCƒ“‚Åݒ肵‚Ü‚·F
+ action 引数ã®å€¤ã¯ã€ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã‚’呼ã¶ã¨ãã«ã‚³ãƒžãƒ³ãƒ‰ãƒ©ã‚¤ãƒ³ã§è¨å®šã—ã¾ã™ï¼š
- ant run -Daction=store]]>
+ ant run -Daction=store]]>
- ƒRƒ“ƒpƒCƒ‹‚·‚é‚ÆAHibernate‚ªƒXƒ^[ƒg‚µA‚ ‚È‚½‚ÌÝ’è‚É‚æ‚è‚Ü‚·‚ªA
- ‘½‚‚̃ƒOo—Í‚ª‚ ‚é‚Í‚¸‚Å‚·B
- ‚»‚ÌÅŒã‚ɂ͈ȉº‚Ìs‚ª‚ ‚é‚Å‚µ‚傤F
+ コンパイルã™ã‚‹ã¨ã€HibernateãŒã‚¹ã‚¿ãƒ¼ãƒˆã—ã€ã‚ãªãŸã®è¨å®šã«ã‚ˆã‚Šã¾ã™ãŒã€
+ 多ãã®ãƒã‚°å‡ºåŠ›ãŒã‚ã‚‹ã¯ãšã§ã™ã€‚
+ ãã®æœ€å¾Œã«ã¯ä»¥ä¸‹ã®è¡ŒãŒã‚ã‚‹ã§ã—ょã†ï¼š
- ‚±‚ê‚ÍHibernate‚ªŽÀs‚·‚é INSERT ‚ÅA
- ƒNƒGƒXƒ`ƒ‡ƒ“ƒ}[ƒN‚ÍJDBCƒoƒCƒ“ƒhƒpƒ‰ƒ[ƒ^‚ð•\‚µ‚Ä‚¢‚Ü‚·B
- ˆø”‚Æ‚µ‚ăoƒCƒ“ƒh‚³‚ê‚é’l‚ðŒ©‚é‚½‚ßA‚ ‚é‚¢‚̓ƒO‚Ìç’·«‚ðŒ¸‚ç‚·‚½‚ß‚É‚ÍA
- log4j.properties ‚ðƒ`ƒFƒbƒN‚µ‚Ä‚‚¾‚³‚¢B
+ ã“ã‚Œã¯HibernateãŒå®Ÿè¡Œã™ã‚‹ INSERT ã§ã€
+ クエスãƒãƒ§ãƒ³ãƒžãƒ¼ã‚¯ã¯JDBCãƒã‚¤ãƒ³ãƒ‰ãƒ‘ラメータを表ã—ã¦ã„ã¾ã™ã€‚
+ 引数ã¨ã—ã¦ãƒã‚¤ãƒ³ãƒ‰ã•ã‚Œã‚‹å€¤ã‚’見るãŸã‚ã€ã‚ã‚‹ã„ã¯ãƒã‚°ã®å†—長性を減らã™ãŸã‚ã«ã¯ã€
+ log4j.properties ã‚’ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。
- ‚»‚ê‚Å‚Í“¯‚¶‚悤‚ÉŠi”[‚³‚ꂽƒCƒxƒ“ƒg‚̈ꗗ‚ðŒ©‚æ‚¤‚ÆŽv‚¢‚Ü‚·B
- ‚»‚Ì‚½‚߃ƒCƒ“ƒƒ\ƒbƒh‚ɃIƒvƒVƒ‡ƒ“‚ð’ljÁ‚µ‚Ü‚·F
+ ãã‚Œã§ã¯åŒã˜ã‚ˆã†ã«æ ¼ç´ã•ã‚ŒãŸã‚¤ãƒ™ãƒ³ãƒˆã®ä¸€è¦§ã‚’見よã†ã¨æ€ã„ã¾ã™ã€‚
+ ãã®ãŸã‚メインメソッドã«ã‚ªãƒ—ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ ã—ã¾ã™ï¼š
- V‚µ‚¢ listEvents()ƒƒ\ƒbƒh ‚à’ljÁ‚µ‚Ü‚·B
+ æ–°ã—ã„ listEvents()メソッド ã‚‚è¿½åŠ ã—ã¾ã™ã€‚
- ‚±‚±‚Å‚·‚邱‚Æ‚ÍAƒf[ƒ^ƒx[ƒX‚©‚瑶݂·‚é‚·‚×‚Ä‚Ì Event
- ƒIƒuƒWƒFƒNƒg‚ðƒ[ƒh‚·‚éHQL (Hibernate Query Language) ƒNƒGƒŠ‚ðŽg‚¤‚±‚Æ‚Å‚·B
- Hibernate‚Í“KØ‚ÈSQL‚𶬂µA‚»‚ê‚ðƒf[ƒ^ƒx[ƒX‚É‘—‚èA
- ‚»‚̃f[ƒ^‚ðŽg‚Á‚Ä Event ƒIƒuƒWƒFƒNƒg‚𶬂µ‚Ü‚·B
- “–‘RHQL‚Å‚³‚ç‚É•¡ŽG‚ȃNƒGƒŠ‚ð쬂ł«‚Ü‚·B
+ ã“ã“ã§ã™ã‚‹ã“ã¨ã¯ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‹ã‚‰å˜åœ¨ã™ã‚‹ã™ã¹ã¦ã® Event
+ オブジェクトをãƒãƒ¼ãƒ‰ã™ã‚‹HQL (Hibernate Query Language) クエリを使ã†ã“ã¨ã§ã™ã€‚
+ Hibernateã¯é©åˆ‡ãªSQLを生æˆã—ã€ãれをデータベースã«é€ã‚Šã€
+ ãã®ãƒ‡ãƒ¼ã‚¿ã‚’使ã£ã¦ Event オブジェクトを生æˆã—ã¾ã™ã€‚
+ 当然HQLã§ã•ã‚‰ã«è¤‡é›‘ãªã‚¯ã‚¨ãƒªã‚’作æˆã§ãã¾ã™ã€‚
- ˆÈ‰º‚̃Xƒeƒbƒv‚ÅA‚·‚ׂĂ̎Às‚ƃeƒXƒg‚ðs‚¢‚Ü‚·B
+ 以下ã®ã‚¹ãƒ†ãƒƒãƒ—ã§ã€ã™ã¹ã¦ã®å®Ÿè¡Œã¨ãƒ†ã‚¹ãƒˆã‚’è¡Œã„ã¾ã™ã€‚
- hbm2ddl‚ð’Ê‚·‘O‚Ƀf[ƒ^ƒx[ƒX‚̃f[ƒ^‚ð쬂µAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚𶬂·‚邽‚ß‚ÉA
- ant run -Daction=store ‚ðŽÀs‚µ‚Ä‚‚¾‚³‚¢B
+ hbm2ddlを通ã™å‰ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã®ãƒ‡ãƒ¼ã‚¿ã‚’作æˆã—ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマを生æˆã™ã‚‹ãŸã‚ã«ã€
+ ant run -Daction=store を実行ã—ã¦ãã ã•ã„。
- ¡‚Í hibernate.cfg.xml ƒtƒ@ƒCƒ‹‚̃vƒƒpƒeƒB‚ðƒRƒƒ“ƒgƒAƒEƒg‚µ‚Ähbm2ddl‚𖳌ø‚É‚µ‚Ä‚‚¾‚³‚¢B
- ’Êí‚ÍŒp‘±“I‚É’P‘̃eƒXƒg‚ð‚µ‚Ä‚¢‚éŠÔ‚Íhbm2ddl‚ð—LŒø‚É‚µ‚Ä‚¨‚‚Ì‚Å‚·‚ªA
- ‚»‚êˆÈŠO‚ÌꇂÉhbm2ddl‚ð‹N“®‚·‚é‚ÆŠi”[‚µ‚Ä‚¨‚¢‚½‘S‚Ẵf[ƒ^‚ð ƒhƒƒbƒv ‚·‚é‚Å‚µ‚傤B
- Ý’è‚ð create ‚É‚·‚é‚ÆAŒ‹‰Ê‚Æ‚µ‚Ä
- uSessionFactory¶¬‚ÌÛAƒXƒL[ƒ}‚©‚ç‘S‚Ẵe[ƒuƒ‹‚ðƒhƒƒbƒv‚µ‚ÄÄ쬂·‚év‚Æ‚¢‚¤Ý’è‚É‚È‚è‚Ü‚·B
+ 今㯠hibernate.cfg.xml ファイルã®ãƒ—ãƒãƒ‘ティをコメントアウトã—ã¦hbm2ddlを無効ã«ã—ã¦ãã ã•ã„。
+ 通常ã¯ç¶™ç¶šçš„ã«å˜ä½“テストをã—ã¦ã„ã‚‹é–“ã¯hbm2ddlを有効ã«ã—ã¦ãŠãã®ã§ã™ãŒã€
+ ãれ以外ã®å ´åˆã«hbm2ddlã‚’èµ·å‹•ã™ã‚‹ã¨æ ¼ç´ã—ã¦ãŠã„ãŸå…¨ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚’ ドãƒãƒƒãƒ— ã™ã‚‹ã§ã—ょã†ã€‚
+ è¨å®šã‚’ create ã«ã™ã‚‹ã¨ã€çµæžœã¨ã—ã¦
+ 「SessionFactory生æˆã®éš›ã€ã‚¹ã‚ーマã‹ã‚‰å…¨ã¦ã®ãƒ†ãƒ¼ãƒ–ルをドãƒãƒƒãƒ—ã—ã¦å†ä½œæˆã™ã‚‹ã€ã¨ã„ã†è¨å®šã«ãªã‚Šã¾ã™ã€‚
- ¡ -Daction=list ‚ÆŽw’肵‚ÄAnt‚ðŒÄ‚Ô‚ÆA
- ‚±‚ê‚Ü‚ÅŠi”[‚µ‚½ƒCƒxƒ“ƒg‚ªŒ©‚¦‚é‚Í‚¸‚Å‚·B
- store ƒAƒNƒVƒ‡ƒ“‚ð”‰ñˆÈãŒÄ‚Ô‚±‚Æ‚à‰Â”\‚Å‚·B
+ 今 -Daction=list ã¨æŒ‡å®šã—ã¦Antを呼ã¶ã¨ã€
+ ã“ã‚Œã¾ã§æ ¼ç´ã—ãŸã‚¤ãƒ™ãƒ³ãƒˆãŒè¦‹ãˆã‚‹ã¯ãšã§ã™ã€‚
+ store アクションを数回以上呼ã¶ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
- ’ˆÓF‰‚ß‚ÄHibernate‚ÉG‚ê‚élX‚Ì‘½‚‚ª‚±‚±‚ÅŽ¸”s‚·‚邽‚ßATable not found ƒGƒ‰[ƒƒbƒZ[ƒW‚É
- ŠÖ‚·‚鎿–â‚ð’èŠú“I‚ÉŒ©‚©‚¯‚Ü‚·B
- ‚µ‚©‚µã‹L‚̃Xƒeƒbƒv‚É]‚¦‚ÎAhbm2ddl‚ªÅ‰‚ÉŽÀs‚³‚ꂽ‚Æ‚«‚Ƀf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ð쬂µA
- ‚»‚ÌŒã‚ÌŽÀs‚É‚¨‚¢‚Ä‚à‚±‚̃XƒL[ƒ}‚ðŽg—p‚·‚é‚Ì‚ÅA–â‘è‚Í‹N‚±‚ç‚È‚¢‚Å‚µ‚傤B
- ƒ}ƒbƒsƒ“ƒO‚âƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚ð•ÏX‚µ‚½‚Æ‚«‚ÍA‚à‚¤ˆê“xhbm2ddl‚ð—LŒø‚É‚µ‚Ä‚‚¾‚³‚¢B
+ 注æ„:åˆã‚ã¦Hibernateã«è§¦ã‚Œã‚‹äººã€…ã®å¤šããŒã“ã“ã§å¤±æ•—ã™ã‚‹ãŸã‚ã€Table not found エラーメッセージã«
+ é–¢ã™ã‚‹è³ªå•ã‚’定期的ã«è¦‹ã‹ã‘ã¾ã™ã€‚
+ ã—ã‹ã—上記ã®ã‚¹ãƒ†ãƒƒãƒ—ã«å¾“ãˆã°ã€hbm2ddlãŒæœ€åˆã«å®Ÿè¡Œã•ã‚ŒãŸã¨ãã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマを作æˆã—ã€
+ ãã®å¾Œã®å®Ÿè¡Œã«ãŠã„ã¦ã‚‚ã“ã®ã‚¹ã‚ーマを使用ã™ã‚‹ã®ã§ã€å•é¡Œã¯èµ·ã“らãªã„ã§ã—ょã†ã€‚
+ マッピングやデータベーススã‚ーマを変更ã—ãŸã¨ãã¯ã€ã‚‚ã†ä¸€åº¦hbm2ddlを有効ã«ã—ã¦ãã ã•ã„。
@@ -822,19 +824,19 @@ else if (args[0].equals("list")) {
- ƒp[ƒg2 - ŠÖ˜A‚̃}ƒbƒsƒ“ƒO
+ パート2 - 関連ã®ãƒžãƒƒãƒ”ング
- ‰i‘±ƒGƒ“ƒeƒBƒeƒBƒNƒ‰ƒX‚ðƒe[ƒuƒ‹‚Ƀ}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚½B
- ‚³‚ç‚É‚±‚Ìã‚É‚¢‚‚‚©‚̃Nƒ‰ƒX‚ÌŠÖ˜A‚ð’ljÁ‚µ‚Ü‚µ‚傤B
- ‚Ü‚¸‰‚߂ɃAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÉlX‚ð’ljÁ‚µA”ނ炪ŽQ‰Á‚·‚éƒCƒxƒ“ƒg‚̃ŠƒXƒg‚ðŠi”[‚µ‚Ü‚·B
+ 永続エンティティクラスをテーブルã«ãƒžãƒƒãƒ”ングã—ã¾ã—ãŸã€‚
+ ã•ã‚‰ã«ã“ã®ä¸Šã«ã„ãã¤ã‹ã®ã‚¯ãƒ©ã‚¹ã®é–¢é€£ã‚’è¿½åŠ ã—ã¾ã—ょã†ã€‚
+ ã¾ãšåˆã‚ã«ã‚¢ãƒ—リケーションã«äººã€…ã‚’è¿½åŠ ã—ã€å½¼ã‚‰ãŒå‚åŠ ã™ã‚‹ã‚¤ãƒ™ãƒ³ãƒˆã®ãƒªã‚¹ãƒˆã‚’æ ¼ç´ã—ã¾ã™ã€‚
- PersonƒNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO
+ Personクラスã®ãƒžãƒƒãƒ”ング
- ʼn‚Ì Person ƒNƒ‰ƒX‚Í’Pƒ‚Å‚·F
+ 最åˆã® Person クラスã¯å˜ç´”ã§ã™ï¼š
- Person.hbm.xml ‚Æ‚¢‚¤V‚µ‚¢ƒ}ƒbƒsƒ“ƒOƒtƒ@ƒCƒ‹‚ð쬂µ‚Ä‚‚¾‚³‚¢
- iƒtƒ@ƒCƒ‹‚Ìʼn‚ÉDTD‚Ö‚ÌŽQÆ‚ð–Y‚ꂸ‚É“ü‚ê‚Ä‚‚¾‚³‚¢jF
+ Person.hbm.xml ã¨ã„ã†æ–°ã—ã„マッピングファイルを作æˆã—ã¦ãã ã•ã„
+ (ファイルã®æœ€åˆã«DTDã¸ã®å‚照を忘れãšã«å…¥ã‚Œã¦ãã ã•ã„):
@@ -871,33 +873,33 @@ public class Person {
]]>
- ÅŒã‚ÉHibernate‚ÌÝ’è‚ÉV‚µ‚¢ƒ}ƒbƒsƒ“ƒO‚ð’ljÁ‚µ‚Ä‚‚¾‚³‚¢F
+ 最後ã«Hibernateã®è¨å®šã«æ–°ã—ã„ãƒžãƒƒãƒ”ãƒ³ã‚°ã‚’è¿½åŠ ã—ã¦ãã ã•ã„:
]]>
- ‚»‚ê‚Å‚Í‚±‚ê‚ç2‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚ÌŠÖ˜A‚ð쬂µ‚Ü‚·B
- lX‚ªƒCƒxƒ“ƒg‚ÉŽQ‰Á‚Å‚«AƒCƒxƒ“ƒg‚ªŽQ‰ÁŽÒ‚ðŽ‚‚͖̂¾‚ç‚©‚Å‚·B
- ˆµ‚í‚È‚¯‚ê‚΂Ȃç‚È‚¢ÝŒv‚Ì–â‘è‚ÍA•ûŒüA‘½d“xAƒRƒŒƒNƒVƒ‡ƒ“‚ÌU‚é•‘‚¢‚Å‚·B
+ ãã‚Œã§ã¯ã“れら2ã¤ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£é–“ã®é–¢é€£ã‚’作æˆã—ã¾ã™ã€‚
+ 人々ãŒã‚¤ãƒ™ãƒ³ãƒˆã«å‚åŠ ã§ãã€ã‚¤ãƒ™ãƒ³ãƒˆãŒå‚åŠ è€…ã‚’æŒã¤ã®ã¯æ˜Žã‚‰ã‹ã§ã™ã€‚
+ 扱ã‚ãªã‘ã‚Œã°ãªã‚‰ãªã„è¨è¨ˆã®å•é¡Œã¯ã€æ–¹å‘ã€å¤šé‡åº¦ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®æŒ¯ã‚‹èˆžã„ã§ã™ã€‚
- ’P•ûŒüSetƒx[ƒXŠÖ˜A
+ å˜æ–¹å‘Setベース関連
- ƒCƒxƒ“ƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚ð Person ƒNƒ‰ƒX‚ɒljÁ‚µ‚Ü‚·B
- ‚±‚¤‚µ‚Ä‚¨‚‚ÆA–¾Ž¦“I‚ȃNƒGƒŠA‚‚܂è‚í‚´‚í‚´aPerson.getEvents()‚ðŒÄ‚Ño‚³‚¸‚ÉA
- “Á’è‚Ìl‚É•R•t‚ƒCƒxƒ“ƒg‚ðŠÈ’P‚ɃiƒrƒQ[ƒg‚·‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- Ž„‚½‚¿‚ÍJava‚̃RƒŒƒNƒVƒ‡ƒ“ASet ‚ðŽg‚¢‚Ü‚·B
- ƒRƒŒƒNƒVƒ‡ƒ“‚Íd•¡—v‘f‚ðŽ‚½‚È‚¢‚µA‡”Ô‚ÍŽ„‚½‚¿‚ɂ͈Ӗ¡‚ª‚È‚¢‚©‚ç‚Å‚·B
+ イベントã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’ Person クラスã«è¿½åŠ ã—ã¾ã™ã€‚
+ ã“ã†ã—ã¦ãŠãã¨ã€æ˜Žç¤ºçš„ãªã‚¯ã‚¨ãƒªã€ã¤ã¾ã‚Šã‚ã–ã‚ã–aPerson.getEvents()を呼ã³å‡ºã•ãšã«ã€
+ 特定ã®äººã«ç´ä»˜ãイベントを簡å˜ã«ãƒŠãƒ“ゲートã™ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ç§ãŸã¡ã¯Javaã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã€Set を使ã„ã¾ã™ã€‚
+ コレクションã¯é‡è¤‡è¦ç´ ã‚’æŒãŸãªã„ã—ã€é †ç•ªã¯ç§ãŸã¡ã«ã¯æ„味ãŒãªã„ã‹ã‚‰ã§ã™ã€‚
- Set ‚ÅŽÀ‘•‚³‚ê‚é’P•ûŒüA‘½’lŠÖ˜A‚ª•K—v‚Å‚·B
- JavaƒNƒ‰ƒX“à‚ɑΉž‚·‚éƒR[ƒh‚ð‘‚¢‚ă}ƒbƒsƒ“ƒO‚µ‚Ü‚µ‚傤F
+ Set ã§å®Ÿè£…ã•ã‚Œã‚‹å˜æ–¹å‘ã€å¤šå€¤é–¢é€£ãŒå¿…è¦ã§ã™ã€‚
+ Javaクラス内ã«å¯¾å¿œã™ã‚‹ã‚³ãƒ¼ãƒ‰ã‚’書ã„ã¦ãƒžãƒƒãƒ”ングã—ã¾ã—ょã†ï¼š
- ‚±‚ÌŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚·‚é‘O‚ÉA”½‘Α¤‚ɂ‚¢‚Äl‚¦‚Ä‚‚¾‚³‚¢B
- –¾‚ç‚©‚È‚±‚Æ‚Å‚·‚ªA¡‚Í‚±‚ê‚ð’P•ûŒü‚É‚µ‚½‚¾‚¯‚Å‚·B
- ‹t‚ÉA Event ‘¤‚É‚à•Ê‚̃RƒŒƒNƒVƒ‡ƒ“‚ðì‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- —Ⴆ‚Î anEvent.getParticipants() ‚̂悤‚ÉA
- ‘o•ûŒü‚ɃiƒrƒQ[ƒg‚µ‚½‚¯‚ê‚ÎA‚»‚¤‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- ‚±‚ê‚Í‹@”\“I‚É‚Ý‚Ä•K—v‚Å‚Í‚ ‚è‚Ü‚¹‚ñB
- “Á’è‚̃Cƒxƒ“ƒg‚ÉŠÖŒW‚·‚éƒf[ƒ^‚ðŽæ“¾‚·‚é–¾Šm‚ȃNƒGƒŠ‚ðA‚¢‚‚łàŽÀs‚·‚邱‚Æ‚ªo—ˆ‚Ü‚µ‚½B
- ‚±‚ÌÝŒv‚Ì‘I‘ð‚ÍŠJ”ŽÒ‚É”C‚³‚ê‚Ä‚¢‚ÄA‚±‚Ì‹c˜_‚É‚æ‚è–¾‚ç‚©‚È‚Ì‚ÍŠÖ˜A‚Ì‘½d“x‚Å‚·B
- ‚‚܂藼‘¤‚ðu‘½v’l‚É‚·‚éA ‘½‘Α½ ‚ƌĂ΂ê‚éŠÖ˜A‚Å‚·B
- ‚»‚Ì‚½‚ßHibernate‚Ìmany-to-manyƒ}ƒbƒsƒ“ƒO‚ðŽg‚¢‚Ü‚·F
+ ã“ã®é–¢é€£ã‚’マッピングã™ã‚‹å‰ã«ã€å対å´ã«ã¤ã„ã¦è€ƒãˆã¦ãã ã•ã„。
+ 明らã‹ãªã“ã¨ã§ã™ãŒã€ä»Šã¯ã“れをå˜æ–¹å‘ã«ã—ãŸã ã‘ã§ã™ã€‚
+ 逆ã«ã€ Event å´ã«ã‚‚別ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’作るã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ 例ãˆã° anEvent.getParticipants() ã®ã‚ˆã†ã«ã€
+ åŒæ–¹å‘ã«ãƒŠãƒ“ゲートã—ãŸã‘ã‚Œã°ã€ãã†ã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ ã“ã‚Œã¯æ©Ÿèƒ½çš„ã«ã¿ã¦å¿…è¦ã§ã¯ã‚ã‚Šã¾ã›ã‚“。
+ 特定ã®ã‚¤ãƒ™ãƒ³ãƒˆã«é–¢ä¿‚ã™ã‚‹ãƒ‡ãƒ¼ã‚¿ã‚’å–å¾—ã™ã‚‹æ˜Žç¢ºãªã‚¯ã‚¨ãƒªã‚’ã€ã„ã¤ã§ã‚‚実行ã™ã‚‹ã“ã¨ãŒå‡ºæ¥ã¾ã—ãŸã€‚
+ ã“ã®è¨è¨ˆã®é¸æŠžã¯é–‹ç™ºè€…ã«ä»»ã•ã‚Œã¦ã„ã¦ã€ã“ã®è°è«–ã«ã‚ˆã‚Šæ˜Žã‚‰ã‹ãªã®ã¯é–¢é€£ã®å¤šé‡åº¦ã§ã™ã€‚
+ ã¤ã¾ã‚Šä¸¡å´ã‚’「多ã€å€¤ã«ã™ã‚‹ã€ 多対多 ã¨å‘¼ã°ã‚Œã‚‹é–¢é€£ã§ã™ã€‚
+ ãã®ãŸã‚Hibernateã®many-to-manyマッピングを使ã„ã¾ã™ï¼š
@@ -942,21 +944,21 @@ public class Person {
]]>
- Hibernate‚Í‚ ‚è‚Æ‚ ‚ç‚ä‚éŽí—ނ̃RƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·‚ªA
- Å‚àˆê”Ê“I‚È‚à‚Ì‚ª <set> ‚Å‚·B
- ‘½‘Α½ŠÖ˜Ai‚Ü‚½‚Í n:m ƒGƒ“ƒeƒBƒeƒBƒŠƒŒ[ƒVƒ‡ƒ“ƒVƒbƒvj‚É‚ÍA
- ŠÖ˜Aƒe[ƒuƒ‹‚ª•K—v‚Å‚·B
- ‚±‚̃e[ƒuƒ‹‚Ì‚»‚ꂼ‚ê‚Ìs‚ÍAl‚ƃCƒxƒ“ƒgŠÔ‚̃Šƒ“ƒN‚ð•\Œ»‚µ‚Ü‚·B
- ƒe[ƒuƒ‹–¼‚Í set —v‘f‚Ì table ‘®«‚Åݒ肵‚Ü‚·B
- l‘¤‚ÌŠÖ˜A‚ÌŽ¯•ÊŽqƒJƒ‰ƒ€–¼‚Í <key> —v‘f‚ÅA
- ƒCƒxƒ“ƒg‘¤‚̃Jƒ‰ƒ€–¼‚Í <many-to-many> ‚Ì column
- ‘®«‚Å’è‹`‚µ‚Ü‚·B
- Hibernate‚ɃRƒŒƒNƒVƒ‡ƒ“‚̃IƒuƒWƒFƒNƒg‚̃Nƒ‰ƒX
- i³Šm‚É‚ÍAŽQƂ̃RƒŒƒNƒVƒ‡ƒ“‚Ì”½‘Α¤‚̃Nƒ‰ƒXj‚ð‹³‚¦‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
+ Hibernateã¯ã‚ã‚Šã¨ã‚らゆる種類ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒžãƒƒãƒ”ングをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ãŒã€
+ 最も一般的ãªã‚‚ã®ãŒ <set> ã§ã™ã€‚
+ 多対多関連(ã¾ãŸã¯ n:m エンティティリレーションシップ)ã«ã¯ã€
+ 関連テーブルãŒå¿…è¦ã§ã™ã€‚
+ ã“ã®ãƒ†ãƒ¼ãƒ–ルã®ãã‚Œãžã‚Œã®è¡Œã¯ã€äººã¨ã‚¤ãƒ™ãƒ³ãƒˆé–“ã®ãƒªãƒ³ã‚¯ã‚’表ç¾ã—ã¾ã™ã€‚
+ テーブルå㯠set è¦ç´ ã® table 属性ã§è¨å®šã—ã¾ã™ã€‚
+ 人å´ã®é–¢é€£ã®è˜åˆ¥åカラムå㯠<key> è¦ç´ ã§ã€
+ イベントå´ã®ã‚«ãƒ©ãƒ å㯠<many-to-many> ã® column
+ 属性ã§å®šç¾©ã—ã¾ã™ã€‚
+ Hibernateã«ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚ªãƒ–ジェクトã®ã‚¯ãƒ©ã‚¹
+ (æ£ç¢ºã«ã¯ã€å‚ç…§ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®å対å´ã®ã‚¯ãƒ©ã‚¹ï¼‰ã‚’æ•™ãˆãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
- ‚»‚Ì‚½‚ß‚±‚̃}ƒbƒsƒ“ƒO‚̃f[ƒ^ƒx[ƒXƒXƒL[ƒ}‚͈ȉº‚̂悤‚É‚È‚è‚Ü‚·BF
+ ãã®ãŸã‚ã“ã®ãƒžãƒƒãƒ”ングã®ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚:
- ŠÖ˜A‚ð“‚©‚¹‚é
+ 関連をåƒã‹ã›ã‚‹
- EventManager ‚ÌV‚µ‚¢ƒƒ\ƒbƒh‚ÅlX‚ƃCƒxƒ“ƒg‚ðˆê‚É‚µ‚Ü‚µ‚傤F
+ EventManager ã®æ–°ã—ã„メソッドã§äººã€…ã¨ã‚¤ãƒ™ãƒ³ãƒˆã‚’一緒ã«ã—ã¾ã—ょã†ï¼š
- Person ‚Æ Event ‚ðƒ[ƒh‚µ‚½ŒãA
- •’ʂ̃RƒŒƒNƒVƒ‡ƒ“ƒƒ\ƒbƒh‚ðŽg‚Á‚Ä’Pƒ‚É‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ðC³‚µ‚Ä‚‚¾‚³‚¢B
- ‚²——‚Ì‚Æ‚¨‚è update() ‚â save()
- ‚Ì–¾Ž¦“I‚ȌĂÑo‚µ‚Í‚ ‚è‚Ü‚¹‚ñB
- Hibernate‚ÍAC³‚³‚ꂽ‚±‚Æ‚É‚æ‚èXV‚·‚é•K—v‚Ì‚ ‚éƒRƒŒƒNƒVƒ‡ƒ“‚ðŽ©“®“I‚ÉŒŸ’m‚µ‚Ü‚·B
- ‚±‚ê‚Í Ž©“®ƒ_[ƒeƒBƒ`ƒFƒbƒN ‚ƌĂ΂êA
- ƒIƒuƒWƒFƒNƒg‚Ì–¼‘O‚âdateƒvƒƒpƒeƒB‚ðC³‚·‚邱‚Æ‚ÅŽŽ‚·‚±‚Æ‚à‰Â”\‚Å‚·B
- ‚»‚ê‚炪 ‰i‘± ó‘Ô‚É‚ ‚éŒÀ‚èA
- ‚‚܂è“Á’è‚ÌHibernate Session ‚ɃoƒCƒ“ƒh‚³‚ê‚Ä‚¢‚éŒÀ‚è
- i—Ⴆ‚Îì‹Æ’PˆÊ(Unit of Work)‚Ì’†‚Å’P‚Ƀ[ƒh‚Ü‚½‚̓Z[ƒu‚³‚ꂽjA
- Hibernate‚Í‚Ç‚ñ‚È•ÏX‚àƒ‚ƒjƒ^[‚µA’x‰„‘‚«ž‚Ý(write-behind)‚ÅSQL‚ðŽÀs‚µ‚Ü‚·B
- ’ÊíAì‹Æ’PˆÊ(Unit of Work)‚ÌÅŒã‚É‚¾‚¯s‚í‚ê‚éƒf[ƒ^ƒx[ƒX‚ƃƒ‚ƒŠ‚Ìó‘Ԃ𓯊ú‚³‚¹‚鈗‚ÍA
- ƒtƒ‰ƒbƒVƒ… ‚ƌĂ΂ê‚Ü‚·B
- ‚±‚̃R[ƒh‚Å‚ÍAì‹Æ’PˆÊ(Unit of Work)‚̓f[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚̃Rƒ~ƒbƒgi‚à‚µ‚‚̓[ƒ‹ƒoƒbƒNj‚ÅI—¹‚µ‚Ü‚·B
- ‚±‚ê‚ÍA CurrentSessionContext ƒNƒ‰ƒX‚ɑ΂µ‚Ä thread ‚ðݒ肵‚½‚½‚ß‚Å‚·B
+ Person 㨠Event ã‚’ãƒãƒ¼ãƒ‰ã—ãŸå¾Œã€
+ 普通ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒ¡ã‚½ãƒƒãƒ‰ã‚’使ã£ã¦å˜ç´”ã«ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’ä¿®æ£ã—ã¦ãã ã•ã„。
+ ã”覧ã®ã¨ãŠã‚Š update() ã‚„ save()
+ ã®æ˜Žç¤ºçš„ãªå‘¼ã³å‡ºã—ã¯ã‚ã‚Šã¾ã›ã‚“。
+ Hibernateã¯ã€ä¿®æ£ã•ã‚ŒãŸã“ã¨ã«ã‚ˆã‚Šæ›´æ–°ã™ã‚‹å¿…è¦ã®ã‚るコレクションを自動的ã«æ¤œçŸ¥ã—ã¾ã™ã€‚
+ ã“れ㯠自動ダーティãƒã‚§ãƒƒã‚¯ ã¨å‘¼ã°ã‚Œã€
+ オブジェクトã®åå‰ã‚„dateプãƒãƒ‘ティを修æ£ã™ã‚‹ã“ã¨ã§è©¦ã™ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
+ ãれら㌠永続 状態ã«ã‚ã‚‹é™ã‚Šã€
+ ã¤ã¾ã‚Šç‰¹å®šã®Hibernate Session ã«ãƒã‚¤ãƒ³ãƒ‰ã•ã‚Œã¦ã„ã‚‹é™ã‚Š
+ (例ãˆã°ä½œæ¥å˜ä½(Unit of Work)ã®ä¸ã§å˜ã«ãƒãƒ¼ãƒ‰ã¾ãŸã¯ã‚»ãƒ¼ãƒ–ã•ã‚ŒãŸï¼‰ã€
+ Hibernateã¯ã©ã‚“ãªå¤‰æ›´ã‚‚モニターã—ã€é…延書ãè¾¼ã¿(write-behind)ã§SQLを実行ã—ã¾ã™ã€‚
+ 通常ã€ä½œæ¥å˜ä½(Unit of Work)ã®æœ€å¾Œã«ã ã‘è¡Œã‚れるデータベースã¨ãƒ¡ãƒ¢ãƒªã®çŠ¶æ…‹ã‚’åŒæœŸã•ã›ã‚‹å‡¦ç†ã¯ã€
+ フラッシュ ã¨å‘¼ã°ã‚Œã¾ã™ã€‚
+ ã“ã®ã‚³ãƒ¼ãƒ‰ã§ã¯ã€ä½œæ¥å˜ä½(Unit of Work)ã¯ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã®ã‚³ãƒŸãƒƒãƒˆï¼ˆã‚‚ã—ãã¯ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ï¼‰ã§çµ‚了ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ã€ CurrentSessionContext クラスã«å¯¾ã—㦠thread ã‚’è¨å®šã—ãŸãŸã‚ã§ã™ã€‚
- ˆÙ‚È‚éì‹Æ’PˆÊ(Unit of Work)‚ÅlX‚ƃCƒxƒ“ƒg‚ðƒ[ƒh‚·‚邱‚Æ‚à“–‘R‚Å‚«‚Ü‚·B
- ‚»‚¤‚Å‚È‚¯‚ê‚ÎA‰i‘±ó‘Ô‚É‚È‚¢‚Æ‚«iˆÈ‘O‚ɉi‘±‚Å‚ ‚Á‚½‚È‚çA‚±‚Ìó‘Ԃ𠕪—£idetachedj
- ‚ƌĂт܂·jA Session ‚ÌŠO•”‚ŃIƒuƒWƒFƒNƒg‚ðC³‚µ‚Ü‚·B
- •ª—£‚³‚ê‚é‚Æ‚«‚ɂ̓RƒŒƒNƒVƒ‡ƒ“‚ð•ÏX‚·‚邱‚Æ‚à‰Â”\‚Å‚·F
+ ç•°ãªã‚‹ä½œæ¥å˜ä½(Unit of Work)ã§äººã€…ã¨ã‚¤ãƒ™ãƒ³ãƒˆã‚’ãƒãƒ¼ãƒ‰ã™ã‚‹ã“ã¨ã‚‚当然ã§ãã¾ã™ã€‚
+ ãã†ã§ãªã‘ã‚Œã°ã€æ°¸ç¶šçŠ¶æ…‹ã«ãªã„ã¨ã(以å‰ã«æ°¸ç¶šã§ã‚ã£ãŸãªã‚‰ã€ã“ã®çŠ¶æ…‹ã‚’ 分離(detached)
+ ã¨å‘¼ã³ã¾ã™ï¼‰ã€ Session ã®å¤–部ã§ã‚ªãƒ–ジェクトを修æ£ã—ã¾ã™ã€‚
+ 分離ã•ã‚Œã‚‹ã¨ãã«ã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’変更ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ï¼š
- update ‚̌ĂÑo‚µ‚Í•ª—£ƒIƒuƒWƒFƒNƒg‚ðĂщi‘±‰»‚µ‚Ü‚·B
- ‚±‚ê‚ÍAV‚µ‚¢ì‹Æ’PˆÊ(Unit of Work)‚ɃoƒCƒ“ƒh‚·‚é‚ÆŒ¾‚¦‚é‚Å‚µ‚傤B
- ‚»‚Ì‚½‚ß•ª—£‚̊ԂɉÁ‚¦‚ç‚ꂽ‚ǂ̂悤‚ÈC³‚àƒf[ƒ^ƒx[ƒX‚ɃZ[ƒu‚Å‚«‚Ü‚·B
- ƒGƒ“ƒeƒBƒeƒBƒIƒuƒWƒFƒNƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚Ö‚ÌC³i’ljÁ¥íœj‚à“¯—l‚ɃZ[ƒu‚Å‚«‚Ü‚·B
+ update ã®å‘¼ã³å‡ºã—ã¯åˆ†é›¢ã‚ªãƒ–ジェクトをå†ã³æ°¸ç¶šåŒ–ã—ã¾ã™ã€‚
+ ã“ã‚Œã¯ã€æ–°ã—ã„作æ¥å˜ä½(Unit of Work)ã«ãƒã‚¤ãƒ³ãƒ‰ã™ã‚‹ã¨è¨€ãˆã‚‹ã§ã—ょã†ã€‚
+ ãã®ãŸã‚分離ã®é–“ã«åŠ ãˆã‚‰ã‚ŒãŸã©ã®ã‚ˆã†ãªä¿®æ£ã‚‚データベースã«ã‚»ãƒ¼ãƒ–ã§ãã¾ã™ã€‚
+ エンティティオブジェクトã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¸ã®ä¿®æ£ï¼ˆè¿½åŠ ・削除)もåŒæ§˜ã«ã‚»ãƒ¼ãƒ–ã§ãã¾ã™ã€‚
- ‚±‚ê‚Í¡‚Í‚ ‚Ü‚èŽg‚¢‚Ý‚¿‚ª‚ ‚è‚Ü‚¹‚ñ‚ªA
- Ž©•ª‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚ÌÝŒv‚É‘g‚Ýž‚Þ‚±‚Æ‚ª‚Å‚«‚éd—v‚ȃRƒ“ƒZƒvƒg‚Å‚·B
- ‚»‚ê‚Å‚Í‚±‚̃GƒNƒTƒTƒCƒY‚ÌÅŒã‚ÉA
- EventManager ‚̃ƒCƒ“ƒƒ\ƒbƒh‚ÉV‚µ‚¢ƒAƒNƒVƒ‡ƒ“‚ð’ljÁ‚µ‚Ä
- ƒRƒ}ƒ“ƒhƒ‰ƒCƒ“‚©‚çŒÄ‚Ño‚µ‚Ä‚Ý‚Ü‚µ‚傤B
- l‚âƒCƒxƒ“ƒg‚ÌŽ¯•ÊŽq‚ª•K—v‚È‚çA save() ƒƒ\ƒbƒh‚ª•Ô‚µ‚Ä‚‚ê‚Ü‚·
- iꇂɂæ‚Á‚Ä‚ÍŽ¯•ÊŽq‚ð•Ô‚·‚½‚߂Ƀƒ\ƒbƒh‚ðC³‚·‚é•K—v‚ª‚ ‚é‚©‚à‚µ‚ê‚Ü‚¹‚ñjB
+ ã“ã‚Œã¯ä»Šã¯ã‚ã¾ã‚Šä½¿ã„ã¿ã¡ãŒã‚ã‚Šã¾ã›ã‚“ãŒã€
+ 自分ã®ã‚¢ãƒ—リケーションã®è¨è¨ˆã«çµ„ã¿è¾¼ã‚€ã“ã¨ãŒã§ãã‚‹é‡è¦ãªã‚³ãƒ³ã‚»ãƒ—トã§ã™ã€‚
+ ãã‚Œã§ã¯ã“ã®ã‚¨ã‚¯ã‚µã‚µã‚¤ã‚ºã®æœ€å¾Œã«ã€
+ EventManager ã®ãƒ¡ã‚¤ãƒ³ãƒ¡ã‚½ãƒƒãƒ‰ã«æ–°ã—ã„ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ ã—ã¦
+ コマンドラインã‹ã‚‰å‘¼ã³å‡ºã—ã¦ã¿ã¾ã—ょã†ã€‚
+ 人やイベントã®è˜åˆ¥åãŒå¿…è¦ãªã‚‰ã€ save() メソッドãŒè¿”ã—ã¦ãã‚Œã¾ã™
+ ï¼ˆå ´åˆã«ã‚ˆã£ã¦ã¯è˜åˆ¥åã‚’è¿”ã™ãŸã‚ã«ãƒ¡ã‚½ãƒƒãƒ‰ã‚’ä¿®æ£ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã‹ã‚‚ã—ã‚Œã¾ã›ã‚“)。
- ‚±‚ê‚Í“¯‚¶‚悤‚Éd—v‚È2‚‚̃Nƒ‰ƒXA‚‚܂è2‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚ÌŠÖ˜A‚Ì—á‚Å‚µ‚½B
- ‘O‚Éq‚ׂ½‚悤‚ÉA“TŒ^“I‚ȃ‚ƒfƒ‹‚É‚ÍA•’Êu”äŠr“Id—v‚Å‚Í‚È‚¢v‘¼‚̃Nƒ‰ƒX‚ÆŒ^‚ª‚ ‚è‚Ü‚·B
- ‚±‚ê‚Ü‚Å‚ÉŒ©‚½‚悤‚È int ‚â String ‚̂悤‚È‚à‚Ì‚Å‚·B
- ‚±‚̂悤‚ȃNƒ‰ƒX‚ð ’lŒ^ ‚ÆŒ¾‚¢‚Ü‚·B
- ‚±‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Í“Á’è‚̃Gƒ“ƒeƒBƒeƒB‚É ˆË‘¶ ‚µ‚Ü‚·B
- ‚±‚ÌŒ^‚̃Cƒ“ƒXƒ^ƒ“ƒX‚Í“ÆŽ©‚ÌID‚ðŽ‚¿‚Ü‚¹‚ñ‚µA
- ƒGƒ“ƒeƒBƒeƒBŠÔ‚Å‹¤—L‚³‚ê‚邱‚Æ‚à‚ ‚è‚Ü‚¹‚ñ
- iƒtƒ@[ƒXƒgƒl[ƒ€‚ª“¯‚¶‚¾‚Á‚½‚Æ‚µ‚Ä‚àA2l‚Ìl‚Í“¯‚¶ firstname
- ƒIƒuƒWƒFƒNƒg‚ðŽQÆ‚µ‚Ü‚¹‚ñjB
- ’lŒ^‚Í‚à‚¿‚ë‚ñJDK“à‚ÉŒ©‚‚©‚è‚Ü‚·‚ªA‚»‚ꂾ‚¯‚Å‚Í‚È‚
- iŽÀÛAHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚¨‚¢‚Ä‚·‚ׂĂÌJDKƒNƒ‰ƒX‚Í’lŒ^‚ÆŒ©‚È‚¹‚Ü‚·jA
- —Ⴆ‚Î Address ‚â MonetaryAmount
- ‚̂悤‚È“ÆŽ©‚̈ˑ¶ƒNƒ‰ƒX‚ð‘‚‚±‚Æ‚à‚Å‚«‚Ü‚·B
+ ã“ã‚Œã¯åŒã˜ã‚ˆã†ã«é‡è¦ãª2ã¤ã®ã‚¯ãƒ©ã‚¹ã€ã¤ã¾ã‚Š2ã¤ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£é–“ã®é–¢é€£ã®ä¾‹ã§ã—ãŸã€‚
+ å‰ã«è¿°ã¹ãŸã‚ˆã†ã«ã€å…¸åž‹çš„ãªãƒ¢ãƒ‡ãƒ«ã«ã¯ã€æ™®é€šã€Œæ¯”較的é‡è¦ã§ã¯ãªã„ã€ä»–ã®ã‚¯ãƒ©ã‚¹ã¨åž‹ãŒã‚ã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¾ã§ã«è¦‹ãŸã‚ˆã†ãª int ã‚„ String ã®ã‚ˆã†ãªã‚‚ã®ã§ã™ã€‚
+ ã“ã®ã‚ˆã†ãªã‚¯ãƒ©ã‚¹ã‚’ 値型 ã¨è¨€ã„ã¾ã™ã€‚
+ ã“ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ç‰¹å®šã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã« ä¾å˜ ã—ã¾ã™ã€‚
+ ã“ã®åž‹ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã¯ç‹¬è‡ªã®IDã‚’æŒã¡ã¾ã›ã‚“ã—ã€
+ エンティティ間ã§å…±æœ‰ã•ã‚Œã‚‹ã“ã¨ã‚‚ã‚ã‚Šã¾ã›ã‚“
+ (ファーストãƒãƒ¼ãƒ ãŒåŒã˜ã ã£ãŸã¨ã—ã¦ã‚‚ã€2人ã®äººã¯åŒã˜ firstname
+ オブジェクトをå‚ç…§ã—ã¾ã›ã‚“)。
+ 値型ã¯ã‚‚ã¡ã‚ã‚“JDK内ã«è¦‹ã¤ã‹ã‚Šã¾ã™ãŒã€ãã‚Œã ã‘ã§ã¯ãªã
+ (実際ã€Hibernateアプリケーションã«ãŠã„ã¦ã™ã¹ã¦ã®JDKクラスã¯å€¤åž‹ã¨è¦‹ãªã›ã¾ã™ï¼‰ã€
+ 例ãˆã° Address ã‚„ MonetaryAmount
+ ã®ã‚ˆã†ãªç‹¬è‡ªã®ä¾å˜ã‚¯ãƒ©ã‚¹ã‚’書ãã“ã¨ã‚‚ã§ãã¾ã™ã€‚
- ’lŒ^‚̃RƒŒƒNƒVƒ‡ƒ“‚ðÝŒv‚·‚邱‚Æ‚à‚Å‚«‚Ü‚·B
- ‚±‚ê‚Í‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQƂ̃RƒŒƒNƒVƒ‡ƒ“‚Æ‚ÍŠT”O“I‚É”ñí‚ɈقȂè‚Ü‚·‚ªA
- Java‚Å‚Í‚Ù‚Æ‚ñ‚Ç“¯‚¶‚悤‚ÉŒ©‚¦‚Ü‚·B
+ 値型ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¨è¨ˆã™ã‚‹ã“ã¨ã‚‚ã§ãã¾ã™ã€‚
+ ã“ã‚Œã¯ä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®å‚ç…§ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¨ã¯æ¦‚念的ã«éžå¸¸ã«ç•°ãªã‚Šã¾ã™ãŒã€
+ Javaã§ã¯ã»ã¨ã‚“ã©åŒã˜ã‚ˆã†ã«è¦‹ãˆã¾ã™ã€‚
- ’l‚̃RƒŒƒNƒVƒ‡ƒ“
+ 値ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³
- ’lŒ^ƒIƒuƒWƒFƒNƒg‚̃RƒŒƒNƒVƒ‡ƒ“‚ð Person ƒGƒ“ƒeƒBƒeƒB‚֒ljÁ‚µ‚Ü‚·B
- Eƒ[ƒ‹ƒAƒhƒŒƒX‚ðŠi”[‚µ‚½‚¢‚Ì‚Å‚·‚ªAString Œ^‚ðŽg‚Á‚Ä‚¢‚é‚Ì‚ÅA
- ƒRƒŒƒNƒVƒ‡ƒ“‚ÍÄ‚Ñ Set ‚Å‚·F
+ 値型オブジェクトã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’ Person エンティティã¸è¿½åŠ ã—ã¾ã™ã€‚
+ Eãƒ¡ãƒ¼ãƒ«ã‚¢ãƒ‰ãƒ¬ã‚¹ã‚’æ ¼ç´ã—ãŸã„ã®ã§ã™ãŒã€String 型を使ã£ã¦ã„ã‚‹ã®ã§ã€
+ コレクションã¯å†ã³ Set ã§ã™ï¼š
- ‚±‚Ì Set ‚̃}ƒbƒsƒ“ƒO‚Å‚·F
+ ã“ã® Set ã®ãƒžãƒƒãƒ”ングã§ã™ï¼š
@@ -1124,19 +1126,19 @@ public void setEmailAddresses(Set emailAddresses) {
]]>
- ‘O‚̃}ƒbƒsƒ“ƒO‚Æ”ä‚ׂĈႤ‚Ì‚Í element ‚Ì•”•ª‚Å‚·‚ªA
- Hibernate‚É‚±‚̃RƒŒƒNƒVƒ‡ƒ“‚ª‘¼‚̃Gƒ“ƒeƒBƒeƒB‚Ö‚ÌŽQÆ‚ðŠÜ‚Ü‚¸A
- String Œ^‚Ì—v‘f‚̃RƒŒƒNƒVƒ‡ƒ“‚ðŠÜ‚Þ‚±‚Æ‚ð‹³‚¦‚Ü‚·B
- i¬•¶Žš‚Ì–¼‘O(string)‚ÍHibernate‚̃}ƒbƒsƒ“ƒOŒ^‚Ü‚½‚̓Rƒ“ƒo[ƒ^‚Å‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·jB
- ŒJ‚è•Ô‚µ‚Ü‚·‚ªAset —v‘f‚Ì table ‘®«‚ÍA
- ƒRƒŒƒNƒVƒ‡ƒ“‚Ì‚½‚߂̃e[ƒuƒ‹–¼‚ðŽw’肵‚Ü‚·B
- key —v‘f‚̓RƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚ÌŠO•”ƒL[ƒJƒ‰ƒ€–¼‚ð’è‹`‚µ‚Ü‚·B
- element —v‘f‚Ì column ‘®«‚Í String
- ‚Ì’l‚ªŽÀÛ‚ÉŠi”[‚³‚ê‚éƒJƒ‰ƒ€‚Ì–¼‘O‚ð’è‹`‚µ‚Ü‚·B
+ å‰ã®ãƒžãƒƒãƒ”ングã¨æ¯”ã¹ã¦é•ã†ã®ã¯ element ã®éƒ¨åˆ†ã§ã™ãŒã€
+ Hibernateã«ã“ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãŒä»–ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã¸ã®å‚照をå«ã¾ãšã€
+ String åž‹ã®è¦ç´ ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’å«ã‚€ã“ã¨ã‚’æ•™ãˆã¾ã™ã€‚
+ (å°æ–‡å—ã®åå‰(string)ã¯Hibernateã®ãƒžãƒƒãƒ”ング型ã¾ãŸã¯ã‚³ãƒ³ãƒãƒ¼ã‚¿ã§ã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ï¼‰ã€‚
+ ç¹°ã‚Šè¿”ã—ã¾ã™ãŒã€set è¦ç´ ã® table 属性ã¯ã€
+ コレクションã®ãŸã‚ã®ãƒ†ãƒ¼ãƒ–ルåを指定ã—ã¾ã™ã€‚
+ key è¦ç´ ã¯ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒ†ãƒ¼ãƒ–ルã®å¤–部ã‚ーカラムåを定義ã—ã¾ã™ã€‚
+ element è¦ç´ ã® column 属性㯠String
+ ã®å€¤ãŒå®Ÿéš›ã«æ ¼ç´ã•ã‚Œã‚‹ã‚«ãƒ©ãƒ ã®åå‰ã‚’定義ã—ã¾ã™ã€‚
- XV‚µ‚½ƒXƒL[ƒ}‚ðŒ©‚Ä‚‚¾‚³‚¢F
+ æ›´æ–°ã—ãŸã‚¹ã‚ーマを見ã¦ãã ã•ã„:
- ƒRƒŒƒNƒVƒ‡ƒ“ƒe[ƒuƒ‹‚ÌŽåƒL[‚ÍAŽÀÛ‚Í—¼•û‚̃Jƒ‰ƒ€‚ðŽg‚Á‚½•¡‡ƒL[‚Å‚ ‚邱‚Æ‚ª‚í‚©‚è‚Ü‚·B
- ‚±‚ê‚Íl‚²‚Æ‚ÉEƒ[ƒ‹ƒAƒhƒŒƒX‚ªd•¡‚Å‚«‚È‚¢‚Æ‚¢‚¤‚±‚Æ‚ÅA
- Java‚Ìset‚É—v‹‚³‚ê‚éƒZƒ}ƒ“ƒeƒBƒNƒX‚»‚Ì‚à‚Ì‚Å‚·B
+ コレクションテーブルã®ä¸»ã‚ーã¯ã€å®Ÿéš›ã¯ä¸¡æ–¹ã®ã‚«ãƒ©ãƒ を使ã£ãŸè¤‡åˆã‚ーã§ã‚ã‚‹ã“ã¨ãŒã‚ã‹ã‚Šã¾ã™ã€‚
+ ã“ã‚Œã¯äººã”ã¨ã«EメールアドレスãŒé‡è¤‡ã§ããªã„ã¨ã„ã†ã“ã¨ã§ã€
+ Javaã®setã«è¦æ±‚ã•ã‚Œã‚‹ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ãã®ã‚‚ã®ã§ã™ã€‚
- ˆÈ‘Ol‚ƃCƒxƒ“ƒg‚ðŠÖ˜A‚¯‚½‚Æ‚«‚Æ‘S‚“¯‚¶‚悤‚ÉA
- ¡‚⎎‚µ‚ɃRƒŒƒNƒVƒ‡ƒ“‚É—v‘f‚ð’ljÁ‚·‚邱‚Æ‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚µ‚½B
- —¼•û‚Æ‚àJava‚Å‚Í“¯‚¶ƒR[ƒh‚Å‚·B
+ 以å‰äººã¨ã‚¤ãƒ™ãƒ³ãƒˆã‚’関連ã¥ã‘ãŸã¨ãã¨å…¨ãåŒã˜ã‚ˆã†ã«ã€
+ 今や試ã—ã«ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«è¦ç´ ã‚’è¿½åŠ ã™ã‚‹ã“ã¨ãŒã§ãるよã†ã«ãªã‚Šã¾ã—ãŸã€‚
+ 両方ã¨ã‚‚Javaã§ã¯åŒã˜ã‚³ãƒ¼ãƒ‰ã§ã™ã€‚
- ¡‰ñAƒRƒŒƒNƒVƒ‡ƒ“‚̉Šú‰»‚É fetch ƒNƒGƒŠ‚ðŽg—p‚µ‚Ü‚¹‚ñ‚Å‚µ‚½B
- ‚»‚Ì‚½‚ßAgetterƒƒ\ƒbƒh‚̌ĂÑo‚µ‚É‚æ‚Á‚ăRƒŒƒNƒVƒ‡ƒ“‚ð‰Šú‰»‚·‚邽‚ß‚ÌSELECT‚ª
- ŽÀs‚³‚ê‚é‚Ì‚ÅAƒRƒŒƒNƒVƒ‡ƒ“‚É—v‘f‚ð’ljÁ‚Å‚«‚Ü‚·B
- SQL‚̃ƒO‚ðŠÄŽ‹‚µ‚ÄA‘¦ŽžƒtƒFƒbƒ`‚ðŽg‚Á‚ÄÅ“K‰»‚µ‚Ä‚‚¾‚³‚¢B
+ 今回ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã®åˆæœŸåŒ–ã« fetch クエリを使用ã—ã¾ã›ã‚“ã§ã—ãŸã€‚
+ ãã®ãŸã‚ã€getterメソッドã®å‘¼ã³å‡ºã—ã«ã‚ˆã£ã¦ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’åˆæœŸåŒ–ã™ã‚‹ãŸã‚ã®SELECTãŒ
+ 実行ã•ã‚Œã‚‹ã®ã§ã€ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«è¦ç´ ã‚’è¿½åŠ ã§ãã¾ã™ã€‚
+ SQLã®ãƒã‚°ã‚’監視ã—ã¦ã€å³æ™‚フェッãƒã‚’使ã£ã¦æœ€é©åŒ–ã—ã¦ãã ã•ã„。
- ‘o•ûŒüŠÖ˜A
+ åŒæ–¹å‘関連
- ŽŸ‚É‘o•ûŒüŠÖ˜A‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·B
- Java‚Å—¼‘¤‚©‚çl‚ƃCƒxƒ“ƒg‚ÌŠÖ˜A‚ð“®ì‚³‚¹‚Ü‚·B
- ‚à‚¿‚ë‚ñAƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Í•Ï‚í‚è‚Ü‚¹‚ñ‚ªA‘½d“x‚Í‘½‘Α½‚Ì‚Ü‚Ü‚Å‚·B
- ƒŠƒŒ[ƒVƒ‡ƒiƒ‹ƒf[ƒ^ƒx[ƒX‚̓lƒbƒgƒ[ƒNƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚æ‚è‚à_“î‚È‚Ì‚ÅA
- ƒiƒrƒQ[ƒVƒ‡ƒ“‚Ì•ûŒü‚̂悤‚È‚à‚Ì‚ð•K—v‚Æ‚µ‚Ü‚¹‚ñB
- ƒf[ƒ^‚Í‚ ‚ç‚ä‚é‚Ì•û–@‚ÅŒ©‚½‚è•œŒ³‚Å‚«‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
+ 次ã«åŒæ–¹å‘関連をマッピングã—ã¾ã™ã€‚
+ Javaã§ä¸¡å´ã‹ã‚‰äººã¨ã‚¤ãƒ™ãƒ³ãƒˆã®é–¢é€£ã‚’動作ã•ã›ã¾ã™ã€‚
+ ã‚‚ã¡ã‚ã‚“ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã‚¹ã‚ーマã¯å¤‰ã‚ã‚Šã¾ã›ã‚“ãŒã€å¤šé‡åº¦ã¯å¤šå¯¾å¤šã®ã¾ã¾ã§ã™ã€‚
+ リレーショナルデータベースã¯ãƒãƒƒãƒˆãƒ¯ãƒ¼ã‚¯ãƒ—ãƒã‚°ãƒ©ãƒŸãƒ³ã‚°è¨€èªžã‚ˆã‚Šã‚‚柔軟ãªã®ã§ã€
+ ナビゲーションã®æ–¹å‘ã®ã‚ˆã†ãªã‚‚ã®ã‚’å¿…è¦ã¨ã—ã¾ã›ã‚“。
+ データã¯ã‚らゆるã®æ–¹æ³•ã§è¦‹ãŸã‚Šå¾©å…ƒã§ãã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
- ‚Ü‚¸ Event ƒCƒxƒ“ƒgƒNƒ‰ƒX‚ÉŽQ‰ÁŽÒ‚̃RƒŒƒNƒVƒ‡ƒ“‚ð’ljÁ‚µ‚Ü‚·F
+ ã¾ãš Event イベントクラスã«å‚åŠ è€…ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’è¿½åŠ ã—ã¾ã™ï¼š
- ‚»‚ê‚Å‚Í Event.hbm.xml ‚ÅŠÖ˜A‚Ì‚±‚¿‚瑤‚ðƒ}ƒbƒsƒ“ƒO‚µ‚Ä‚‚¾‚³‚¢B
+ ãã‚Œã§ã¯ Event.hbm.xml ã§é–¢é€£ã®ã“ã¡ã‚‰å´ã‚’マッピングã—ã¦ãã ã•ã„。
@@ -1223,43 +1225,43 @@ public void setParticipants(Set participants) {
]]>
- ‚²——‚Ì‚Æ‚¨‚èA‚¢‚¸‚ê‚̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg(XMLƒtƒ@ƒCƒ‹)‚Å‚àA•’Ê‚Ì set
- ƒ}ƒbƒsƒ“ƒO‚ðŽg‚Á‚Ä‚¢‚Ü‚·B
- key ‚Æ many-to-many ‚̃Jƒ‰ƒ€–¼‚ªA
- —¼•û‚̃}ƒbƒsƒ“ƒOƒhƒLƒ…ƒƒ“ƒg‚Å“ü‚ê‘Ö‚¦‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚É’–Ú‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚±‚ÅÅ‚àd—v‚ȒljÁ€–Ú‚ÍA Event ‚̃RƒŒƒNƒVƒ‡ƒ“ƒ}ƒbƒsƒ“ƒO‚Ì set
- —v‘f‚É‚ ‚é inverse="true" ‘®«‚Å‚·B
+ ã”覧ã®ã¨ãŠã‚Šã€ã„ãšã‚Œã®ãƒžãƒƒãƒ”ングドã‚ュメント(XMLファイル)ã§ã‚‚ã€æ™®é€šã® set
+ マッピングを使ã£ã¦ã„ã¾ã™ã€‚
+ key 㨠many-to-many ã®ã‚«ãƒ©ãƒ åãŒã€
+ 両方ã®ãƒžãƒƒãƒ”ングドã‚ュメントã§å…¥ã‚Œæ›¿ãˆã«ãªã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨ç›®ã—ã¦ãã ã•ã„。
+ ã“ã“ã§æœ€ã‚‚é‡è¦ãªè¿½åŠ é …ç›®ã¯ã€ Event ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ãƒžãƒƒãƒ”ング㮠set
+ è¦ç´ ã«ã‚ã‚‹ inverse="true" 属性ã§ã™ã€‚
- ‚±‚ÌŽw’è‚̈Ӗ¡‚ÍA2‚‚̊Ԃ̃Gƒ“ƒeƒBƒeƒBŠÔ‚̃Šƒ“ƒN‚ɂ‚¢‚Ä‚Ìî•ñ‚ð’T‚·•K—v‚ª‚ ‚é‚Æ‚«A
- Hibernate‚Í”½‘Α¤‚̃Gƒ“ƒeƒBƒeƒBA‚‚܂è Person ƒNƒ‰ƒX‚©‚ç’T‚·‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ˆê“x2‚‚̃Gƒ“ƒeƒBƒeƒBŠÔ‚Ì‘o•ûŒüƒŠƒ“ƒN‚ª‚ǂ̂悤‚É쬂³‚ê‚é‚©‚ª‚í‚©‚ê‚ÎA
- ‚±‚ê‚ð—‰ð‚·‚邱‚Æ‚Í‚Æ‚Ä‚àŠÈ’P‚Å‚·B
+ ã“ã®æŒ‡å®šã®æ„味ã¯ã€2ã¤ã®é–“ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£é–“ã®ãƒªãƒ³ã‚¯ã«ã¤ã„ã¦ã®æƒ…å ±ã‚’æŽ¢ã™å¿…è¦ãŒã‚ã‚‹ã¨ãã€
+ Hibernateã¯å対å´ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã€ã¤ã¾ã‚Š Person クラスã‹ã‚‰æŽ¢ã™ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ 一度2ã¤ã®ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£é–“ã®åŒæ–¹å‘リンクãŒã©ã®ã‚ˆã†ã«ä½œæˆã•ã‚Œã‚‹ã‹ãŒã‚ã‹ã‚Œã°ã€
+ ã“れをç†è§£ã™ã‚‹ã“ã¨ã¯ã¨ã¦ã‚‚ç°¡å˜ã§ã™ã€‚
- ‘o•ûŒüƒŠƒ“ƒN‚Ì“®ì
+ åŒæ–¹å‘リンクã®å‹•ä½œ
- ‚Ü‚¸AHibernate‚ª’Êí‚ÌJava‚̃Zƒ}ƒ“ƒeƒBƒNƒX‚ɉe‹¿‚ð‹y‚Ú‚³‚È‚¢‚±‚Æ‚ðS‚É—¯‚ß‚Ä‚¨‚¢‚Ä‚‚¾‚³‚¢B
- Ž„‚½‚¿‚ÍA’P•ûŒü‚Ì—á‚Æ‚µ‚Ăǂ̂悤‚É Person ‚Æ Event
- ‚̊Ԃ̃Šƒ“ƒN‚ð쬂µ‚½‚Å‚µ‚傤‚©H
- Person ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚̃Cƒxƒ“ƒg‚Ö‚ÌŽQƂ̃RƒŒƒNƒVƒ‡ƒ“‚É
- Event ‚̃Cƒ“ƒXƒ^ƒ“ƒX‚ð’ljÁ‚µ‚Ü‚µ‚½B
- ‚»‚Ì‚½‚ß‚±‚̃Šƒ“ƒN‚ð‘o•ûŒü‚É‚µ‚½‚¯‚ê‚ÎA
- “–‚½‚è‘O‚Å‚·‚ª”½‘Α¤‚É‚à“¯‚¶‚±‚Æ‚ð‚µ‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- Event ‚̃RƒŒƒNƒVƒ‡ƒ“‚É Person ‚Ö‚Ì
- ŽQÆ‚ð’ljÁ‚·‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ‚±‚Ìu—¼‘¤‚ŃŠƒ“ƒN‚ðÝ’è‚·‚邱‚Æv‚Íâ‘΂ɕK—v‚È‚Ì‚ÅAŒˆ‚µ‚Ä–Y‚ê‚È‚¢‚Å‚‚¾‚³‚¢B
+ ã¾ãšã€HibernateãŒé€šå¸¸ã®Javaã®ã‚»ãƒžãƒ³ãƒ†ã‚£ã‚¯ã‚¹ã«å½±éŸ¿ã‚’åŠã¼ã•ãªã„ã“ã¨ã‚’心ã«ç•™ã‚ã¦ãŠã„ã¦ãã ã•ã„。
+ ç§ãŸã¡ã¯ã€å˜æ–¹å‘ã®ä¾‹ã¨ã—ã¦ã©ã®ã‚ˆã†ã« Person 㨠Event
+ ã®é–“ã®ãƒªãƒ³ã‚¯ã‚’作æˆã—ãŸã§ã—ょã†ã‹ï¼Ÿ
+ Person ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã®ã‚¤ãƒ™ãƒ³ãƒˆã¸ã®å‚ç…§ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«
+ Event ã®ã‚¤ãƒ³ã‚¹ã‚¿ãƒ³ã‚¹ã‚’è¿½åŠ ã—ã¾ã—ãŸã€‚
+ ãã®ãŸã‚ã“ã®ãƒªãƒ³ã‚¯ã‚’åŒæ–¹å‘ã«ã—ãŸã‘ã‚Œã°ã€
+ 当ãŸã‚Šå‰ã§ã™ãŒå対å´ã«ã‚‚åŒã˜ã“ã¨ã‚’ã—ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ Event ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã« Person ã¸ã®
+ å‚ç…§ã‚’è¿½åŠ ã™ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ ã“ã®ã€Œä¸¡å´ã§ãƒªãƒ³ã‚¯ã‚’è¨å®šã™ã‚‹ã“ã¨ã€ã¯çµ¶å¯¾ã«å¿…è¦ãªã®ã§ã€æ±ºã—ã¦å¿˜ã‚Œãªã„ã§ãã ã•ã„。
- ‘½‚‚ÌŠJ”ŽÒ‚ÍTd‚ɃvƒƒOƒ‰ƒ€‚·‚é‚Ì‚ÅA
- ƒGƒ“ƒeƒBƒeƒB‚Ì—¼‘¤‚ɳ‚µ‚ŠÖ˜A‚ðÝ’è‚·‚郊ƒ“ƒNŠÇ—ƒƒ\ƒbƒh‚ð쬂µ‚Ü‚·B
- —Ⴆ‚Î Person ‚ł͈ȉº‚̂悤‚É‚È‚è‚Ü‚·BF
+ 多ãã®é–‹ç™ºè€…ã¯æ…Žé‡ã«ãƒ—ãƒã‚°ãƒ©ãƒ ã™ã‚‹ã®ã§ã€
+ エンティティã®ä¸¡å´ã«æ£ã—ã関連をè¨å®šã™ã‚‹ãƒªãƒ³ã‚¯ç®¡ç†ãƒ¡ã‚½ãƒƒãƒ‰ã‚’作æˆã—ã¾ã™ã€‚
+ 例ãˆã° Person ã§ã¯ä»¥ä¸‹ã®ã‚ˆã†ã«ãªã‚Šã¾ã™ã€‚:
- ƒRƒŒƒNƒVƒ‡ƒ“‚̃Qƒbƒg‚ƃZƒbƒgƒƒ\ƒbƒh‚ªŒ»Ýprotected‚É‚È‚Á‚Ä‚¢‚邱‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ê‚Í“¯‚¶ƒpƒbƒP[ƒW‚̃Nƒ‰ƒX‚âƒTƒuƒNƒ‰ƒX‚̃ƒ\ƒbƒh‚͈ˑRƒAƒNƒZƒX‚ª‰Â”\‚Å‚·‚ªA
- i‚Ù‚Æ‚ñ‚Çj‚»‚̃pƒbƒP[ƒWŠO‚̂ǂ̃Nƒ‰ƒX‚Å‚à’¼Ú‚»‚̃RƒŒƒNƒVƒ‡ƒ“‚ð‘ä–³‚µ‚É‚·‚邱‚Æ‚ð–h‚¬‚Ü‚·B
- ‚¨‚»‚ç‚”½‘Α¤‚̃RƒŒƒNƒVƒ‡ƒ“‚É‚à“¯‚¶‚±‚Æ‚ð‚µ‚½•û‚ª‚¢‚¢‚Å‚µ‚傤B
+ コレクションã®ã‚²ãƒƒãƒˆã¨ã‚»ãƒƒãƒˆãƒ¡ã‚½ãƒƒãƒ‰ãŒç¾åœ¨protectedã«ãªã£ã¦ã„ã‚‹ã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“ã‚Œã¯åŒã˜ãƒ‘ッケージã®ã‚¯ãƒ©ã‚¹ã‚„サブクラスã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ä¾ç„¶ã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã§ã™ãŒã€
+ (ã»ã¨ã‚“ã©ï¼‰ãã®ãƒ‘ッケージ外ã®ã©ã®ã‚¯ãƒ©ã‚¹ã§ã‚‚直接ãã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’å°ç„¡ã—ã«ã™ã‚‹ã“ã¨ã‚’防ãŽã¾ã™ã€‚
+ ãŠãらãå対å´ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã«ã‚‚åŒã˜ã“ã¨ã‚’ã—ãŸæ–¹ãŒã„ã„ã§ã—ょã†ã€‚
- inverse ƒ}ƒbƒsƒ“ƒO‘®«‚Æ‚Í‚¢‚Á‚½‚¢‰½‚Å‚µ‚傤‚©H
- ŠJ”ŽÒ‚ÆJava‚É‚Æ‚Á‚Ä‚ÍA‘o•ûŒüƒŠƒ“ƒN‚Í’P‚É—¼‘¤‚ÌŽQƂ𳂵‚Ý’è‚·‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ‚µ‚©‚µHibernate‚Íi§–ñˆá”½‚ð”ð‚¯‚é‚½‚ß‚ÉjSQL‚Ì INSERT ‚Æ UPDATE
- •¶‚ð³Šm‚É•ÏX‚·‚邽‚ß‚Ì\•ª‚Èî•ñ‚ðŽ‚Á‚Ä‚¢‚È‚¢‚Ì‚ÅA
- ‘o•ûŒüŠÖ˜AƒvƒƒpƒeƒB‚ðˆµ‚¤‚½‚߂̉½‚ç‚©‚Ì•‚¯‚ð•K—v‚Æ‚µ‚Ü‚·B
- ŠÖ˜A‚̕Б¤‚ð inverse ‚ÉÝ’è‚·‚邱‚Æ‚ÅAHibernate‚ÍŠî–{“I‚É‚Íݒ肵‚½‘¤‚𖳎‹‚µA
- ”½‘Α¤‚Ì ‹¾ ‚Æ‚µ‚Äl‚¦‚Ü‚·B
- ‚±‚ꂾ‚¯‚ÅAHibernate‚Í•ûŒü‚ðŽ‚ƒiƒrƒQ[ƒVƒ‡ƒ“ƒ‚ƒfƒ‹‚ðSQLƒf[ƒ^ƒx[ƒXƒXƒL[ƒ}‚Ö•ÏŠ·‚·‚é‚Æ‚«‚Ì
- ‚·‚ׂĂ̖â‘è‚É‚¤‚Ü‚‘Έ‚Å‚«‚Ü‚·B
- Šo‚¦‚Ä‚¨‚©‚È‚¯‚ê‚΂Ȃç‚È‚¢ƒ‹[ƒ‹‚ÍŠÈ’P‚Å‚·B
- ‘o•ûŒüŠÖ˜A‚Í•K‚¸•Ð‘¤‚ð inverse ‚É‚·‚é•K—v‚ª‚ ‚é‚Æ‚¢‚¤‚±‚Æ‚Å‚·B
- ˆê‘Α½ŠÖ˜A‚Å‚Í‚»‚ê‚Í‘½‘¤‚Å‚È‚¯‚ê‚΂Ȃè‚Ü‚¹‚ñB
- ‘½‘Α½ŠÖ˜A‚Å‚Í‚Ç‚¿‚瑤‚Å‚à\‚¢‚Ü‚¹‚ñB‚Ç‚¿‚ç‚Å‚àˆá‚¢‚Í‚ ‚è‚Ü‚¹‚ñB
+ inverse マッピング属性ã¨ã¯ã„ã£ãŸã„何ã§ã—ょã†ã‹ï¼Ÿ
+ 開発者ã¨Javaã«ã¨ã£ã¦ã¯ã€åŒæ–¹å‘リンクã¯å˜ã«ä¸¡å´ã®å‚照をæ£ã—ãè¨å®šã™ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ ã—ã‹ã—Hibernateã¯ï¼ˆåˆ¶ç´„é•åã‚’é¿ã‘ã‚‹ãŸã‚ã«ï¼‰SQLã® INSERT 㨠UPDATE
+ 文をæ£ç¢ºã«å¤‰æ›´ã™ã‚‹ãŸã‚ã®å分ãªæƒ…å ±ã‚’æŒã£ã¦ã„ãªã„ã®ã§ã€
+ åŒæ–¹å‘関連プãƒãƒ‘ティを扱ã†ãŸã‚ã®ä½•ã‚‰ã‹ã®åŠ©ã‘ã‚’å¿…è¦ã¨ã—ã¾ã™ã€‚
+ 関連ã®ç‰‡å´ã‚’ inverse ã«è¨å®šã™ã‚‹ã“ã¨ã§ã€Hibernateã¯åŸºæœ¬çš„ã«ã¯è¨å®šã—ãŸå´ã‚’無視ã—ã€
+ å対å´ã® é¡ ã¨ã—ã¦è€ƒãˆã¾ã™ã€‚
+ ã“ã‚Œã ã‘ã§ã€Hibernateã¯æ–¹å‘ã‚’æŒã¤ãƒŠãƒ“ゲーションモデルをSQLデータベーススã‚ーマã¸å¤‰æ›ã™ã‚‹ã¨ãã®
+ ã™ã¹ã¦ã®å•é¡Œã«ã†ã¾ã対処ã§ãã¾ã™ã€‚
+ 覚ãˆã¦ãŠã‹ãªã‘ã‚Œã°ãªã‚‰ãªã„ルールã¯ç°¡å˜ã§ã™ã€‚
+ åŒæ–¹å‘関連ã¯å¿…ãšç‰‡å´ã‚’ inverse ã«ã™ã‚‹å¿…è¦ãŒã‚ã‚‹ã¨ã„ã†ã“ã¨ã§ã™ã€‚
+ 一対多関連ã§ã¯ãã‚Œã¯å¤šå´ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。
+ 多対多関連ã§ã¯ã©ã¡ã‚‰å´ã§ã‚‚構ã„ã¾ã›ã‚“。ã©ã¡ã‚‰ã§ã‚‚é•ã„ã¯ã‚ã‚Šã¾ã›ã‚“。
- ‚Å‚Í‚±‚ê‚𬂳‚ÈWebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚µ‚Ä‚Ý‚Ü‚µ‚傤B
+ ã§ã¯ã“れをå°ã•ãªWebアプリケーションã«ã—ã¦ã¿ã¾ã—ょã†ã€‚
- ƒp[ƒg3 - EventManager WebƒAƒvƒŠƒP[ƒVƒ‡ƒ“
+ パート3 - EventManager Webアプリケーション
- Hibernate‚ÌWebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ÍAƒXƒ^ƒ“ƒhƒAƒ[ƒ“‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̂悤‚É
- Session ‚Æ Transaction ‚ðŽg—p‚µ‚Ü‚·B
- ‚µ‚©‚µ‚¢‚‚‚©‚̈ê”Ê“I‚ȃpƒ^[ƒ“‚ª–𗧂¿‚Ü‚·B
- ‚±‚±‚Å EventManagerServlet ‚ð쬂µ‚Ü‚·B‚±‚̃T[ƒuƒŒƒbƒg‚ÍA
- ƒf[ƒ^ƒx[ƒX‚ÉŠi”[‚µ‚½‘S‚ẴCƒxƒ“ƒg‚ðƒŠƒXƒg‚É‚Å‚«A‚³‚ç‚ÉHTMLƒtƒH[ƒ€‚©‚çV‚µ‚¢ƒCƒxƒ“ƒg‚ð“ü—Í‚Å‚«‚é‚à‚Ì‚Å‚·B
+ Hibernateã®Webアプリケーションã¯ã€ã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ¼ãƒ³ã®ã‚¢ãƒ—リケーションã®ã‚ˆã†ã«
+ Session 㨠Transaction を使用ã—ã¾ã™ã€‚
+ ã—ã‹ã—ã„ãã¤ã‹ã®ä¸€èˆ¬çš„ãªãƒ‘ターンãŒå½¹ç«‹ã¡ã¾ã™ã€‚
+ ã“ã“㧠EventManagerServlet を作æˆã—ã¾ã™ã€‚ã“ã®ã‚µãƒ¼ãƒ–レットã¯ã€
+ データベースã«æ ¼ç´ã—ãŸå…¨ã¦ã®ã‚¤ãƒ™ãƒ³ãƒˆã‚’リストã«ã§ãã€ã•ã‚‰ã«HTMLフォームã‹ã‚‰æ–°ã—ã„イベントを入力ã§ãã‚‹ã‚‚ã®ã§ã™ã€‚
- Šî–{“I‚ÈServlet‚Ì‹Lq
+ 基本的ãªServletã®è¨˜è¿°
- V‚µ‚¢ƒNƒ‰ƒX‚ðAƒ\[ƒXƒfƒBƒŒƒNƒgƒŠ‚Ì events ƒpƒbƒP[ƒW‚É쬂µ‚Ä‚‚¾‚³‚¢B
+ æ–°ã—ã„クラスをã€ã‚½ãƒ¼ã‚¹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã® events パッケージã«ä½œæˆã—ã¦ãã ã•ã„。
- Servlet‚ÍHTTP‚Ì GET ƒŠƒNƒGƒXƒg‚Ì‚Ý‚ðˆ—‚·‚é‚Ì‚ÅA
- doGet() ‚ðŽÀ‘•‚µ‚Ü‚·B
+ Servletã¯HTTPã® GET リクエストã®ã¿ã‚’処ç†ã™ã‚‹ã®ã§ã€
+ doGet() を実装ã—ã¾ã™ã€‚
- ‚±‚ê‚Í session-per-request ‚Æ‚¢‚¤ƒpƒ^[ƒ“‚Å‚·B
- Servlet‚ªƒŠƒNƒGƒXƒg‚ðŽó‚¯Žæ‚é‚ÆA SessionFactory ‚Ì
- getCurrentSession() ‚Ìʼn‚̌ĂÑo‚µ‚ÅA
- Hibernate‚ÌV‚µ‚¢ Session ‚ªŠJ‚©‚ê‚Ü‚·B
- ‚»‚Ì‚Æ‚«ƒf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ªŠJŽn‚³‚ê‚Ü‚·B
- ƒf[ƒ^‚Ì“Ç‚Ý‘‚«‚ÉŠÖ‚í‚炸A‚·‚ׂẴf[ƒ^ƒAƒNƒZƒX‚̓gƒ‰ƒ“ƒUƒNƒVƒ‡ƒ““à‚Ås‚¢‚Ü‚·B
- iƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚ł̓I[ƒgƒRƒ~ƒbƒgƒ‚[ƒh‚ðŽg—p‚µ‚Ü‚¹‚ñjB
+ ã“れ㯠session-per-request ã¨ã„ã†ãƒ‘ターンã§ã™ã€‚
+ ServletãŒãƒªã‚¯ã‚¨ã‚¹ãƒˆã‚’å—ã‘å–ã‚‹ã¨ã€ SessionFactory ã®
+ getCurrentSession() ã®æœ€åˆã®å‘¼ã³å‡ºã—ã§ã€
+ Hibernateã®æ–°ã—ã„ Session ãŒé–‹ã‹ã‚Œã¾ã™ã€‚
+ ãã®ã¨ãデータベーストランザクションãŒé–‹å§‹ã•ã‚Œã¾ã™ã€‚
+ データã®èªã¿æ›¸ãã«é–¢ã‚らãšã€ã™ã¹ã¦ã®ãƒ‡ãƒ¼ã‚¿ã‚¢ã‚¯ã‚»ã‚¹ã¯ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å†…ã§è¡Œã„ã¾ã™ã€‚
+ (アプリケーション内ã§ã¯ã‚ªãƒ¼ãƒˆã‚³ãƒŸãƒƒãƒˆãƒ¢ãƒ¼ãƒ‰ã‚’使用ã—ã¾ã›ã‚“)。
- ŽŸ‚ÉAƒŠƒNƒGƒXƒg‚̃AƒNƒVƒ‡ƒ“‚͈—‚³‚êAƒŒƒXƒ|ƒ“ƒX‚Å‚ ‚éHTML‚ª•`‰æ‚³‚ê‚Ü‚·B
- ‚±‚ê‚ɂ‚¢‚Ä‚Í‚·‚®‚Éà–¾‚µ‚Ü‚·B
+ 次ã«ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®ã‚¢ã‚¯ã‚·ãƒ§ãƒ³ã¯å‡¦ç†ã•ã‚Œã€ãƒ¬ã‚¹ãƒãƒ³ã‚¹ã§ã‚ã‚‹HTMLãŒæç”»ã•ã‚Œã¾ã™ã€‚
+ ã“ã‚Œã«ã¤ã„ã¦ã¯ã™ãã«èª¬æ˜Žã—ã¾ã™ã€‚
- ÅŒã‚ɃŠƒNƒGƒXƒg‚̈—‚ÆHTML•`‰æ‚ªŠ®—¹‚µ‚½‚Æ‚«‚ÉAì‹Æ’PˆÊ(Unit of Work)‚ðI—¹‚µ‚Ü‚·B
- ‚à‚µˆ—‚â•`‰æ’†‚É–â‘肪”¶‚µ‚½ê‡Aexception‚ª“Š‚°‚ç‚ê‚ăf[ƒ^ƒx[ƒXƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‚ðƒ[ƒ‹ƒoƒbƒN‚µ‚Ü‚·B
- ‚±‚ê‚Å session-per-request ƒpƒ^[ƒ“‚ªŠ®—¹‚µ‚Ü‚·B
- ‘S‚ẴT[ƒuƒŒƒbƒg‚Ƀgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“‹«ŠE‚̃R[ƒh‚ð‘‚‘ã‚í‚è‚ÉAƒT[ƒuƒŒƒbƒgƒtƒBƒ‹ƒ^‚É‹Lq‚·‚邱‚Æ‚à‰Â”\‚Å‚·B
- Open Session in View ‚ƌĂ΂ê‚邱‚̃pƒ^[ƒ“‚ɂ‚¢‚Ä‚ÍA
- Hibernate‚ÌWebƒTƒCƒg‚âWiki‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
- ƒT[ƒuƒŒƒbƒg‚Å‚Í‚È‚JSP‚ÅHTML•`‰æ‚ð‚µ‚æ‚¤‚Æ‚·‚é‚ÆA‚·‚®‚É‚±‚̃pƒ^[ƒ“‚ɂ‚¢‚Ä‚Ìî•ñ‚ª•K—v‚É‚È‚é‚Å‚µ‚傤B
+ 最後ã«ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å‡¦ç†ã¨HTMLæç”»ãŒå®Œäº†ã—ãŸã¨ãã«ã€ä½œæ¥å˜ä½(Unit of Work)を終了ã—ã¾ã™ã€‚
+ ã‚‚ã—処ç†ã‚„æç”»ä¸ã«å•é¡ŒãŒç™ºç”Ÿã—ãŸå ´åˆã€exceptionãŒæŠ•ã’られã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³ã‚’ãƒãƒ¼ãƒ«ãƒãƒƒã‚¯ã—ã¾ã™ã€‚
+ ã“れ㧠session-per-request パターンãŒå®Œäº†ã—ã¾ã™ã€‚
+ å…¨ã¦ã®ã‚µãƒ¼ãƒ–レットã«ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å¢ƒç•Œã®ã‚³ãƒ¼ãƒ‰ã‚’書ã代ã‚ã‚Šã«ã€ã‚µãƒ¼ãƒ–レットフィルタã«è¨˜è¿°ã™ã‚‹ã“ã¨ã‚‚å¯èƒ½ã§ã™ã€‚
+ Open Session in View ã¨å‘¼ã°ã‚Œã‚‹ã“ã®ãƒ‘ターンã«ã¤ã„ã¦ã¯ã€
+ Hibernateã®WebサイトやWikiã‚’å‚ç…§ã—ã¦ãã ã•ã„。
+ サーブレットã§ã¯ãªãJSPã§HTMLæ画をã—よã†ã¨ã™ã‚‹ã¨ã€ã™ãã«ã“ã®ãƒ‘ターンã«ã¤ã„ã¦ã®æƒ…å ±ãŒå¿…è¦ã«ãªã‚‹ã§ã—ょã†ã€‚
- ˆ—‚Æ•`‰æ
+ 処ç†ã¨æç”»
- ‚Å‚ÍAƒŠƒNƒGƒXƒg‚̈—‚ƃy[ƒW‚Ì•`‰æ‚ðŽÀ‘•‚µ‚Ü‚·B
+ ã§ã¯ã€ãƒªã‚¯ã‚¨ã‚¹ãƒˆã®å‡¦ç†ã¨ãƒšãƒ¼ã‚¸ã®æ画を実装ã—ã¾ã™ã€‚
- Java‚ÆHTML‚ª¬Ý‚·‚éƒR[ƒfƒBƒ“ƒOƒXƒ^ƒCƒ‹‚ÍA‚æ‚è•¡ŽG‚ȃAƒvƒŠƒP[ƒVƒ‡ƒ“‚É‚Í“K‚µ‚Ä‚¢‚È‚¢‚Å‚µ‚傤
- i‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚Å‚ÍAŠî–{“I‚ÈHibernate‚̃Rƒ“ƒZƒvƒg‚ðŽ¦‚µ‚Ä‚¢‚邾‚¯‚Å‚ ‚邱‚Æ‚ðŠo‚¦‚Ä‚¨‚¢‚Ä‚‚¾‚³‚¢jB
- ‚±‚̃R[ƒh‚ÍHTML‚̃wƒbƒ_[‚ƃtƒbƒ^[‚Ì‹Lq‚Å‚·B
- ‚±‚̃y[ƒW‚É‚ÍAƒCƒxƒ“ƒg‚ð“ü—Í‚·‚éHTMLƒtƒH[ƒ€‚ÆAƒf[ƒ^ƒx[ƒX‚É‚ ‚é‘S‚ẴCƒxƒ“ƒg‚̃ŠƒXƒg‚ª•\Ž¦‚³‚ê‚Ü‚·B
- ʼn‚̃ƒ\ƒbƒh‚Í‚²‚’Pƒ‚ÈHTMLo—Í‚Å‚·B
+ Javaã¨HTMLãŒæ··åœ¨ã™ã‚‹ã‚³ãƒ¼ãƒ‡ã‚£ãƒ³ã‚°ã‚¹ã‚¿ã‚¤ãƒ«ã¯ã€ã‚ˆã‚Šè¤‡é›‘ãªã‚¢ãƒ—リケーションã«ã¯é©ã—ã¦ã„ãªã„ã§ã—ょã†
+ (ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã¯ã€åŸºæœ¬çš„ãªHibernateã®ã‚³ãƒ³ã‚»ãƒ—トを示ã—ã¦ã„ã‚‹ã ã‘ã§ã‚ã‚‹ã“ã¨ã‚’覚ãˆã¦ãŠã„ã¦ãã ã•ã„)。
+ ã“ã®ã‚³ãƒ¼ãƒ‰ã¯HTMLã®ãƒ˜ãƒƒãƒ€ãƒ¼ã¨ãƒ•ãƒƒã‚¿ãƒ¼ã®è¨˜è¿°ã§ã™ã€‚
+ ã“ã®ãƒšãƒ¼ã‚¸ã«ã¯ã€ã‚¤ãƒ™ãƒ³ãƒˆã‚’入力ã™ã‚‹HTMLフォームã¨ã€ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã«ã‚ã‚‹å…¨ã¦ã®ã‚¤ãƒ™ãƒ³ãƒˆã®ãƒªã‚¹ãƒˆãŒè¡¨ç¤ºã•ã‚Œã¾ã™ã€‚
+ 最åˆã®ãƒ¡ã‚½ãƒƒãƒ‰ã¯ã”ãå˜ç´”ãªHTML出力ã§ã™ã€‚
}]]>
- listEvents() ƒƒ\ƒbƒh‚ÍAŒ»Ý‚̃XƒŒƒbƒh‚ÉŒ‹‚т‚
- Hibernate‚Ì Session ‚ðŽg—p‚µ‚ÄAƒNƒGƒŠ‚ðŽÀs‚µ‚Ü‚·B
+ listEvents() メソッドã¯ã€ç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã«çµã³ã¤ã
+ Hibernateã® Session を使用ã—ã¦ã€ã‚¯ã‚¨ãƒªã‚’実行ã—ã¾ã™ã€‚
}]]>
- ÅŒã‚ÉA store ƒAƒNƒVƒ‡ƒ“‚ª createAndStoreEvent() ƒƒ\ƒbƒh‚ð
- ŒÄ‚Ño‚µ‚Ü‚·B‚±‚̃ƒ\ƒbƒh‚Å‚àŒ»Ý‚ÌƒXƒŒƒbƒh‚Ì Session ‚ð—˜—p‚µ‚Ü‚·B
+ 最後ã«ã€ store アクション㌠createAndStoreEvent() メソッドを
+ 呼ã³å‡ºã—ã¾ã™ã€‚ã“ã®ãƒ¡ã‚½ãƒƒãƒ‰ã§ã‚‚ç¾åœ¨ã®ã‚¹ãƒ¬ãƒƒãƒ‰ã® Session を利用ã—ã¾ã™ã€‚
}]]>
- ‚±‚ê‚ŃT[ƒuƒŒƒbƒg‚ÌŠ®¬‚Å‚·B
- ƒT[ƒuƒŒƒbƒg‚ւ̃ŠƒNƒGƒXƒg‚ÍAˆê‚Â‚Ì Session ‚Æ
- Transaction ‚ň—‚³‚ê‚é‚Å‚µ‚傤B
- ʼn‚̃Xƒ^ƒ“ƒhƒAƒ[ƒ“‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̂悤‚ÉA
- Hibernate‚ÍŽ©“®“I‚É‚±‚ê‚ç‚̃IƒuƒWƒFƒNƒg‚ðŽÀs‚·‚éƒXƒŒƒbƒh‚ÉŒ‹‚Ñ•t‚¯‚邱‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚±‚ê‚É‚æ‚èAŠJ”ŽÒ‚ªŽ©—R‚ɃR[ƒh‚ðƒŒƒCƒ„[•ª‚¯‚Å‚«A
- D‚«‚È•û–@‚Å SessionFactory ‚ւ̃AƒNƒZƒX‚ª‚Å‚«‚é‚悤‚É‚È‚è‚Ü‚·B
- ’ÊíAŠJ”ŽÒ‚Í‚æ‚èô—û‚³‚ꂽƒfƒUƒCƒ“‚ðŽg—p‚µ‚ÄAƒf[ƒ^ƒAƒNƒZƒX‚̃R[ƒh‚ð
- ƒf[ƒ^ƒAƒNƒZƒXƒIƒuƒWƒFƒNƒg‚Ɉړ®‚·‚é‚Å‚µ‚傤iDAOƒpƒ^[ƒ“jB
- ‚æ‚葽‚‚Ì—á‚ÍAHibernate‚ÌWiki‚ðŽQÆ‚µ‚Ä‚‚¾‚³‚¢B
+ ã“ã‚Œã§ã‚µãƒ¼ãƒ–レットã®å®Œæˆã§ã™ã€‚
+ サーブレットã¸ã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆã¯ã€ä¸€ã¤ã® Session ã¨
+ Transaction ã§å‡¦ç†ã•ã‚Œã‚‹ã§ã—ょã†ã€‚
+ 最åˆã®ã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ¼ãƒ³ã®ã‚¢ãƒ—リケーションã®ã‚ˆã†ã«ã€
+ Hibernateã¯è‡ªå‹•çš„ã«ã“れらã®ã‚ªãƒ–ジェクトを実行ã™ã‚‹ã‚¹ãƒ¬ãƒƒãƒ‰ã«çµã³ä»˜ã‘ã‚‹ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã“ã‚Œã«ã‚ˆã‚Šã€é–‹ç™ºè€…ãŒè‡ªç”±ã«ã‚³ãƒ¼ãƒ‰ã‚’レイヤー分ã‘ã§ãã€
+ 好ããªæ–¹æ³•ã§ SessionFactory ã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒã§ãるよã†ã«ãªã‚Šã¾ã™ã€‚
+ 通常ã€é–‹ç™ºè€…ã¯ã‚ˆã‚Šæ´—ç·´ã•ã‚ŒãŸãƒ‡ã‚¶ã‚¤ãƒ³ã‚’使用ã—ã¦ã€ãƒ‡ãƒ¼ã‚¿ã‚¢ã‚¯ã‚»ã‚¹ã®ã‚³ãƒ¼ãƒ‰ã‚’
+ データアクセスオブジェクトã«ç§»å‹•ã™ã‚‹ã§ã—ょã†ï¼ˆDAOパターン)。
+ より多ãã®ä¾‹ã¯ã€Hibernateã®Wikiã‚’å‚ç…§ã—ã¦ãã ã•ã„。
- ƒfƒvƒƒC‚ƃeƒXƒg
+ デプãƒã‚¤ã¨ãƒ†ã‚¹ãƒˆ
- ‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃fƒvƒƒC‚Ì‚½‚ß‚ÉAWebƒA[ƒJƒCƒuiWARj‚ð쬂µ‚Ä‚‚¾‚³‚¢B
- ˆÈ‰º‚ÌAntƒ^[ƒQƒbƒg‚ð build.xml ‚ɉÁ‚¦‚Ä‚‚¾‚³‚¢B
+ ã“ã®ã‚¢ãƒ—リケーションã®ãƒ‡ãƒ—ãƒã‚¤ã®ãŸã‚ã«ã€Webアーカイブ(WAR)を作æˆã—ã¦ãã ã•ã„。
+ 以下ã®Antターゲットを build.xml ã«åŠ ãˆã¦ãã ã•ã„。
@@ -1521,10 +1523,10 @@ out.close();]]>
]]>
- ‚±‚̃^[ƒQƒbƒg‚Í hibernate-tutorial.war ‚Æ‚¢‚¤ƒtƒ@ƒCƒ‹‚ð
- ƒvƒƒWƒFƒNƒgƒfƒBƒŒƒNƒgƒŠ‚É쬂µ‚Ü‚·B
- ‚±‚̃tƒ@ƒCƒ‹‚Í‚·‚ׂẴ‰ƒCƒuƒ‰ƒŠ‚Æ web.xml ‹LqŽq‚ðŠÜ‚ñ‚Å‚¨‚èA
- ƒvƒƒWƒFƒNƒg‚̃x[ƒXƒfƒBƒŒƒNƒgƒŠ‚É’u‚©‚ê‚邱‚Æ‚ðŠú‘Ò‚³‚ê‚Ü‚·B
+ ã“ã®ã‚¿ãƒ¼ã‚²ãƒƒãƒˆã¯ hibernate-tutorial.war ã¨ã„ã†ãƒ•ã‚¡ã‚¤ãƒ«ã‚’
+ プãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ä½œæˆã—ã¾ã™ã€‚
+ ã“ã®ãƒ•ã‚¡ã‚¤ãƒ«ã¯ã™ã¹ã¦ã®ãƒ©ã‚¤ãƒ–ラリ㨠web.xml 記述åã‚’å«ã‚“ã§ãŠã‚Šã€
+ プãƒã‚¸ã‚§ã‚¯ãƒˆã®ãƒ™ãƒ¼ã‚¹ãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã«ç½®ã‹ã‚Œã‚‹ã“ã¨ã‚’期待ã•ã‚Œã¾ã™ã€‚
@@ -1545,29 +1547,29 @@ out.close();]]>
]]>
- WebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚̃Rƒ“ƒpƒCƒ‹‚ƃfƒvƒƒC‚Ì‘O‚ÉA jsdk.jar ‚Æ‚¢‚¤
- ’ljÁ‚̃‰ƒCƒuƒ‰ƒŠ‚ª•K—v‚È‚±‚Æ‚É’ˆÓ‚µ‚Ä‚‚¾‚³‚¢B
- ‚±‚ê‚ÍJavaƒT[ƒuƒŒƒbƒg‚ÌŠJ”ƒLƒbƒg‚Å‚·B
- ‚à‚µ‚Ü‚¾‚±‚̃‰ƒCƒuƒ‰ƒŠ‚ðŽ‚Á‚Ä‚¢‚È‚¢‚È‚çASun‚̃EƒFƒuƒTƒCƒg‚Å“üŽè‚µ‚ÄA
- ƒ‰ƒCƒuƒ‰ƒŠƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚Ä‚‚¾‚³‚¢B
- ‚µ‚©‚µA‚±‚ê‚̓Rƒ“ƒpƒCƒ‹‚É‚Ì‚ÝŽg—p‚³‚êAWARƒpƒbƒP[ƒW‚©‚ç‚ÍœŠO‚³‚ê‚Ü‚·B
+ Webアプリケーションã®ã‚³ãƒ³ãƒ‘イルã¨ãƒ‡ãƒ—ãƒã‚¤ã®å‰ã«ã€ jsdk.jar ã¨ã„ã†
+ è¿½åŠ ã®ãƒ©ã‚¤ãƒ–ラリãŒå¿…è¦ãªã“ã¨ã«æ³¨æ„ã—ã¦ãã ã•ã„。
+ ã“ã‚Œã¯Javaサーブレットã®é–‹ç™ºã‚ットã§ã™ã€‚
+ ã‚‚ã—ã¾ã ã“ã®ãƒ©ã‚¤ãƒ–ラリをæŒã£ã¦ã„ãªã„ãªã‚‰ã€Sunã®ã‚¦ã‚§ãƒ–サイトã§å…¥æ‰‹ã—ã¦ã€
+ ライブラリディレクトリã«ã‚³ãƒ”ーã—ã¦ãã ã•ã„。
+ ã—ã‹ã—ã€ã“ã‚Œã¯ã‚³ãƒ³ãƒ‘イルã«ã®ã¿ä½¿ç”¨ã•ã‚Œã€WARパッケージã‹ã‚‰ã¯é™¤å¤–ã•ã‚Œã¾ã™ã€‚
- ƒrƒ‹ƒh‚ƃfƒvƒƒC‚Ì‚½‚ß‚ÉAƒvƒƒWƒFƒNƒgƒfƒBƒŒƒNƒgƒŠ‚Å ant war ‚ðŒÄ‚Ño‚µA
- hibernate-tutorial.war ƒtƒ@ƒCƒ‹‚ðTomcat‚Ì webapp
- ƒfƒBƒŒƒNƒgƒŠ‚ɃRƒs[‚µ‚Ä‚‚¾‚³‚¢B
- ‚Ü‚¾Tomcat‚ðƒCƒ“ƒXƒg[ƒ‹‚µ‚Ä‚¢‚È‚¯‚ê‚ÎAƒ_ƒEƒ“ƒ[ƒh‚µ‚ÄAˆÈ‰º‚̃Cƒ“ƒXƒg[ƒ‹ƒKƒCƒh‚É]‚Á‚Ä‚‚¾‚³‚¢B
- ‚µ‚©‚µA‚±‚̃AƒvƒŠƒP[ƒVƒ‡ƒ“‚̃fƒvƒƒC‚·‚邽‚ß‚ÉATomcat‚ÌÝ’è‚ð•ÏX‚·‚é•K—v‚Í‚ ‚è‚Ü‚¹‚ñB
+ ビルドã¨ãƒ‡ãƒ—ãƒã‚¤ã®ãŸã‚ã«ã€ãƒ—ãƒã‚¸ã‚§ã‚¯ãƒˆãƒ‡ã‚£ãƒ¬ã‚¯ãƒˆãƒªã§ ant war を呼ã³å‡ºã—ã€
+ hibernate-tutorial.war ファイルをTomcat㮠webapp
+ ディレクトリã«ã‚³ãƒ”ーã—ã¦ãã ã•ã„。
+ ã¾ã Tomcatをインストールã—ã¦ã„ãªã‘ã‚Œã°ã€ãƒ€ã‚¦ãƒ³ãƒãƒ¼ãƒ‰ã—ã¦ã€ä»¥ä¸‹ã®ã‚¤ãƒ³ã‚¹ãƒˆãƒ¼ãƒ«ã‚¬ã‚¤ãƒ‰ã«å¾“ã£ã¦ãã ã•ã„。
+ ã—ã‹ã—ã€ã“ã®ã‚¢ãƒ—リケーションã®ãƒ‡ãƒ—ãƒã‚¤ã™ã‚‹ãŸã‚ã«ã€Tomcatã®è¨å®šã‚’変更ã™ã‚‹å¿…è¦ã¯ã‚ã‚Šã¾ã›ã‚“。
- ˆê“xƒfƒvƒƒC‚µ‚ÄTomcat‚ð‹N“®‚·‚ê‚ÎA http://localhost:8080/hibernate-tutorial/eventmanager ‚Å
- ƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ւ̃AƒNƒZƒX‚ª‰Â”\‚Å‚·B
- ʼn‚̃ŠƒNƒGƒXƒg‚ªì¬‚µ‚½ƒT[ƒuƒŒƒbƒg‚É“n‚Á‚½‚Æ‚«‚ÉATomcat‚̃ƒO‚Å
- Hibernate‚̉Šú‰»ˆ—‚ðŠm”F‚µ‚Ä‚‚¾‚³‚¢
- i HibernateUtil “à‚ÌÓI‰Šú‰»ƒuƒƒbƒN‚ªŒÄ‚΂ê‚Ä‚¢‚Ü‚·jB
- ‚Ü‚½Aexception‚ª”¶‚µ‚½‚È‚çÚׂðŠm”F‚µ‚Ä‚‚¾‚³‚¢B
+ 一度デプãƒã‚¤ã—ã¦Tomcatã‚’èµ·å‹•ã™ã‚Œã°ã€ http://localhost:8080/hibernate-tutorial/eventmanager ã§
+ アプリケーションã¸ã®ã‚¢ã‚¯ã‚»ã‚¹ãŒå¯èƒ½ã§ã™ã€‚
+ 最åˆã®ãƒªã‚¯ã‚¨ã‚¹ãƒˆãŒä½œæˆã—ãŸã‚µãƒ¼ãƒ–レットã«æ¸¡ã£ãŸã¨ãã«ã€Tomcatã®ãƒã‚°ã§
+ Hibernateã®åˆæœŸåŒ–処ç†ã‚’確èªã—ã¦ãã ã•ã„
+ ( HibernateUtil 内ã®é™çš„åˆæœŸåŒ–ブãƒãƒƒã‚¯ãŒå‘¼ã°ã‚Œã¦ã„ã¾ã™ï¼‰ã€‚
+ ã¾ãŸã€exceptionãŒç™ºç”Ÿã—ãŸãªã‚‰è©³ç´°ã‚’確èªã—ã¦ãã ã•ã„。
@@ -1575,24 +1577,24 @@ out.close();]]>
- —v–ñ
+ è¦ç´„
- ‚±‚̃`ƒ…[ƒgƒŠƒAƒ‹‚Å‚ÍAŠÈ’P‚ȃXƒ^ƒ“ƒhƒAƒ[ƒ“‚ÌHibernateƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚Æ
- ¬‹K–Í‚ÌWebƒAƒvƒŠƒP[ƒVƒ‡ƒ“‚ð‘‚‚½‚ß‚ÌŠî–{‚ðЉ‚Ü‚µ‚½B
+ ã“ã®ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ã§ã¯ã€ç°¡å˜ãªã‚¹ã‚¿ãƒ³ãƒ‰ã‚¢ãƒãƒ¼ãƒ³ã®Hibernateアプリケーションã¨
+ å°è¦æ¨¡ã®Webアプリケーションを書ããŸã‚ã®åŸºæœ¬ã‚’紹介ã—ã¾ã—ãŸã€‚
- ‚à‚¤Hibernate‚ÉŽ©M‚ª‚ ‚ê‚ÎAƒŠƒtƒ@ƒŒƒ“ƒXƒhƒLƒ…ƒƒ“ƒg‚Ì–ÚŽŸ‚É–Ú‚ð’Ê‚µ‚ÄA
- –Ê”’‚»‚¤‚¾‚ÆŽv‚¤ƒgƒsƒbƒN‚ð’T‚µ‚Ä‚‚¾‚³‚¢B
- Å‚à•p”É‚ÉŽ¿–₪‚ ‚é‚Ì‚ÍAƒgƒ‰ƒ“ƒUƒNƒVƒ‡ƒ“ˆ—ijA
- ƒtƒFƒbƒ`‚̃pƒtƒH[ƒ}ƒ“ƒXijA
- API‚ÌŽg‚¢•ûij‚ƃNƒGƒŠ
- ij‚Å‚·B
+ ã‚‚ã†Hibernateã«è‡ªä¿¡ãŒã‚ã‚Œã°ã€ãƒªãƒ•ã‚¡ãƒ¬ãƒ³ã‚¹ãƒ‰ã‚ュメントã®ç›®æ¬¡ã«ç›®ã‚’通ã—ã¦ã€
+ é¢ç™½ãã†ã ã¨æ€ã†ãƒˆãƒ”ックを探ã—ã¦ãã ã•ã„。
+ æœ€ã‚‚é »ç¹ã«è³ªå•ãŒã‚ã‚‹ã®ã¯ã€ãƒˆãƒ©ãƒ³ã‚¶ã‚¯ã‚·ãƒ§ãƒ³å‡¦ç†ï¼ˆï¼‰ã€
+ フェッãƒã®ãƒ‘フォーマンス()ã€
+ APIã®ä½¿ã„方()ã¨ã‚¯ã‚¨ãƒª
+ ()ã§ã™ã€‚
- ‚³‚ç‚Éi“Á•Ê‚Èjƒ`ƒ…[ƒgƒŠƒAƒ‹‚ª•K—v‚È‚çAHibernateƒEƒFƒuƒTƒCƒg‚ð–Y‚ꂸ‚Ƀ`ƒFƒbƒN‚µ‚Ä‚‚¾‚³‚¢B
+ ã•ã‚‰ã«ï¼ˆç‰¹åˆ¥ãªï¼‰ãƒãƒ¥ãƒ¼ãƒˆãƒªã‚¢ãƒ«ãŒå¿…è¦ãªã‚‰ã€Hibernateウェブサイトを忘れãšã«ãƒã‚§ãƒƒã‚¯ã—ã¦ãã ã•ã„。
diff --git a/documentation/manual/ja-JP/src/main/docbook/content/xml.xml b/documentation/manual/ja-JP/src/main/docbook/content/xml.xml
index 9df98dd529..2243284e06 100644
--- a/documentation/manual/ja-JP/src/main/docbook/content/xml.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/content/xml.xml
@@ -1,48 +1,50 @@
-
+
+
+
- XMLƒ}ƒbƒsƒ“ƒO
+ XMLマッピング
- XMLƒ}ƒbƒsƒ“ƒO‚ÍHibernate3.0‚Å‚ÍŽŽŒ±“I‚È‹@”\‚Å‚ ‚èA”ñí‚ÉŠˆ“®“I‚ÉŠJ”’†‚Å‚·B
+ XMLマッピングã¯Hibernate3.0ã§ã¯è©¦é¨“çš„ãªæ©Ÿèƒ½ã§ã‚ã‚Šã€éžå¸¸ã«æ´»å‹•çš„ã«é–‹ç™ºä¸ã§ã™ã€‚
- XMLƒf[ƒ^‚Å‚Ìì‹Æ
+ XMLデータã§ã®ä½œæ¥
- Hibernate‚ł͉i‘±«‚ÌPOJO‚ðŽg‚Á‚Äì‹Æ‚·‚é‚Ì‚Æ‚Ù‚Ú“¯‚¶‚悤‚È‚â‚è•û‚ÅA
- ‰i‘±«‚ÌXMLƒf[ƒ^‚ðŽg‚Á‚Äì‹Æ‚Å‚«‚Ü‚·B
+ Hibernateã§ã¯æ°¸ç¶šæ€§ã®POJOを使ã£ã¦ä½œæ¥ã™ã‚‹ã®ã¨ã»ã¼åŒã˜ã‚ˆã†ãªã‚„ã‚Šæ–¹ã§ã€
+ 永続性ã®XMLデータを使ã£ã¦ä½œæ¥ã§ãã¾ã™ã€‚
- Hibernate‚ÍXMLƒcƒŠ[‚ð‘€ì‚·‚邽‚ß‚ÌAPI‚Æ‚µ‚Ädom4j‚ðƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚·B
- ƒf[ƒ^ƒx[ƒX‚©‚çdom4j‚̃cƒŠ[‚𕜌³‚·‚éƒNƒGƒŠ‚ð‘‚‚±‚Æ‚ª‚Å‚«A
- ƒcƒŠ[‚ɑ΂µ‚Äs‚Á‚½C³‚ÍŽ©“®“I‚Ƀf[ƒ^ƒx[ƒX‚Æ“¯Šú‚³‚ê‚Ü‚·B
+ Hibernateã¯XMLツリーをæ“作ã™ã‚‹ãŸã‚ã®APIã¨ã—ã¦dom4jをサãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã™ã€‚
+ データベースã‹ã‚‰dom4jã®ãƒ„リーを復元ã™ã‚‹ã‚¯ã‚¨ãƒªã‚’書ãã“ã¨ãŒã§ãã€
+ ツリーã«å¯¾ã—ã¦è¡Œã£ãŸä¿®æ£ã¯è‡ªå‹•çš„ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¨åŒæœŸã•ã‚Œã¾ã™ã€‚
- ‚Ü‚½XMLƒhƒLƒ…ƒƒ“ƒg‚ðŽæ“¾‚·‚邱‚Æ‚ª‚Å‚«Adom4j‚ðŽg‚Á‚ăhƒLƒ…ƒƒ“ƒg‚ðƒp[ƒX‚µA
- Hibernate‚Ì”CˆÓ‚ÌŠî–{‘€ì‚ðŽg‚Á‚ăf[ƒ^ƒx[ƒX‚Ö‘‚«ž‚Þ‚±‚Æ‚ª‚Å‚«‚Ü‚·BF
- ‚‚܂èApersist(), saveOrUpdate(), merge(), delete(), replicate()
- ‘€ì‚Å‚·(ƒ}[ƒW‚Í‚Ü‚¾ƒTƒ|[ƒg‚µ‚Ä‚¢‚Ü‚¹‚ñ)B
+ ã¾ãŸXMLドã‚ュメントをå–å¾—ã™ã‚‹ã“ã¨ãŒã§ãã€dom4jを使ã£ã¦ãƒ‰ã‚ュメントをパースã—ã€
+ Hibernateã®ä»»æ„ã®åŸºæœ¬æ“作を使ã£ã¦ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸æ›¸ã込むã“ã¨ãŒã§ãã¾ã™ã€‚:
+ ã¤ã¾ã‚Šã€persist(), saveOrUpdate(), merge(), delete(), replicate()
+ æ“作ã§ã™(マージã¯ã¾ã サãƒãƒ¼ãƒˆã—ã¦ã„ã¾ã›ã‚“)。
- ƒf[ƒ^‚̃Cƒ“ƒ|[ƒg/ƒGƒNƒXƒ|[ƒgA
- JMS‚É‚æ‚éƒGƒ“ƒeƒBƒeƒBƒf[ƒ^‚ÌŠO•”‰»‚âSOAPAXSLTƒx[ƒX‚̃Œƒ|[ƒg‚È‚ÇA
- ‚±‚Ì‹@”\‚É‚Í‘½‚‚Ì—p“r‚ª‚ ‚è‚Ü‚·B
+ データã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ/エクスãƒãƒ¼ãƒˆã€
+ JMSã«ã‚ˆã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ãƒ‡ãƒ¼ã‚¿ã®å¤–部化やSOAPã€XSLTベースã®ãƒ¬ãƒãƒ¼ãƒˆãªã©ã€
+ ã“ã®æ©Ÿèƒ½ã«ã¯å¤šãã®ç”¨é€”ãŒã‚ã‚Šã¾ã™ã€‚
- ’Pˆê‚̃}ƒbƒsƒ“ƒO‚ÍAƒNƒ‰ƒX‚̃vƒƒpƒeƒB‚ÆXMLƒhƒLƒ…ƒƒ“ƒg‚̃m[ƒh‚ð
- “¯Žž‚Ƀf[ƒ^ƒx[ƒX‚Öƒ}ƒbƒsƒ“ƒO‚·‚邽‚ß‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
- ‚Ü‚½ƒ}ƒbƒsƒ“ƒO‚·‚éƒNƒ‰ƒX‚ª‚È‚¯‚ê‚ÎA
- XML‚¾‚¯‚ðƒ}ƒbƒsƒ“ƒO‚·‚邽‚ß‚ÉŽg‚¤‚±‚Æ‚ª‚Å‚«‚Ü‚·B
+ å˜ä¸€ã®ãƒžãƒƒãƒ”ングã¯ã€ã‚¯ãƒ©ã‚¹ã®ãƒ—ãƒãƒ‘ティã¨XMLドã‚ュメントã®ãƒŽãƒ¼ãƒ‰ã‚’
+ åŒæ™‚ã«ãƒ‡ãƒ¼ã‚¿ãƒ™ãƒ¼ã‚¹ã¸ãƒžãƒƒãƒ”ングã™ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
+ ã¾ãŸãƒžãƒƒãƒ”ングã™ã‚‹ã‚¯ãƒ©ã‚¹ãŒãªã‘ã‚Œã°ã€
+ XMLã ã‘をマッピングã™ã‚‹ãŸã‚ã«ä½¿ã†ã“ã¨ãŒã§ãã¾ã™ã€‚
- XML‚ƃNƒ‰ƒX‚̃}ƒbƒsƒ“ƒO‚𓯎ž‚ÉŽw’è‚·‚é
+ XMLã¨ã‚¯ãƒ©ã‚¹ã®ãƒžãƒƒãƒ”ングをåŒæ™‚ã«æŒ‡å®šã™ã‚‹
- ‚±‚ê‚ÍPOJO‚ÆXML‚𓯎ž‚Ƀ}ƒbƒsƒ“ƒO‚·‚é—á‚Å‚·BF
+ ã“ã‚Œã¯POJOã¨XMLã‚’åŒæ™‚ã«ãƒžãƒƒãƒ”ングã™ã‚‹ä¾‹ã§ã™ã€‚:
- XMLƒ}ƒbƒsƒ“ƒO‚¾‚¯‚ðŽw’è‚·‚é
+ XMLマッピングã ã‘を指定ã™ã‚‹
- ‚±‚ê‚ÍPOJOƒNƒ‰ƒX‚ª‚È‚¢ƒ}ƒbƒsƒ“ƒO‚Ì—á‚Å‚·BF
+ ã“ã‚Œã¯POJOクラスãŒãªã„マッピングã®ä¾‹ã§ã™ã€‚:
]]>
- ‚±‚̃}ƒbƒsƒ“ƒO‚É‚æ‚èAdom4jƒcƒŠ[‚©A
- ƒvƒƒpƒeƒB–¼/’l‚Ì‘g‚̃Oƒ‰ƒtijava‚Ì Mapj‚Æ‚µ‚Ä
- ƒf[ƒ^‚ɃAƒNƒZƒX‚Å‚«‚Ü‚·B
+ ã“ã®ãƒžãƒƒãƒ”ングã«ã‚ˆã‚Šã€dom4jツリーã‹ã€
+ プãƒãƒ‘ティå/値ã®çµ„ã®ã‚°ãƒ©ãƒ•ï¼ˆjavaã® Map)ã¨ã—ã¦
+ データã«ã‚¢ã‚¯ã‚»ã‚¹ã§ãã¾ã™ã€‚
- ƒvƒƒpƒeƒB‚Ì–¼‘O‚ÍAHQLƒNƒGƒŠ[“à‚ÅŽQÆ‚Å‚«‚郈‚Ș_—\‘¢‚Å‚·B
+ プãƒãƒ‘ティã®åå‰ã¯ã€HQLクエリー内ã§å‚ç…§ã§ãる純粋ãªè«–ç†æ§‹é€ ã§ã™ã€‚
@@ -111,53 +113,53 @@
- XMLƒ}ƒbƒsƒ“ƒO‚̃ƒ^ƒf[ƒ^
+ XMLマッピングã®ãƒ¡ã‚¿ãƒ‡ãƒ¼ã‚¿
- ‘½‚‚ÌHibernate‚̃}ƒbƒsƒ“ƒO—v‘f‚Í@node@‘®«‚ªŽg—p‚Å‚«‚Ü‚·B
- ‚±‚ê‚É‚æ‚èXML‘®«‚Ì–¼‘O‚âƒvƒƒpƒeƒB‚âƒGƒ“ƒeƒBƒeƒBƒf[ƒ^‚ð•ÛŽ‚·‚é—v‘f‚ðŽw’è‚Å‚«‚Ü‚·B
- node@‘®«‚̃tƒH[ƒ}ƒbƒg‚͈ȉº‚Ì’†‚Ì1‚‚łȂ¯‚ê‚΂Ȃè‚Ü‚¹‚ñBF
+ 多ãã®Hibernateã®ãƒžãƒƒãƒ”ングè¦ç´ ã¯ã€€node 属性ãŒä½¿ç”¨ã§ãã¾ã™ã€‚
+ ã“ã‚Œã«ã‚ˆã‚ŠXML属性ã®åå‰ã‚„プãƒãƒ‘ティやエンティティデータをä¿æŒã™ã‚‹è¦ç´ を指定ã§ãã¾ã™ã€‚
+ node 属性ã®ãƒ•ã‚©ãƒ¼ãƒžãƒƒãƒˆã¯ä»¥ä¸‹ã®ä¸ã®1ã¤ã§ãªã‘ã‚Œã°ãªã‚Šã¾ã›ã‚“。:
- "element-name" - Žw’肵‚½XML—v‘f‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+ "element-name" - 指定ã—ãŸXMLè¦ç´ ã¸ãƒžãƒƒãƒ”ングã—ã¾ã™
- "@attribute-name" - Žw’肵‚½XML‘®«‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+ "@attribute-name" - 指定ã—ãŸXML属性ã¸ãƒžãƒƒãƒ”ングã—ã¾ã™
- "." -@e—v‘f‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+ "." - 親è¦ç´ ã¸ãƒžãƒƒãƒ”ングã—ã¾ã™
"element-name/@attribute-name" -
- Žw’肵‚½ƒGƒŒƒƒ“ƒg‚ÌŽw’肵‚½‘®«‚Öƒ}ƒbƒsƒ“ƒO‚µ‚Ü‚·
+ 指定ã—ãŸã‚¨ãƒ¬ãƒ¡ãƒ³ãƒˆã®æŒ‡å®šã—ãŸå±žæ€§ã¸ãƒžãƒƒãƒ”ングã—ã¾ã™
- ƒRƒŒƒNƒVƒ‡ƒ“‚Æ’Pˆê‚Ì’l‚ÌŠÖ˜A‚ɑ΂µ‚ÄA
- ‚¨‚Ü‚¯‚Ì embed-xml ‘®«‚ª‚ ‚è‚Ü‚·B
- ƒfƒtƒHƒ‹ƒg‚Ì embed-xml="true" ‚Æݒ肵‚½ê‡A
- ŠÖ˜A‚·‚éƒGƒ“ƒeƒBƒeƒB(’lŒ^‚̃RƒŒƒNƒVƒ‡ƒ“)‚ÌXMLƒcƒŠ[‚ÍA
- ’¼ÚŠÖ˜A‚ðŠ—L‚·‚éƒGƒ“ƒeƒBƒeƒB‚ÌXMLƒcƒŠ[“à‚É–„‚ßž‚Ü‚ê‚Ü‚·B
- ”½‘΂ÉAembed-xml="false" ‚Æݒ肵‚½ê‡A
- ŽQÆ‚³‚ê‚鎯•ÊŽq‚Ì’l‚¾‚¯‚ª‘½d“x‚P‘¤‚ÌŠÖ˜A‚ɑ΂·‚éXML‚ÉŒ»‚êA
- ’Pƒ‚ɃRƒŒƒNƒVƒ‡ƒ“‚Í‚Ü‚Á‚½‚Œ»‚ê‚È‚‚È‚è‚Ü‚·B
+ コレクションã¨å˜ä¸€ã®å€¤ã®é–¢é€£ã«å¯¾ã—ã¦ã€
+ ãŠã¾ã‘ã® embed-xml 属性ãŒã‚ã‚Šã¾ã™ã€‚
+ デフォルト㮠embed-xml="true" ã¨è¨å®šã—ãŸå ´åˆã€
+ 関連ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£(値型ã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³)ã®XMLツリーã¯ã€
+ 直接関連を所有ã™ã‚‹ã‚¨ãƒ³ãƒ†ã‚£ãƒ†ã‚£ã®XMLツリー内ã«åŸ‹ã‚è¾¼ã¾ã‚Œã¾ã™ã€‚
+ å対ã«ã€embed-xml="false" ã¨è¨å®šã—ãŸå ´åˆã€
+ å‚ç…§ã•ã‚Œã‚‹è˜åˆ¥åã®å€¤ã ã‘ãŒå¤šé‡åº¦ï¼‘å´ã®é–¢é€£ã«å¯¾ã™ã‚‹XMLã«ç¾ã‚Œã€
+ å˜ç´”ã«ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã¯ã¾ã£ãŸãç¾ã‚Œãªããªã‚Šã¾ã™ã€‚
- ‚ ‚Ü‚è‚É‘½‚‚ÌŠÖ˜A‚ɑ΂µ‚Ä
- embed-xml="true" ‚Æ‚µ‚½‚Ü‚Ü‚É‚·‚é‚Ì‚Í’ˆÓ‚·‚ׂ«‚Å‚·B
- XML‚ÍzŠÂ‚ð‚¤‚Ü‚ˆµ‚¦‚Ü‚¹‚ñB
+ ã‚ã¾ã‚Šã«å¤šãã®é–¢é€£ã«å¯¾ã—ã¦
+ embed-xml="true" ã¨ã—ãŸã¾ã¾ã«ã™ã‚‹ã®ã¯æ³¨æ„ã™ã¹ãã§ã™ã€‚
+ XMLã¯å¾ªç’°ã‚’ã†ã¾ã扱ãˆã¾ã›ã‚“。
]]>
- ‚±‚Ì—á‚Å‚ÍAŽÀÛ‚Ìaccount‚̃f[ƒ^‚Å‚Í‚È‚A
- account‚Ìid‚̃RƒŒƒNƒVƒ‡ƒ“‚ð–„‚ßž‚Þ‚±‚Æ‚É‚µ‚Ü‚µ‚½B
- ‘±‚«‚ÌHQLƒNƒGƒŠ‚Å‚·F
+ ã“ã®ä¾‹ã§ã¯ã€å®Ÿéš›ã®accountã®ãƒ‡ãƒ¼ã‚¿ã§ã¯ãªãã€
+ accountã®idã®ã‚³ãƒ¬ã‚¯ã‚·ãƒ§ãƒ³ã‚’埋ã‚込むã“ã¨ã«ã—ã¾ã—ãŸã€‚
+ 続ãã®HQLクエリã§ã™ï¼š
- ‚±‚̂悤‚ȃf[ƒ^ƒZƒbƒg‚ð•Ô‚·‚Å‚µ‚傤
+ ã“ã®ã‚ˆã†ãªãƒ‡ãƒ¼ã‚¿ã‚»ãƒƒãƒˆã‚’è¿”ã™ã§ã—ょã†
@@ -219,9 +221,9 @@
]]>
- <one-to-many> ƒ}ƒbƒsƒ“ƒO‚Å
- embed-xml="true" ‚Æݒ肵‚½ê‡A
- ƒf[ƒ^‚Í‚±‚̂悤‚É‚È‚é‚Å‚µ‚傤B
+ <one-to-many> マッピングã§
+ embed-xml="true" ã¨è¨å®šã—ãŸå ´åˆã€
+ データã¯ã“ã®ã‚ˆã†ã«ãªã‚‹ã§ã—ょã†ã€‚
@@ -245,11 +247,11 @@
- XMLƒf[ƒ^‚ðˆµ‚¤
+ XMLデータを扱ã†
- XMLƒhƒLƒ…ƒƒ“ƒg‚ðAƒAƒvƒŠƒP[ƒVƒ‡ƒ““à‚ÅÄ“Ç‚Ýž‚Ý‚âXV‚ð‚µ‚Ä‚Ý‚Ü‚µ‚傤B
- ˆÈ‰º‚Å‚Ídom4j‚̃ZƒbƒVƒ‡ƒ“‚ðŽæ“¾‚·‚邱‚Æ‚Ås‚¢‚Ü‚·BF
+ XMLドã‚ュメントをã€ã‚¢ãƒ—リケーション内ã§å†èªã¿è¾¼ã¿ã‚„æ›´æ–°ã‚’ã—ã¦ã¿ã¾ã—ょã†ã€‚
+ 以下ã§ã¯dom4jã®ã‚»ãƒƒã‚·ãƒ§ãƒ³ã‚’å–å¾—ã™ã‚‹ã“ã¨ã§è¡Œã„ã¾ã™ã€‚:
- XMLƒx[ƒX‚̃f[ƒ^‚̃Cƒ“ƒ|[ƒg/ƒGƒNƒXƒ|[ƒg‚ðŽÀ‘•‚·‚邽‚ß‚ÉA
- Hibernate‚Ì replicate() ‘€ì‚ð‚±‚Ì‹@”\‚ðŒ‹‚Ñ‚Â‚¯‚é‚Ì‚Í
- ‹É‚ß‚Ä—LŒø‚Å‚·B
+ XMLベースã®ãƒ‡ãƒ¼ã‚¿ã®ã‚¤ãƒ³ãƒãƒ¼ãƒˆ/エクスãƒãƒ¼ãƒˆã‚’実装ã™ã‚‹ãŸã‚ã«ã€
+ Hibernateã® replicate() æ“作をã“ã®æ©Ÿèƒ½ã‚’çµã³ã¤ã‘ã‚‹ã®ã¯
+ 極ã‚ã¦æœ‰åŠ¹ã§ã™ã€‚
diff --git a/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml b/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml
index 1fe3fba20b..b2dcbfa5bf 100644
--- a/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml
+++ b/documentation/manual/ja-JP/src/main/docbook/legal_notice.xml
@@ -1,4 +1,4 @@
-
+