1. Javaãã¬ãŒã ã¯ãŒã¯ã®æŠå¿µãšã¯
Javaãã¬ãŒã ã¯ãŒã¯ãšã¯ãJavaã䜿çšããã¢ããªã±ãŒã·ã§ã³éçºãæ¯æŽããããã®æºåããããœãããŠã§ã¢ç°å¢ã®ããšãæããŸããåå©çšå¯èœãªæ±çšã³ã³ããŒãã³ã矀ã§ç¹ãæãããŠãããéçºè ãå®å¿ããŠå¿ èŠãªããžãã¹ããžãã¯ãéçºã«éäžã§ããç°å¢ãæäŸããŸãã
ãã¬ãŒã ã¯ãŒã¯ã®å©çšã¯éçºå¹çåäžãšå質ä¿èšŒã«å€§ãã«è²¢ç®ããŸãã
以äžã«ãã¬ãŒã ã¯ãŒã¯ã®æŠå¿µãJavaãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽãçš®é¡ãæ·±å ãããŠããããšã§ãJavaãã¬ãŒã ã¯ãŒã¯ã®æŠèŠ³ãç解ããŸãã
1.1 ãã¬ãŒã ã¯ãŒã¯ãšã¯
ãã¬ãŒã ã¯ãŒã¯ãšã¯ããæ çµã¿ããæå³ããŸãããœãããŠã§ã¢éçºãã¬ãŒã ã¯ãŒã¯ã¯ãéçºã«ãããæ§ã ãªç¹°ãè¿ããçãããããã¿ãŒã³ããç¹æ®ãªåé¡è§£æ±ºã¹ããŒã ãæäŸããäžè²«ããéçºãå¯èœã«ããŸãã
ãã¬ãŒã ã¯ãŒã¯ã«ã¯ã©ã€ãã©ãªãšã®éãããããŸããã©ã€ãã©ãªãåãªãé¢æ°ããšã«ãŸãšãããããã®ã§ããã®ã«å¯Ÿãããã¬ãŒã ã¯ãŒã¯ã¯ã¢ããªã±ãŒã·ã§ã³å šäœã®æ§é ãèŠå®ããŸãã
ãã¬ãŒã ã¯ãŒã¯ãå©çšããããšã§ãéçºè ã®ä»äºã¯å ·äœçãªããžãã¹ããžãã¯ãUIã®éçºã«åºç¯å²ãæ§ããããšãå¯èœã«ãªããŸãã
1.2 Javaãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽ
Javaãã¬ãŒã ã¯ãŒã¯ã¯ãä»ã®ããã°ã©ãã³ã°èšèªã®ãã¬ãŒã ã¯ãŒã¯ãšæ¯èŒããŠããžã§ããªãã¯ãªæ©èœãè±å¯ã§ããããšãç¹åŸŽã§ããããã¯Javaããšã³ã¿ãŒãã©ã€ãºç°å¢ã匷ãæèããŠèšèšãããŠããããã§ãã
Javaãã¬ãŒã ã¯ãŒã¯ã®ããäžã€ã®ç¹é·ã¯ããªãŒãã³ãœãŒã¹ã®ãã®ãå€ããšããããšã§ããããã«ãããéçºè ã¯ç¡æã§å¿çšç¯å²ãåºããœãªã¥ãŒã·ã§ã³ãå©çšããããšãã§ããŸãã
ãããã®ç¹æ§ã«ãããJavaãã¬ãŒã ã¯ãŒã¯ã¯äŒæ¥ã«ãšã£ãŠéçºã«å€å€§ãªå©äŸ¿æ§ãšã¡ãªããããããããŸãã
1.3 ãã¬ãŒã ã¯ãŒã¯ã®çš®é¡
Javaãã¬ãŒã ã¯ãŒã¯ã«ã¯æ§ã ãªçš®é¡ããããŸãããããã§ã¯ä»£è¡šçãªãã®ãšããŠãSpringãã¬ãŒã ã¯ãŒã¯ãããStrutsãããHibernateãã®3ã€ãæããŸãã
ãSpringãã¬ãŒã ã¯ãŒã¯ãã¯ã倧èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã·ã¹ãã éçºã«ç¹åããŠãããã³ã³ããŒãã³ãéã®äŸåæ§ã管çãããªãŒãã³ãœãŒã¹ã®è»œéã³ã³ããã§ãã
ãStrutsãã¯Webã¢ããªã±ãŒã·ã§ã³éçºã«ç¹åãããç¬èªã®ãã¬ãŒã³ããŒã·ã§ã³ãã¬ãŒã ã¯ãŒã¯ã§ãããHibernateãã¯æ°žç¶å±€ïŒããŒã¿ããŒã¹ãšã®æ¥ç¶éšåïŒãç°¡æã«éçºããããã®ãªãŒãã³ãœãŒã¹ã®ãã¬ãŒã ã¯ãŒã¯ã§ãã
1.4 Javaãã¬ãŒã ã¯ãŒã¯ã®éžæãã€ã³ã
Javaãã¬ãŒã ã¯ãŒã¯ãéžæããéã®éèŠãªãã€ã³ããšããŠããããžã§ã¯ãèŠæš¡ãéçºããã¢ããªã±ãŒã·ã§ã³ã®çš®é¡ãæ±ããããæ©èœããµããŒãã®ç¶æ³ãªã©ããããŸãã
äŸãã°ã倧èŠæš¡ãªãšã³ã¿ãŒãã©ã€ãºã¢ããªã±ãŒã·ã§ã³éçºãªããSpringãã¬ãŒã ã¯ãŒã¯ããäžæ¹ã§Webã¢ããªã±ãŒã·ã§ã³éçºã«åŒ·ã¿ããããStrutsããªã©ããã®çšéã«ãã£ãŠé©åãªãã¬ãŒã ã¯ãŒã¯ãéžã³ãŸãã
ãŸãããªãŒãã³ãœãŒã¹ã§ããã°ã掻çºãªã³ãã¥ããã£ãšå å®ããããã¥ã¡ã³ããŒã·ã§ã³ãããããšãéèŠãªéžæåºæºãšãªããŸãã
2. 代衚çãªJavaãã¬ãŒã ã¯ãŒã¯ã»Spring
ããã°ã©ãã³ã°èšèªJavaã®æã代衚çãªãã¬ãŒã ã¯ãŒã¯ã§ããSpringã«ã€ããŠãããã§ã¯è©³ãã解説ããŸããJavaã®ãã¬ãŒã ã¯ãŒã¯ãšããã°Springãæãç¥å床ãé«ããäŒæ¥ã®ã·ã¹ãã éçºã®çŸå Žã§ãå€çšãããŠããŸãããã®çç±ãšãªãç¹åŸŽãæ©èœãå ·äœçãªããã°ã©ãã³ã°ã®äŸããããŠãã®ã¡ãªãããšãã¡ãªããã«ã€ããŠèŠãŠãããŸãããã
2.1 Springãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽ
ãŸãäžçªã«æããããç¹åŸŽã¯ãSpringããªãŒãã³ãœãŒã¹ã§ããããšã§ãã誰ã§ãèªç±ã«äœ¿çšãããŸããã®ã³ãŒãã«ç®ãéãããšãå¯èœã§ããããã«ãããæ°å€ãã®ãšã³ãžãã¢ãã³ãŒãã®ä¿®æ£ãæ¹åãè¡ããé²åãç¶ããŠããŸãã
ãŸããSpringãã¬ãŒã ã¯ãŒã¯ã¯è»œéã§ãããããé«éã«åäœããŸããè² è·ããããã«å€§èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãéçºããããšãã§ããŸããããã«ãJavaèªäœããã©ãããã©ãŒã ã«äŸåããªãç¹æ§ãæã€ã®ã§ããããç¶æ¿ããSpringãã¬ãŒã ã¯ãŒã¯ããã©ã®ãã©ãããã©ãŒã ã§ãåäœããŸãã
ãããŠãæãéèŠãªç¹åŸŽã¯ãã¢ãžã¥ãŒã«åã§ããããšã§ããå¿ èŠãªéšåã ããéžãã§äœ¿çšããããšãã§ãããã®é«ãæè»æ§ãå€ãã®éçºè ããæ¯æãããŠããŸãã
2.2 Springãã¬ãŒã ã¯ãŒã¯ã®æ©èœäžèŠ§
Springãã¬ãŒã ã¯ãŒã¯ã¯ããã®ç¹åŸŽéãå€å²ã«æž¡ãæ©èœããããŸãããã®äžã§ãç¹ã«éèŠãªæ©èœãããã€ã玹ä»ããŸãã
IoCïŒInversion of ControlïŒã¯ããªããžã§ã¯ãã®å¶åŸ¡ããã¬ãŒã ã¯ãŒã¯ãè¡ããããããã°ã©ãã¯çŽç²ã«ããžãã¹ããžãã¯ã«éäžããããšãã§ããŸããããã«ãã£ãŠçç£æ§ãšå質ãåäžããŸãã
DAOïŒData Access ObjectïŒãçšããããšã«ãããããŒã¿ããŒã¹ã«ç¬ç«ããã³ãŒããæžãããšãå¯èœã«ãªããŸãããããã£ãæœè±¡åã®æ©èœã«ãããããã°ã©ã ã®å䜿çšæ§ãšå¯èªæ§ãåäžããŸãã
ããã«ãAOPïŒAspect Oriented ProgrammingïŒã¯æšªæçãªé¢å¿äºãã¢ãžã¥ãŒã«åããææ³ã§ãSpringãã¬ãŒã ã¯ãŒã¯ã§ã¯ã»ãã¥ãªãã£å¯Ÿçããã©ã³ã¶ã¯ã·ã§ã³ç®¡çã«æŽ»çšãããŠããŸãã
2.3 Springãã¬ãŒã ã¯ãŒã¯ãçšããããã°ã©ãã³ã°äŸ
Springãã¬ãŒã ã¯ãŒã¯ãå®éã«ã©ã®ããã«äœ¿çšããããç°¡åãªããã°ã©ãã³ã°äŸãèŠãŠãããŸãããã
ãŸããSpringãã¬ãŒã ã¯ãŒã¯ã®äœ¿çšãå§ããã«ã¯ã以äžã®ããã«ãããžã§ã¯ãã«Springã®jarãã¡ã€ã«ãè¿œå ããå¿ èŠããããŸãã
import org.springframework.context.ApplicationContext;
import org.springframework.context.annotation.AnnotationConfigApplicationContext;
次ã«ã以äžã®ããã«ããããŒã«@RestControllerã¢ãããŒã·ã§ã³ãè¿œå ããã¯ã©ã¹ãREST APIã®ã³ã³ãããŒã©ãŒã¯ã©ã¹ãšããŠèªèãããŸãã
@RestController
public class SpringBootHelloWorld {
@RequestMapping("/")
public String hello() {
return "Hello World from Spring Boot!";
}
}
ããã«ããã”Hello World from Spring Boot!”ãšããæååãååŸããREST APIãçæãããŸãã
2.4 Springãã¬ãŒã ã¯ãŒã¯ã®ã¡ãªãããšãã¡ãªãã
æåŸã«ãSpringãã¬ãŒã ã¯ãŒã¯ã®ã¡ãªãããšãã¡ãªããã«ã€ããŠèŠãŠãããŸããåãã¬ãŒã ã¯ãŒã¯ã«ã¯äžé·äžçãããçºãããããã®èŠä»¶ã«åãããŠéžæããããšãéèŠã§ãã
ãŸãã¯ã¡ãªããã«ã€ããŠã§ããå ã«è¿°ã¹ãéããSpringãã¬ãŒã ã¯ãŒã¯ã¯è»œéã§ãããé«éã«åäœããŸãããŸããã¢ãžã¥ãŒã«åã§ãããããå¿ èŠãªæ©èœã ãããããã³ã°ããŠäœ¿çšããããšãå¯èœã§ããããã«ããªãŒãã³ãœãŒã¹ã§ãããããäžçäžã®ããããããŒããã®ãã£ãŒãããã¯ãæ¹åãè¡ãããŠããŸãã
äžæ¹ããã¡ãªãããšããŠã¯ãåŠç¿ã³ã¹ããé«ãããšãæããããŸããç¹ã«åå¿è åãã®ãã¬ãŒã ã¯ãŒã¯ãšã¯èšãããåºæ¬çãªJavaã®ç¥èã ãã§ãªããSpringç¬èªã®èãæ¹ãèšèšãã¿ãŒã³ãç解ããå¿ èŠããããŸãããŸããå€æ©èœæ§ããã«èšå®ã管çãè€éã«ãªãåŸåããããŸãã
ãããããã®æ±ããäžåºŠç解ããã°ããã®åŒ·åãªæ©èœæ§ãšæè»æ§ããé£æ¥ã®éçºå¹çã®åäžãæåŸ ã§ããŸããSpringãã¬ãŒã ã¯ãŒã¯ã¯ãé·æçãªèŠç¹ããèŠãã°éåžžã«é åçãªéžæè¢ãšãããã§ãããã
3. 軜éJavaãã¬ãŒã ã¯ãŒã¯ã»Struts
Javaã§ã¢ããªã±ãŒã·ã§ã³ãéçºããéã«äžå®ã®å質ã確ä¿ããå¹ççã«äœæ¥ãé²ããããã«åºãå©çšããããã¬ãŒã ã¯ãŒã¯ã®äžã€ã«StrutsããããŸããããã§ã¯ãã®ç¹åŸŽã»æ©èœã»å©çšäŸã«ã€ããŠè©³ããèŠãŠãããŸãããã
Strutsã¯ãäžè²«ããæ§é ã§ãµãŒããŒãµã€ãã®Javaã¢ããªã±ãŒã·ã§ã³ãéçºããããã®ã軜éãªãã¬ãŒã ã¯ãŒã¯ã§ãã
ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ãšããŠãå šäžçã®Javaéçºè ããæ¯æãåãç¶ããŠããŸãã
3.1 Strutsãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽ
Strutsã®å€§ããªç¹åŸŽã®äžã€ãModel-View-Controller (MVC) ãã¶ã€ã³ãã¿ãŒã³ã®æ¡çšã§ããããã¯ãã¢ããªã±ãŒã·ã§ã³ã®éçºãå¹ççã«è¡ãããã®ãäžçš®ã®èšèšååã§ãããã³ãŒãã®åå©çšæ§ãšä¿å®æ§ãå€§å¹ ã«åäžãããŸãã
ãŸããStrutsã¯é«ãæè»æ§ãæã¡ã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ããå°èŠæš¡ãªãã®ãŸã§ãåºã察å¿ããŠããŸãã
ãŸãããã®ã·ã³ãã«ãªèšèšãšæ確ãªåœ¹å²åæ ã«ãããæ°ããéçºè ã§ã容æã«ç解ãåãçµãããšãã§ããŸãã
3.2 Strutsãã¬ãŒã ã¯ãŒã¯ã®æ©èœäžèŠ§
Strutsã¯ãéçºè ãæ±ããå€ãã®æ©èœãæäŸããŠããŸããããã«ã¯ããã©ãŒã æ€èšŒããã¡ã€ã«ã®ã¢ããããŒããããŠã³ããŒãããšã©ãŒãã³ããªã³ã°ãŸã§å€å²ã«ããããŸãã
ããã«ãXMLã«ããèšå®ãã¬ãŒã ã¯ãŒã¯ã®è³ªãé«ããããã®æ©èœãæäŸããŠããŸããããã«ãããè€éãªèšå®ãå¿ èŠãšããã¢ããªã±ãŒã·ã§ã³ãç°¡åã«å¯Ÿå¿ã§ããããã«ãªããŸãã
ãããã®æ©èœã掻çšããããšã§ãéçºè ã¯ã¢ããªã±ãŒã·ã§ã³ã®éçºã«éäžããããé«å質ãªè£œåãçæéã§å®çŸããããšãå¯èœã§ãã
3.3 Strutsãã¬ãŒã ã¯ãŒã¯ãçšããããã°ã©ãã³ã°äŸ
Strutsã䜿çšããããã°ã©ãã³ã°ã®äŸãšããŠã¯ãwebã«ããã顧客管çã·ã¹ãã ã®éçºãªã©ããããŸããããã«ã¯ãããŒç®¡çãããŒã¿ããªããŒã·ã§ã³ããŠãŒã¶ãŒçé¢ãšãã£ãæ©èœãäžè²«ããŠåãæ±ãããŸãã
ãã®ä»ã«ããæ å ±ç®¡çã·ã¹ãã ããåŠç¿ç®¡çã·ã¹ãã ãé»ååååŒãµã€ãçãããŒã¿ãäžå 管çãå¹ççã«éçšããã¢ããªã±ãŒã·ã§ã³ã«å¯ŸããŠStrutsãã¬ãŒã ã¯ãŒã¯ã¯é©ããŠããŸãã
ãã®ããã©ãŒãã³ã¹ã®é«ããšäžè²«æ§ãè©äŸ¡ãããå¹ åºãã¢ããªã±ãŒã·ã§ã³éçºã§æŽ»çšãããŠããŸãã
3.4 Strutsãã¬ãŒã ã¯ãŒã¯ã®ã¡ãªãããšãã¡ãªãã
Strutsã®ã¡ãªãããšããŠã¯ãå è¿°ã®éããMVCã¢ãã«ã®æ¡çšãããã®å€æ©èœæ§ãæããããŸããããã«ãããã³ãŒãåå©çšæ§ãä¿å®æ§ã®åäžãéçºã®å¹çåãå¯èœãšãªããŸãã
äžæ¹ããã¡ãªãããšããŠã¯ãåããŠäœ¿ãéçºè ã«ãšã£ãŠåŠç¿æ²ç·ãããæ¥ãªåŸåã«ããããšãæããããŸãããŸãã倧èŠæš¡ãªã¢ããªã±ãŒã·ã§ã³ãžã®é©çšã¯å®¹æã§ãããå°èŠæš¡ãªãããžã§ã¯ãã«ã¯ããéå°ãªæ©èœæ§ãšãªãå ŽåããããŸãã
ãããããã®åŸã®ä¿å®æ§ãå¯èªæ§ãèããã°ååãªäŸ¡å€ããããšãããŸããããã®åŒ·åãªæ©èœæ§ãšé«ãããã©ãŒãã³ã¹ããèŠãŠããåŠç¿ã³ã¹ãã¯åäºåã«ååã§ãããšèšããã§ãããã
4. ã¢ãã³ãªJavaãã¬ãŒã ã¯ãŒã¯ã»Play
è¿å¹Žãé«éã§å¹ççãªã¢ããªã±ãŒã·ã§ã³éçºãæšé²ããæå 端ã®æè¡ãšããŠãJavaãã¬ãŒã ã¯ãŒã¯ãPlayãã倧ããªæ³šç®ãéããŠããŸããã³ãŒãã®åå©çšæ§ãäžå¿ã«æ®ããªããããã·ã³ãã«ã§æå¿«ãªæ§é ãä¿ã¡ãé«ãããã©ãŒãã³ã¹ãçºæ®ããŸãã
Playã¯ãJava以å€ã«ãScalaãšã®äºææ§ãæã¡ããŠã§ãã¢ããªã±ãŒã·ã§ã³éçºãå§ããšããåç·ã§æŽ»èºã§ããã¢ãã³ãªãã¬ãŒã ã¯ãŒã¯ãšãªã£ãŠããŸãããã®éåæI/Oãšçµåããéçºé床ãšå質ã®åäžã«å€§ãã«è²¢ç®ããŸãã
ãã®ã»ã¯ã·ã§ã³ã§ã¯ããPlayãã¬ãŒã ã¯ãŒã¯ãã®ç¹åŸŽãæ©èœã䜿çšäŸããããŠããã®ã¡ãªãããšãã¡ãªããã«ã€ããŠã詳ãã解説ããŸãã
4.1 Playãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽ
Playãã¬ãŒã ã¯ãŒã¯ã®æ倧ã®ç¹åŸŽã¯ããã®é«éæ§ãšç¬ç¹ã®éçºäœéšãæäŸããããšã§ããéçºè ã¯ãäžåºŠèšå®ãçµããã°ããã°ã©ã ãå³åº§ã«çšŒåãããããšãå¯èœã§ãã¢ããªã±ãŒã·ã§ã³ã®å€æŽããªã¢ã«ã¿ã€ã ã§åæ ãããŸãã
ãŸããè¡ãè©°ãŸã£ããšãã®å¯Ÿå¿ã容æãªç¹ã倧ããªç¹åŸŽã§ãããšã©ãŒçºçå°ç¹ã瀺ããããå¯èœãªåé¡è§£æ±ºçãææ¡ãããªã©ãéçºè ããµããŒãããŸãã
ããã«ãRESTfulã¢ãŒããã¯ãã£ãæ¡çšããé«åºŠãªãã«ããã©ãã€ã ãµããŒããå®çŸããŠããŸããããã«ãããçŸä»£ã®ãŠã§ãéçºã«ãšã£ãŠæ¬ ãããªãç¹æ§ãåãå ¥ããŠããŸãã
4.2 Playãã¬ãŒã ã¯ãŒã¯ã®æ©èœäžèŠ§
Playãã¬ãŒã ã¯ãŒã¯ã«ã¯å€ãã®æ©èœãè£ åãããŠããŸãããŠã§ããµãŒãã¹ã®äœæããããŒã¿ããŒã¹ã¢ã¯ã»ã¹ãã»ãã¥ãªãã£å¯Ÿçãªã©ãã¢ããªã±ãŒã·ã§ã³åŒçºã«å¿ èŠãªèŠçŽ ãæã£ãŠããŸãã
å ·äœçã«ã¯ãORMïŒObject-Relational MappingïŒã®ãã¬ãŒã ã¯ãŒã¯ã§ããEbeanãšã®çµ±åããã«ãã€ã³ã®ãã¹ããã¬ãŒã ã¯ãŒã¯ãšããŠã®å©äŸ¿æ§ãã¢ã»ããã®å§çž®ããããã£ã±ãŒã·ã§ã³ãªã©ã®æ©èœãå«ãŸããŸãã
ãŸããPlayãã¬ãŒã ã¯ãŒã¯ã¯éåæåŠçã®å®çŸã«åªããŠãããéåæI/Oãæäœããããã®çµã¿èŸŒã¿ã©ã€ãã©ãªãæäŸããŸããããã«ãããé«ããã©ãŒãã³ã¹ãªã¢ããªã±ãŒã·ã§ã³ãå¹ççã«éçºããããšãå¯èœãšãªããŸãã
4.3 Playãã¬ãŒã ã¯ãŒã¯ãçšããããã°ã©ãã³ã°äŸ
Playãã¬ãŒã ã¯ãŒã¯ã䜿çšããããã°ã©ãã³ã°äŸãèããŠã¿ãŸããããäŸãã°ãåçŽãªHTTPãªã¯ãšã¹ããšã¬ã¹ãã³ã¹ã®åãæ±ãã§ãã
ãŸããHTTPãªã¯ãšã¹ãã管çããã³ã³ãããŒã©ãäœæãã察å¿ããã¬ã¹ãã³ã¹ãçæããŸãããããè¡ãããã«ãPlayãã¬ãŒã ã¯ãŒã¯ã®ã³ã³ãããŒã©ã¯ã©ã¹ã䜿çšããŸãã
次ã«ããã®ã³ã³ãããŒã©ã䜿çšããŠHTTPãªã¯ãšã¹ããåŠçãããã®çµæãã¬ã¹ãã³ã¹ãšããŠãŠãŒã¶ãŒã«è¿ãä»çµã¿ãäœããŸããããã«ãããPlayãã¬ãŒã ã¯ãŒã¯ã䜿çšããå¹ççã§ãã¯ãã«ãªãŠã§ãã¢ããªã±ãŒã·ã§ã³ã®éçºãå¯èœãšãªããŸãã
4.4 Playãã¬ãŒã ã¯ãŒã¯ã®ã¡ãªãããšãã¡ãªãã
Playãã¬ãŒã ã¯ãŒã¯ã®ã¡ãªãããšããŠã¯ããã®é«éæ§ããéçºè ãçŽæçã«éçºãè¡ãããããªèšèšææ³ãæããããŸãããŸããScalaãšJavaã®åæ¹ã§ã®éçºãå¯èœãªç¹ã倧ããªé åãšãªã£ãŠããŸãã
äžæ¹ããã¡ãªãããšããŠã¯ãJavaãšæ¯ã¹ãŠPlayãã¬ãŒã ã¯ãŒã¯ã®ã³ãã¥ããã£ããŸã å°ãããããæ å ±ãå°ãªããåŠç¿ãªãœãŒã¹ãå°ãªãç¹ãæããããŸãããŸããè€éãªãããžã§ã¯ãã«äœ¿çšããå Žåãé©å¿ããã®ãé£ããå ŽåããããŸãã
ããããã³ãã¥ããã£ãæé·ããã«ã€ããŠããããã®èª²é¡ãåŸã ã«æ¹åãããŠããããšã§ããããPlayãã¬ãŒã ã¯ãŒã¯ã¯ãçŸç¶ã§ãæ°å€ãã®äŒæ¥ã§æ¡çšãããæåãããŠã§ãã¢ããªã±ãŒã·ã§ã³ã®éçºã«äœ¿çšãããŠããŸãã
5. äŒæ¥ã§çšããããJavaãã¬ãŒã ã¯ãŒã¯ã»Hibernate
Javaã®äžçã§ã¯ãäŒæ¥ã§ããçšãããããã¬ãŒã ã¯ãŒã¯ã«HibernateããããŸãããã®Hibernateã¯ãJavaã®ORMãã¬ãŒã ã¯ãŒã¯ã®äžã€ã§ããããªã¬ãŒã·ã§ãã«ããŒã¿ããŒã¹ãšãªããžã§ã¯ãæåããã°ã©ãã³ã°ã®éã®ãããã³ã°ãè£å©ããŸãã
Hibernateã¯ãå€æã®äœæ¥è² è·ãæžå°ãããã¢ããªã±ãŒã·ã§ã³ãæŽã«æš¡å£å¯èœã«ããããšã§ãéçºè ã®å©ããšãªããã¬ãŒã ã¯ãŒã¯ã§ãããã®æ§è³ªãããäžå°ã§ã倧äŒæ¥ã§ãå¹ åºãèœãšããŠçšããããŠããŸãã
以äžã«ãHibernateãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽããå ·äœçãªããã°ã©ãã³ã°äŸãŸã§ã詳现ã«è§£èª¬ãããŠãŸãããŸãã
5.1 Hibernateãã¬ãŒã ã¯ãŒã¯ã®ç¹åŸŽ
Hibernateãã¬ãŒã ã¯ãŒã¯ã®æ倧ã®ç¹åŸŽã¯ãããŒã¿ããŒã¹ãšJavaãªããžã§ã¯ãã®ãããã³ã°æ©èœããããšããã§ããããã«ãããSQLã®ç¥èããªãéçºè ã§ãããŒã¿ããŒã¹æäœã容æã«ãªããŸãã
æŽã«ãããŒã¿ããŒã¹ã®çš®é¡ã«å·Šå³ãããã«äœ¿çšããããšãå¯èœã§ãåºç¯ãªããŒã¿ããŒã¹ããµããŒãããŠããç¹ãéèŠãªç¹åŸŽãšãªããŸãã
ãããŠããã©ã³ã¶ã¯ã·ã§ã³ç®¡çããã£ãã·ã¥æ©èœãæé©åãããSQLçæãªã©ã質ã®é«ãDBã¢ã¯ã»ã¹ãæäŸããŸãã
5.2 Hibernateãã¬ãŒã ã¯ãŒã¯ã®æ©èœäžèŠ§
Hibernateãã¬ãŒã ã¯ãŒã¯ã¯ã¢ããªã±ãŒã·ã§ã³éçºãæ¯æŽãããããæ§ã ãªæ©èœãåããŠããŸãããã®äžã§ãéèŠãªæ©èœã以äžã«åæããŸãã
ããŒã¿ããŒã¹ãšJavaãªããžã§ã¯ãã®ãããã³ã°ãSQLçºè¡ãããŒã¿ã®æ°žç¶åããã©ã³ã¶ã¯ã·ã§ã³ç®¡çããã£ãã·ã¥æ©èœãã¯ãšãªèšèªHQLã®æäŸâŠããããåºæ¬çãªæ©èœãšãªããŸãã
ãããã®æ©èœã«ãããããé«åºŠãªããã°ã©ãã³ã°ãå¯èœãšãªããŸãã
5.3 Hibernateãã¬ãŒã ã¯ãŒã¯ãçšããããã°ã©ãã³ã°äŸ
ããã§ã¯ãå®éã«Hibernateãã¬ãŒã ã¯ãŒã¯ãçšããããã°ã©ãã³ã°ã®äŸãæããŠã¿ãŸãã
ãŸãã¯ãEntityã¯ã©ã¹ã®äœæããããããŒã¿ããŒã¹ã®ããŒãã«ã«çžåœããŸãããããŠããã®ã¯ã©ã¹ãå©çšããŠããŒã¿ããŒã¹ãšã®æäœãè¡ããŸãã
泚æç¹ãšããŠã¯ãHibernateãã¬ãŒã ã¯ãŒã¯ã¯ã»ãã·ã§ã³ãšèšãåäœã§ããŒã¿ã®ååŸã»ä¿åã»æŽæ°ãªã©ãè¡ããŸããæ£ããã»ãã·ã§ã³ç®¡çããã£ãã·ã¥æ©èœãªã©ã掻çšããå¹ççãªDBã¢ã¯ã»ã¹ãå¯èœã«ããŸãã
5.4 Hibernateãã¬ãŒã ã¯ãŒã¯ã®ã¡ãªãããšãã¡ãªãã
Hibernateãã¬ãŒã ã¯ãŒã¯ã¯å€ãã®ã¡ãªããããããŸãããåæã«ãã¡ãªããããããŸãã
ã¡ãªãããšããŠã¯ãåè¿°ã®ããã«ããŒã¿ããŒã¹ãšJavaãªããžã§ã¯ãã®ãããã³ã°ã«ããDBæäœã容æã«ãªãããšãåºç¯ãªããŒã¿ããŒã¹å¯Ÿå¿ã§ããããšãé«åºŠãªDBã¢ã¯ã»ã¹æ©èœãåããŠããããšãæããããŸãã
ãã¡ãªãããšããŠã¯ããã¬ãŒã ã¯ãŒã¯ãšããŠã®åŠç¿ã³ã¹ãããæåŸ éãã®åäœãåŸãããã«ã¯é©åãªèšå®ã䜿ãæ¹ãå¿ èŠãšãªãç¹ã§ãããããããããã¯Hibernateãã¬ãŒã ã¯ãŒã¯ã®æ©èœãæ倧é掻çšããããã«ã¯é¿ããŠéããªã課é¡ãšãèšããŸãã
6. Javaãã¬ãŒã ã¯ãŒã¯ã®éžå®ã«ããã£ãŠ
Javaãã¬ãŒã ã¯ãŒã¯ã®éžæã¯ãããããã®ãããžã§ã¯ãã«å€§ããªåœ±é¿ãäžããŸããå©çšç®çããããžã§ã¯ãã®èŠæš¡ãããŒã ã®æè¡ã¬ãã«ãäºç®ãªã©ãæ§ã ãªæ¡ä»¶ãèæ ®ãéžå®ããããšãéèŠãšãªããŸããé©åãªãã¬ãŒã ã¯ãŒã¯ãéžã¶ããšã§ããããžã§ã¯ãã®å質åäžãéçºå¹çã®äžæã«ã€ãªãããŸãã
ããã§ã¯ããã¬ãŒã ã¯ãŒã¯éžææã«èæ ®ããã¹ããã€ã³ããšãããã¥ã©ãŒãªJavaãã¬ãŒã ã¯ãŒã¯ã®æ¯èŒã«ã€ããŠèª¬æããŸãã
6.1 ãããžã§ã¯ãã®èŠæš¡ãšãã¬ãŒã ã¯ãŒã¯ã®éžå®
ãã¬ãŒã ã¯ãŒã¯éžææã®æåã®èæ ®äºé ã¯ãããžã§ã¯ãã®èŠæš¡ã§ããå°èŠæš¡ãããžã§ã¯ãã§ã¯ãåŠç¿ã³ã¹ãã®å°ãªãã·ã³ãã«ãªãã¬ãŒã ã¯ãŒã¯ãéžã¶ããšãäžè¬çã§ããäžæ¹ã倧èŠæš¡ãããžã§ã¯ãã§ã¯ãæè»æ§ãšé«æ©èœããæ±ããããããšãå€ãã§ãã
ãŸãããããžã§ã¯ãæéãããŒã ã¡ã³ããŒã®ã¹ãã«ã»ãããããã¬ãŒã ã¯ãŒã¯éžæã«éèŠãªèŠçŽ ãšãªããŸãã
6.2 ãã¬ãŒã ã¯ãŒã¯éžå®æã®èæ ®äºé
ãã¬ãŒã ã¯ãŒã¯éžå®ã«ãããŠã¯ãä¿å®æ§ãæ¡åŒµæ§ãããã«ã¯ã³ãã¥ããã£ã®æŽ»çºããèæ ®ãã¹ãéèŠãªèŠçŽ ã§ãããããã¯ãã¬ãŒã ã¯ãŒã¯ã®é·æçãªä¿¡é Œæ§ãšçŽçµããŸãã
ãŸããæçãããã¬ãŒã ã¯ãŒã¯ã¯å€ãã®ãŠãŒã¶ãŒãããã£ãŒãããã¯ãåŸããããã°ãã»ãã¥ãªãã£äžã®åé¡ãæ©æã«çºèŠã»å¯Ÿå¿ããããããšããã¡ãªããããããŸãã
6.3 ãã¬ãŒã ã¯ãŒã¯ã®åŠç¿ã³ã¹ã
ãã¹ãŠã®ãã¬ãŒã ã¯ãŒã¯ãå°å ¥çŽåŸã«é«ãããã©ãŒãã³ã¹ãçºæ®ããããã§ã¯ãããŸãããåŠç¿ã³ã¹ããéžå®æã«ã¯èæ ®ã«å ¥ããã¹ãã§ãã
å°å ¥ã決å®ããåŸã«ããã®äœ¿ãæ¹ãç¿åŸããã«ã¯æéãšãªãœãŒã¹ãå¿ èŠãšãªããŸããæ±çšæ§ã®é«ããã¬ãŒã ã¯ãŒã¯ãããã¥ã¡ã³ããŒã·ã§ã³ãå å®ããŠãããã®ã¯ãåŠç¿ã³ã¹ããæããããã§æå©ã§ãã
6.4 ãã¬ãŒã ã¯ãŒã¯éã®æ¯èŒ
æåŸã«ããã¬ãŒã ã¯ãŒã¯éã§æ©èœãæ§èœãæ¯èŒããããšãéèŠã§ããSpringãStrutsãPlayãªã©ãç®çã«åãããŠæé©ãªãã®ãéžã³ãŸãããã
ãã¬ãŒã ã¯ãŒã¯ã®æ©èœã ãã§ãªãã䜿ãæããããã©ãŒãã³ã¹ãæ¯èŒããããšã倧åã§ããããããã®ãã¬ãŒã ã¯ãŒã¯ã®ç¹æ§ãç解ãããããžã§ã¯ãã«æé©ãªãã®ãéžãã§ãã ããã
åèæç®
Javaãã¬ãŒã ã¯ãŒã¯ã®çš®é¡ãå€ãååšããçŸåšãã©ã®ãã¬ãŒã ã¯ãŒã¯ã䜿çšããã®ãè¯ãã®...