Anyframe Core CHANGELOG ========================== http://www.anyframejava.org Changes in version 3.2.1 (2009-06-09) ------------------------------------- * ¼Ò½º ÄÚµå ¹× Å×½ºÆ® ÄÚµå º¯°æ - QueryService ±â´É Ãß°¡¿¡ µû¸¥ Å×½ºÆ® ÄÚµå Ãß°¡ - QueryService¸¦ °ÅÄ¡Áö ¾Ê°í Á÷Á¢ÀûÀ¸·Î PagingJdbcTemplate ¶Ç´Â PagingNamedParamJdbcTemplateÀ» »ç¿ëÇÏ´Â °æ¿ì µ¥ÀÌÅÍ Á¢±Ù ·ÎÁ÷ 󸮸¦ Áö¿øÇϱâ À§ÇØ ÀϺΠ¸Þ¼Òµå Ãß°¡ ¹× modifier º¯°æ . PagingJdbcTemplate - public List query(String sql, PreparedStatementSetter pss , RowMapper rowMapper, PaginationVO context) ¸Þ¼Òµå Ãß°¡ . PagingJdbcTemplate - executeCountSQL method public À¸·Î ¼öÁ¤ . PagingNamedParamJdbcTemplate - public List query(String sql, Map data, RowMapper rowMapper , PaginationVO paginationVO) ¸Þ¼Òµå Ãß°¡ - ´ë·®ÀÇ µ¥ÀÌÅÍ °Ç¼ö¸¦ ó¸®ÇÒ ¼ö ÀÖµµ·Ï Çϱâ À§ÇØ PaginationVO Ŭ·¡½º ³»¿¡ Á¤ÀÇµÈ recordCountÀÇ Å¬·¡½º ŸÀÔÀ» int¿¡¼­ longÀ¸·Î º¯°æ * ÂüÁ¶ ¶óÀ̺귯¸® º¯°æ - ±âÁ¸ÀÇ aspectjrt-1.5.4.jar ÆÄÀÏÀÌ aspectjrt-1.6.4.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ aspectjtools-1.6.4.jar ÆÄÀÏÀÌ aspectjtools-1.6.4.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ aspectjweaver-1.6.4.jar ÆÄÀÏÀÌ aspectjweaver-1.6.4.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ commons-dbcp-1.2.1.jar ÆÄÀÏÀÌ commons-dbcp-1.2.2.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ commons-logging-1.0.4.jar ÆÄÀÏÀÌ commons-logging-1.1.1.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ commons-pool-1.3.jar ÆÄÀÏÀÌ commons-pool-1.4.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ hibernate-3.2.6.ga.jar ÆÄÀÏÀÌ hibernate-3.3.1.GA.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ infrared-agent-2.5.BETA.jar ÆÄÀÏÀÇ ¹ö±×¸¦ °³¼±ÇÑ infrared-agent-servlet-all-2.5.BETA.jar ÆÄÀÏ·Î º¯°æ - impala-build-1.0M3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - impala-command-1.0M3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - impala-core-1.0M3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - impala-interactive-1.0M3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - impala-jmx-1.0M3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - impala-web-1.0M3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - appfuse-data-common-2.0.2.jar ÆÄÀÏÀÌ Ãß°¡µÊ - appfuse-service-2.0.2.jar ÆÄÀÏÀÌ Ãß°¡µÊ - appfuse-spring-2.0.1.warpath.jar ÆÄÀÏÀÌ Ãß°¡µÊ - hibernate-annotations-3.4.0.GA.jar ÆÄÀÏÀÌ Ãß°¡µÊ - hibernate-commons-annotations-3.1.0.GA.jar ÆÄÀÏÀÌ Ãß°¡µÊ - javassist-3.8.0.GA.jar ÆÄÀÏÀÌ Ãß°¡µÊ - spring-agent-2.5.6.jar ÆÄÀÏÀÌ Ãß°¡µÊ - spring-aspects-2.5.6.jar ÆÄÀÏÀÌ Ãß°¡µÊ - spring-modules-validation-0.7.jar ÆÄÀÏÀÌ Ãß°¡µÊ - org.aspectj.matcher-1.6.4.jar ÆÄÀÏÀÌ Ãß°¡µÊ - adapter-core-1.2.jar ÆÄÀÏÀÌ Ãß°¡µÊ - beanlib-5.0.1beta.jar ÆÄÀÏÀÌ Ãß°¡µÊ - beanlib-hibernate-5.0.1beta.jar ÆÄÀÏÀÌ Ãß°¡µÊ - hibernate-util-1.2.jar ÆÄÀÏÀÌ Ãß°¡µÊ - jboss-serialization-1.0.1.GA.jar ÆÄÀÏÀÌ Ãß°¡µÊ - trove-1.0.2.jar ÆÄÀÏÀÌ Ãß°¡µÊ - xstream-1.3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - ojdbc14.jar ÆÄÀÏ »èÁ¦µÊ * Ãß°¡µÈ ±â´É - Generic TypeÀ» ÅëÇØ POJO¿¡ ´ëÇÑ ±âº» CRUD ±â´ÉÀ» ¼öÇàÇÏ´Â ¼­ºñ½º Ŭ·¡½ºµéÀ» Á¦°øÇϸç QueryService ȤÀº Hibernate/JPAÀ» »ç¿ëÇÑ DAO Ŭ·¡½ºµéµµ ÇÔ²² Á¦°ø(JDK 1.5 ÀÌ»óÀÇ È¯°æ¿¡¼­ »ç¿ë °¡´É) - WAS Àç±âµ¿ ¾øÀÌ Å¬·¡½º³ª JAR ÆÄÀÏ ´ÜÀ§ÀÇ Dynamic Reloading ±â´ÉÀ» Á¦°øÇÏ´Â ¼­ºñ½º°¡ Ãß°¡µÊ(JDK 1.5 ÀÌ»óÀÇ È¯°æ¿¡¼­ »ç¿ë °¡´É) - QueryService : DBMS À¯ÇüÀÌ ¾ËƼº£À̽ºÀÎ °æ¿ì ÆäÀÌ¡ 󸮸¦ À§ÇÑ SQL Generator Ãß°¡ - Query ¼­ºñ½º¸¦ ÅëÇØ Á¶È¸¹® ¼öÇà °á°ú¸¦ ƯÁ¤ °´Ã¼¿¡ ´ãÀ» ¶§, Ä®·³¸íÀ» ¸ÅÇνÃ۱â À§ÇÑ ¼Ó¼ºÀ¸·Î mappingStyle Ãß°¡ (isCamelCaseÀÇ °æ¿ì camel-case Àû¿ë ¿©ºÎ¸¸À» ÆÇº°ÇÒ ¼ö ÀÖÀ¸³ª mappingStyleÀº camel, lower, upper, none Áß ¼±Åà °¡´É) - QueryService : VO °´Ã¼ ³»¿¡ ¶Ç´Ù¸¥ VO°¡ Æ÷ÇԵǾî ÀÖÀ» °æ¿ì Result Mapping ó¸® Áö¿ø - PagingJdbcTemplate¿¡ maxFetchSize ¼Ó¼º°ªÀ» ºÎ¿©ÇÑ °æ¿ì Àüü Á¶È¸ÇÑ µ¥ÀÌÅÍÀÇ °Ç¼ö°¡ maxFetchSizeº¸´Ù Å« °æ¿ì Exception ó¸®ÇÏ°Ô ÇÔÀ¸·Î½á Äڵ忡 ¸¹Àº °Ç¼öÀÇ Á¶È¸ ¼öÇà½Ã fetch count Á¦¾à±â´É Ãß°¡ * ÇØ°áµÈ À̽´ ¸ñ·Ï [CORE-115] Á¶È¸ Äõ¸®¼­ºñ½º ÀÌ¿ë½Ã ·Î±ë ¹®Á¦ [CORE-114] Äõ¸®¼­ºñ½º¿¡¼­ ResultµÇ´Â ۰ªÀÇ Å¸ÀÔ¿¡ ´ëÇÑ È®Àå ¿äû [CORE-113] Äõ¸®¼­ºñ½º mapping ÆÄÀϳ» velocity ¹®¹ý ¹®ÀÇ [CORE-112] ¾ËƼº£À̽º¸¦ À§ÇÑ PagingSqlGenerator Ãß°¡ ¿äû [CORE-111] QueryService batchUpdate return °ªÀÌ -2ÀÎ ¹®Á¦ [CORE-108] Query ¼­ºñ½º¸¦ ÅëÇÑ ¸ñ·Ï Á¶È¸½Ã ºÒÇÊ¿äÇÑ ·ÎÁ÷ ¼öÇà [CORE-107] QueryService ÆäÀÌ¡ ó¸® ·ÎÁ÷ ¼öÁ¤ [CORE-106] QueryService È®Àå JdbcTemplate ±â´É Ãß°¡ ¿äû [CORE-104] QueryService Result Mapping ¼öÇà½Ã Result Class ³»¿¡ Á¤ÀÇµÈ VO À¯ÇüÀÇ ¼Ó¼º ó¸® Áö¿ø Changes in version 3.2.0 (2009-03-06) ------------------------------------- * ¼Ò½º ÄÚµå ¹× Å×½ºÆ® ÄÚµå º¯°æ - QueryService, ExtendedQueryService ÅëÇÕ ¹× ÄÚµå ¸®ÆÑÅ丵 ¼öÇà . QueryService ¼Ó¼º Á¤ÀÇ ¹æ¹ý º¯°æ . jdbcTemplate, pagingSQLGenerator, lobHandler µîÀÇ Å¬·¡½º ÆÐŰÁö º¯°æ . anyframe.core.query.impl.ExtendedQueryServiceImpl Á¦°Å (anyframe.core.query.impl.QueryServiceImpl·Î ´ëüÇÏ¿© »ç¿ë) . anyframe.core.query.impl.util.PagingJdbcTemplate -> anyframe.core.query.impl.jdbc.PagingJdbcTemplate·Î ÆÐŰÁö º¯°æ . anyframe.core.query.impl.util.PagingNamedParamJdbcTemplate -> anyframe.core.query.impl.jdbc.PagingNamedParamJdbcTemplate·Î ÆÐŰÁö º¯°æ . anyframe.core.query.impl.SQLLoader -> anyframe.core.query.impl.config.loader.SQLLoader·Î ÆÐŰÁö º¯°æ . DBMS À¯Çüº° PagingSQLGenerator Ŭ·¡½ºÀÇ ÆÐŰÁö°¡ anyframe.core.query.impl.util¿¡¼­ anyframe.core.query.impl.jdbc.generator·Î º¯°æ . pageIndex=0 ¶Ç´Â pageSize=0ÀÏ °æ¿ì ÆäÀÌÁöÀÌ Ã³¸®°¡ µÇÁö ¾Ê°í Àüü µ¥ÀÌÅͰ¡ Á¶È¸µÊ. . velocityPropsFilename ¼Ó¼º Á¤ÀÇÇÏÁö ¾ÊÀ» °æ¿ì velocity ·Î±× ÆÄÀÏ »ý¼ºÇÏÁö ¾ÊÀ½. . HSQLDB¿ë SQLGenerator Ãß°¡ . ¸ÅÇÎ XML ÆÄÀÏ¿¡ ´ëÇÑ Dynamic Reload Áö¿ø (JAR ÆÄÀÏ ³»¿¡ Æ÷ÇÔµÈ XML Á¦¿Ü) . ExtendedQueryService, SQLService, SearchService Ŭ·¡½º Á¦°Å . Áߺ¹ ±â´É ¹× »ç¿ëµÇÁö ¾Ê´Â ±â´É Á¦°Å µî - »ó¿ë X-Internet Á¦Ç° ¿¬°è¸¦ À§ÇÑ QueryService È®Àå ±â´É º¸¿Ï ¹× ½ÇÇàÀ» À§ÇÑ Å×½ºÆ® ÄÚµå Ãß°¡ . Ç¥ÁØ ¸í¸í±ÔÄ¢¿¡ µû¶ó MIPSQLService, GauceSQLService¸¦ MiPQueryService, GauceQueryService·Î º¯°æ . Nitobi ÄÄÆ÷³ÍÆ® ¿¬°è¸¦ À§ÇÑ QueryService È®ÀåÆÇ Á¦°Å . QueryService ¹èÆ÷ ÆÄÀÏ ³»¿¡ Æ÷ÇԵǾî ÀÖ´Â Áߺ¹ Ŭ·¡½º Á¦°Å . jdbcTemplate, pagingSQLGenerator, lobHandler µîÀÇ Å¬·¡½º ÆÐŰÁö º¯°æ . anyframe.core.query.ria ÇÁ·ÎÁ§Æ®¸¦ Á¦Ç°º°·Î ÇÁ·ÎÁ§Æ®·Î ºÐ¸® . JavaDoc º¸¿Ï µî - QueryService¸¦ º¸´Ù Æí¸®ÇÏ°Ô »ç¿ëÇÒ ¼ö ÀÖµµ·Ï AbstractDAO Ŭ·¡½º Á¦°ø (ExtendedQueryService¿¡¼­ Á¦°øÇÏ´ø AbstractDAO ´ë½Å »ç¿ë) - QueryService Refactoring °á°ú¸¦ ±â¹ÝÀ¸·Î Å×½ºÆ® ÄÚµå º¸¿Ï ¹× Ãß°¡ - Transaction ¼­ºñ½º¸¦ ÀÌ¿ëÇÑ ¼±¾ðÀû/ÇÁ·Î±×·¥Àû Æ®·£Àè¼Ç °ü¸® Å×½ºÆ® ÄÚµå Ãß°¡ * ÂüÁ¶ ¶óÀ̺귯¸® º¯°æ - ±âÁ¸ÀÇ Spring Framework 2.5.2¸¦ 2.5.6À¸·Î ¹öÀü ¾÷±×·¹À̵å - Dynamic Query »ý¼º½Ã Orbroker È®Àå Ŭ·¡½º°¡ ¾Æ´Ñ Velocity¸¦ Á÷Á¢ »ç¿ëÇϵµ·Ï ·ÎÁ÷À» º¯°æÇÔÀ¸·Î½á anyframe.osgi.net.sourceforge.orbroker-2.0.3.jar Á¦°Å - ºÒÇÊ¿äÇÑ ·Î±× ¸Þ½ÃÁö¸¦ ³²±â´Â slf4j-jdk14-1.5.3.jar ÆÄÀÏ Á¦°ÅµÊ - ±âÁ¸ÀÇ quartz-1.5.0.jar ÆÄÀÏÀÌ quartz-1.6.4.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ commons-beanutils-1.7.0.jar ÆÄÀÏÀÌ commons-beanutils-1.8.0.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ commons-digester-1.7.jar ÆÄÀÏÀÌ commons-digester-1.8.jarÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - Apache CXF ¹öÀüÀ» ±âÁ¸ÀÇ 2.1.1¿¡¼­ 2.1.3À¸·Î ¹öÀü ¾÷±×·¹À̵åÇÔÀ¸·Î½á ÂüÁ¶ ¶óÀ̺귯¸®µéÀÇ ¹öÀü º¯°æ ¹× Ãß°¡(¾Æ·¡ Ç׸ñµé¿¡ ÇØ´ç) - ±âÁ¸ÀÇ cxf-2.1.1.jar, cxf-manifest-2.1.1.jar ÆÄÀÏÀÌ cxf-2.1.3.jar, cxf-manifest-2.1.3.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ jaxb-impl-2.1.6.jar ÆÄÀÏÀÌ jaxb-impl-2.1.7.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ jaxb-xjc-2.1.6.jar ÆÄÀÏÀÌ jaxb-xjc-2.1.7.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ jsr311-api-0.6.jar ÆÄÀÏÀÌ jsr311-api-0.8.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ saaj-impl-1.3.jar ÆÄÀÏÀÌ saaj-impl-1.3.2.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ velocity-1.4.jar ÆÄÀÏÀÌ velocity-1.5.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ wsdl4j-1.6.1.jar ÆÄÀÏÀÌ wsdl4j-1.6.2.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ wstx-asl-3.2.4.jar ÆÄÀÏÀÌ wstx-asl-3.2.6.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ xalan-2.7.0.jar ÆÄÀÏÀÌ xalan-2.7.1.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - serializer-2.7.1.jar ÆÄÀÏÀÌ Ãß°¡µÊ * Ãß°¡µÈ ±â´É - ±âÁ¸ ExtendedQueryService¿¡¼­ Á¦°øÇÏ´ø ±â´ÉÀ» QueryService ³»·Î ÅëÇÕ (Named Parameter 'vo' »ç¿ë, AbstractDAO Ŭ·¡½º µî) - Á¶È¸ Äõ¸®¹® ¼öÇà °á°ú¸¦ QueryService¸¦ ÅëÇØ ÀÚµ¿ ó¸®ÇÏÁö ¾Ê°í, »ç¿ëÀÚ°¡ º°µµ Á¤ÀÇÇÑ ResultSetMapper¸¦ ÅëÇØ ó¸®ÇÒ ¼ö ÀÖµµ·Ï Áö¿ø * ÇØ°áµÈ À̽´ ¸ñ·Ï [CORE-99] SQL Dynamic reload Áß Watcher rebuild ·ÎÁ÷ º¸¿Ï [CORE-94] ResultSetMapper ±â´É Áö¿ø [CORE-93] sqlload dynamic="true" À϶§ frequency°¡ Á¦´ë·Î ¼ÂÆÃµÇÁö ¾Ê´Â Çö»ó Á¶Ä¡ [CORE-92] MiPQueryService»ç¿ë ½Ã Mapping XMLÆÄÀÏ¿¡ Á¤ÀÇ µÇ¾î ÀÖ´Â ÆÄ¶ó¹ÌÅͰ¡ Dataset¿¡ ¾øÀ» °æ¿ì NullPointerException ¹ß»ý ó¸® [CORE-90] QueryService¿¡¼­ ¸¶Áö¸· ÀÌÀü ÆäÀÌÁö Á¶È¸½Ã ¸¶Áö¸· ÆäÀÌÁö°¡ Á¶È¸µÇ´Â Çö»ó Á¶Ä¡ [CORE-88] findXXX() ¸Þ¼Òµå¸¦ ÅëÇØ ÁúÀÇ ¼öÇà½Ã pageSize °ªÀ» ¼ÂÆÃÇÏÁö ¾Ê¾ÒÀ» °æ¿ì ¿¡·¯ Á¶Ä¡ [CORE-86] Extended QueryService »ç¿ë ½Ã ÁÖ¼®¿¡ : ÀÖÀ¸¸é ¹ß»ýÇÏ´Â ¿¡·¯ Á¶Ä¡ [CORE-81] Apache CXF »ç¿ë ½Ã Schema name conflict in collection Error ¹ß»ýÇÏ´Â ¹®Á¦ ÇØ°á [CORE-82] MavenÀ» »ç¿ëÇÏ¿© Å×½ºÆ®ÄÉÀ̽º ¼öÇà ½Ã RESTful Web Service È£Ã⠽à µ¥ÀÌÅͰ¡ ¼­¹ö¿¡ Àü´ÞµÇÁö ¾Ê´Â ¿¡·¯ ÇØ°á . Dynamic Query ¹®¿¡ #foreach ±¸¹®ÀÌ Æ÷ÇԵǾî ÀÖÀ» °æ¿ì Statement »ý¼º½ÃŰÁö ¸øÇÏ´Â ÀáÀç ¿À·ù Á¶Ä¡ [CORE-80] MipSQLService »ç¿ë Áß StringÀ» Á¤¼öÇüÅ ÀÚµ¿ º¯È¯ ó¸® [CORE-79] velocityPropsFilename ¼Ó¼ºÀÌ Á¤ÀÇµÈ °æ¿ì ÇØ´ç À§Ä¡¿¡ Velocity ·Î±× ÆÄÀÏ »ý¼ºÇϵÇ, classpath ¶Ç´Â »ó´ë °æ·Î¸¦ ÀÌ¿ëÇÏ¿© Á¤ÀÇÇÒ ¼ö ÀÖµµ·Ï º¯°æÇÔ. ¶ÇÇÑ velocityPropsFilename ¼Ó¼ºÀÌ Á¤ÀǵÇÁö ¾ÊÀº °æ¿ì Velocity ·Î±× ÆÄÀÏ »ý¼ºÇÏÁö ¾Êµµ·Ï ÇÔ. [CORE-78] mySQL µ¥ÀÌÅÍ º£À̽º »ç¿ë½Ã create(VO°´Ã¼) »ç¿ë½Ã null °ú '' ÀÇ Â÷ÀÌ·Î ÀÎÇÑ ¿À·ù Á¶Ä¡ [CORE-77] Apache CXF¸¦ »ç¿ëÇÏ¿© À¥¼­ºñ½º »ç¿ë ½Ã Marshalling Error ¹ß»ýÇÏ´Â ¹®Á¦ ÇØ°á [CORE-75] MIPSQLService »ç¿ëÁß update½Ã Dataset ConstColumn °ª »ç¿ë ¾ÈµÇ´Â ¹®Á¦ Á¶Ä¡ [CORE-74] MIPSQLService »ç¿ë½Ã QueryId ¾øÀ» ¶§ À߸øµÈ ¿¡·¯ ¸Þ½ÃÁö°¡ ¹ß»ýÇÏ´Â ¹®Á¦ ÇØ°á [CORE-73] Jeus JDNI DataSoruce »ó¿¡¼­ DriverSpy »ç¿ëÇϱâ À§ÇÑ ¹æ¹ýÀ» ¸Å´º¾ó ³»¿¡ Ãß°¡ ±â¼ú [CORE-71] velocity.log ÆÄÀÏ À§Ä¡ º¯°æ¿¡ ´ëÇÑ ³»¿ë ¸Å´º¾ó ³»¿¡ ±â¼ú [CORE-70] MIPlatform rowcount°¡ 0Àΰæ¿ì Çì´õ Á¤º¸°¡ »ç¶óÁö´Â Çö»ó Á¶Ä¡ [CORE-69] JNDI DataSource (Jeus)¿¡¼­ DriverSpy¸¦ »ç¿ëÇϱâ À§ÇÑ ¹æ¹ý ¸Å´º¾ó¿¡ »ó¼¼ ±â¼ú [CORE-68] SQLLoader°¡ ã¾Æ³½ SQL °³¼ö°¡ Á¦´ë·Î Ç¥½ÃµÇµµ·Ï Á¶Ä¡ [CORE-67] TableIdGenerationService¿¡¼­ ResultSetÀ» CloseÇϵµ·Ï Á¶Ä¡ [CORE-66] MIPSQLService ¿¡¼­ queryId¸¦ ãÁö ¸øÇϴ°æ¿ì NullPointerException ¹ß»ý ¿À·ù Á¶Ä¡ [CORE-65] OraclePagingSQLGenerator »ç¿ë½Ã SQL ¿¡·¯ ¹ß»ý Á¶Ä¡ [CORE-64] Oracle RefCursor ¸®ÅÏ ¿À·ù Á¶Ä¡ [CORE-63] QueryService Refactoring [CORE-62] HSQL DB¿¡ ¸Â´Â SQL Generator »ý¼º [CORE-59] DB2 ¿ëÀ¸·Î ¸¸µé¾îÁø SQLGenerator ¿¡ ´ëÇÑ ¿À·ù È®ÀÎ [CORE-58] QueryServiceÀÇ ¸ÅÇÎ XML ÆÄÀÏÀÌ JAR ³»¿¡ Æ÷ÇԵǾî ÀÖÀ» °æ¿ì ¸ÅÇÎ XML ÆÄÀÏ ÀÎ½Ä [CORE-57] Page Navigator Tag »ç¿ë½Ã PageUnit¿¡ ´ëÇÑ À½¼ö ó¸® [CORE-56] DBMS°¡ DB2ÀÏ °æ¿ì QueryService ½ÇÇàÀ» À§ÇÑ SQLGenerator Áö¿ø Changes in version 3.1.0 (2008-09-25) ------------------------------------- * Anyframe Core ±â´É¿¡ Hibernate°ú Spring Security/Remoting ±×¸®°í Web Services ±â´ÉÀÌ Ãß°¡µÊ * ¼Ò½º ÄÚµå ¹× Å×½ºÆ® ÄÚµå º¯°æ - Hibernate, Spring Remoting, Web Services ½ÇÇàÀ» À§ÇÑ Å×½ºÆ® ÄÚµå Ãß°¡ - Anyframe Portal¿¡ anyframe-service-2.0.xsd, anyframe_core_query_mapping.dtd ÆÄÀÏÀ» µî·ÏÇÔÀ¸·Î½á, ºê¶ó¿ìÀú¸¦ ÅëÇØ XSD ¹× DTD ÆÄÀÏ Á¶È¸ °¡´ÉÇϵµ·Ï ó¸®. ÀÌ·Î ÀÎÇØ XSD ¹× DTD ÆÄÀÏ ¼±¾ð ºÎºÐ º¯°æ http://www.sds.samsung.com/schema/service/anyframe-service-2.0.xsd -> http://www.anyframejava.org/schema/service/anyframe-core-service-2.0.xsd http://www.sds.samsung.co.kr/anyframe/anyframe_core_query_mapping.dtd -> http://www.anyframejava.org/dtd/anyframe-core-query-mapping-3.1.dtd - Hibernate¸¦ WrappingÇÏ´Â ICommonService Á¦°ÅµÇ°í ¼ø¼öÇÏ°Ô Hibernate API¸¦ ÀÌ¿ëÇÏ¿© °³¹ßÇÒ ¼ö ÀÖµµ·Ï °¡À̵åÇÔ * ÂüÁ¶ ¶óÀ̺귯¸® º¯°æ - spring-security-acl-2.0.3.jar, spring-security-core-2.0.3.jar, spring-security-core-tiger-2.0.3.jar Ãß°¡µÊ - »ç¿ëÇÏÁö ¾Ê´Â mx4j-3.0.1.jar ÆÄÀÏ Á¦°ÅµÊ - ±âÁ¸ÀÇ hibernate-3.1.jar ÆÄÀÏÀÌ hibernate-3.2.6.ga.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ hsqldb-1.8.0.4.jar ÆÄÀÏÀÌ hsqldb-1.8.0.10.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - ±âÁ¸ÀÇ slf4j-api-1.4.3.jar, slf4j-log4j12-1.4.3.jar ÆÄÀÏÀÌ slf4j-api-1.5.3.jar, slf4j-log4j12-1.5.3.jar ÆÄÀÏ·Î ¾÷±×·¹À̵åµÇ°í slf4j-jdk14-1.5.3.jar ÆÄÀÏÀÌ Ãß°¡µÊ - ±âÁ¸ÀÇ log4jdbc3-1.1.jar ÆÄÀÏÀÇ ¹öÀü ¾÷±×·¹À̵å(½ÇÁ¦ Ŭ·¡½ºµéÀÇ ¹öÀüÀÌ 1.1beta1·Î ¾÷±×·¹À̵åµÇ¾úÀ¸³ª ÆÄÀϸíÀº µ¿ÀÏÇÔ) - ±âÁ¸ÀÇ antlr-2.7.5H3.jar ÆÄÀÏÀÌ antlr-2.7.6.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å - Web Services ±â´ÉÀ» À§ÇØ Apache CXF¿¡¼­ ÂüÁ¶ÇÏ´Â ¶óÀ̺귯¸®µéÀÌ Ãß°¡µÊ * Ãß°¡µÈ ±â´É - ÀÔ·Â Á¶°Ç¿¡ µû¶ó ½ÇÇà ´ë»óÀÎ HQLÀÌ DynamicÇÏ°Ô »ý¼ºµÉ ¼ö ÀÖ°Ô ÇÏ´Â DynamicHibernateService Ãß°¡ - OSCache¿¡¼­ ºÐ»ê CacheÀÇ Event 󸮸¦ À§ÇØ Á¦°øÇÏ´Â JMSBroadcastingListenerÀÇ Ãë¾àÁ¡À» º¸¿ÏÇÑ anyframe.core.cache.impl.JMSBroadcastingListener Ãß°¡ - log4jdbc3 ¶óÀ̺귯¸® ¾÷±×·¹À̵忡 µû¶ó AnyFrameDataSourceSpy ´ë½Å log4jdbc3ÀÇ DriverSpy¸¦ ÅëÇØ SQL¿¡ ´ëÇÑ LoggingÀ» ³²±æ ¼ö ÀÖµµ·Ï °¡À̵å - Web Service Ŭ¶óÀÌ¾ðÆ®¿Í ¼­¹ö ±¸Çö ½Ã Àϰü¼ºÀÖ°Ô ±¸µ¿½Ãų ¼ö ÀÖ´Â ±â´É Ãß°¡ * ÇØ°áµÈ À̽´ ¸ñ·Ï [CORE-55] DB2 µ¥ÀÌÅͺ£À̽º¿¡¼­ Table Id Gen. Service »ç¿ë ½Ã Id °ü¸® Å×ÀÌºí¿¡ ´ëÇØ UPDATE ±¸¹®¿¡¼­ next_id Ä÷³Àº ¼ýÀÚ formatÀε¥, ½ºÆ®¸µ formatÀ¸·Î °ªÀ» SETÇϰí À־ UPDATE ±¸¹®¿¡¼­ '' Á¦°ÅÇÏ¿© ÇØ°áÇÔ. [CORE-52] Connection PoolÀ» ±â¹ÝÀ¸·Î ÇÑ JDBCAppender Ȱ¿ë ¹æ¾È Á¦½Ã [CORE-50] ID Generation ¼­ºñ½ºÀÇ ID Generation Strategy °ü·Ã ¹®ÀÇ [CORE-49] ¾Ö´ÏÇÁ·¹ÀÓ ¶óÀ̺귯¸® ¾÷±×·¹À̵å ÀÌÈÄ isdynamic ÀÌ tureÀÎ °æ¿ì CUD Äõ¸® ¼öÇà ½ÇÆÐÇÏ´Â ¹®Á¦ ÇØ°á [CORE-48] DB CharsetÀÌ US7ASCIIÀ̸é Äõ¸®µÈ °á°ú°¡ ±úÁö´Â Çö»ó Á¦°Å [CORE-43] batchUpdate ÀÌ¿ë½Ã Exception¹ß»ý½Ã ·Î±×¸¦ ³²±âµµ·Ï ·ÎÁ÷ º¯°æ [CORE-39] ¸¶ÀÌÇ÷§Æû¿¡¼­ ¸®ÅϵǴ Dataset ÀÇ Rowcount°¡ 0ÀÎ °æ¿ì DatasetÀÇ Çì´õ Á¤º¸°¡ »ç¶óÁöÁö ¾Êµµ·Ï processMetaData() ¿¡ ¸ÞŸÁ¤º¸ ó¸® Ãß°¡. [CORE-37] LONGVARCHAR »ç¿ë½Ã 2000 byte ÀÌ»ó ÀúÀåÀÌ ¾ÈµÇ´Â Çö»ó¿¡ ´ëÇÑ ¹®ÀÇ [CORE-34] Dynamic Query »ç¿ë ½Ã¿¡ foreach ±¸¹®À» ÀÌ¿ëÇÑ where Àý¿¡ IN Á¶°Ç »ç¿ë¹æ¹ý¿¡ ´ëÇÑ ¹®ÀÇ [CORE-31] Anyframe ´ÙÀ̳ª¹Í sql ¹® »ç¿ë½Ã Çѱ۱úÁö´Â Çö»ó ÇØ°á ÅÂ±× ³»¿¡ ÇÑ±Û ÀԷ½à ÇѱÛÀÌ Á¤»óÀûÀ¸·Î ó¸®µÉ ¼ö ÀÖµµ·Ï PropertiesServiceImpl ·ÎÁ÷ º¯°æ Changes in version 3.0.1 (2008-07-23) ------------------------------------- * Anyframe Core 3.0.0 ¿¡¼­ ÀϺΠ¼Ò½ºÀÇ ÀúÀÛÀÚ¸íÀÌ ´©¶ôµÇ¾î ¸ðµç ¼Ò½º¿¡ ÀúÀÛÀÚ¸í ¸í½Ã * ¼Ò½º ÄÚµå ¹× Å×½ºÆ® ÄÚµå º¯°æ - anyframe.common.util.AnyFrameProperties Ŭ·¡½º¸¦ Á¦°ÅÇϰí À̸¦ »ç¿ëÇÏ´Â PropertiesService ±¸Çö Ŭ·¡½º ³»¿¡¼­ org.apache.commons.collections.ExtendedProperties¸¦ »ç¿ëÇÏ¿© Property ÆÄÀÏ °ü¸®Çϵµ·Ï ·ÎÁ÷ º¯°æ PropertiesService¸¦ »ç¿ëÇÏ´Â °³¹ßÀÚ´Â ±âÁ¸°ú ´Ù¸§¾øÀÌ PropertiesService »ç¿ë °¡´ÉÇÔ - anyframe.common ÆÐŰÁö ³»¿¡ ¼ÓÇÑ ÀϺΠŬ·¡½º¸¦ Å×½ºÆ®Çϱâ À§ÇØ »ç¿ëÇÑ Spring FrameworkÀÇ Å×½ºÆ® Äڵ带 Á¦°Å Çϰí, Å×½ºÆ® Äڵ带 Á÷Á¢ °³¹ßÇÏ¿© Ãß°¡ÇÔ * ÂüÁ¶ ¶óÀ̺귯¸® º¯°æ - ±âÁ¸ÀÇ cglib-nodep-2.1.3.jar ÆÄÀÏÀÌ cglib-nodep-2.2.jar ÆÄÀÏ·Î ¹öÀü ¾÷±×·¹À̵å (2.1.3 ¹öÀüÀÇ ÆÄÀÏÀ» ±×´ë·Î »ç¿ëÇÏ¿©µµ °¡´ÉÇÔ.) * ¸ðµç ¼Ò½º ÄÚµå´Â Maven Project ±â¹ÝÀ¸·Î ÆÐŰ¡µÇ¾úÀ½ * Ãß°¡µÈ ±â´É - ÀÏ¹Ý Java °´Ã¼ ÇüÅÂ(VO/Map)·Î µ¥ÀÌÅÍÀÇ º¯È¯¾øÀÌ Gauce DataSet ±â¹ÝÀ¸·Î Á÷Á¢ 󸮰¡ °¡´ÉÇÑ GauceSQLService Ãß°¡ (µ¥ÀÌÅÍ º¯È¯ ÀÛ¾÷ÀÇ ºÎÇϸ¦ Á¦°ÅÇÏ¿© ¼º´ÉÀ» ³ôÀÏ ¼ö ÀÖÀ¸¸ç ±âÁ¸ Gauce API ¸¦ »ç¿ëÇÏ¿© ¼­¹ö´Ü °³¹ßÀ» ÇÏ´ø °æ¿ì¿¡ ¼±È£ÇÏ´Â ¹æ½Ä) * ÇØ°áµÈ À̽´ ¸ñ·Ï [CORE-36] È®Àå Äõ¸®¼­ºñ½º¸¦ »ç¿ëÇÏ¿© Á¶È¸µÈ °Ç¼ö°¡ ¾ø´Â °æ¿ì °¡¿ì½º ¸ÞŸÁ¤º¸°¡ »ý¼º ó¸® [CORE-35] Extended QueryServiceÀÇ findWithColInfo ¿À·ù ÇØ°á [CORE-30] MIPSQLServiceÀÇ LobHandler °ü·Ã ¿À·ù ÇØ°á [CORE-29] AbstractQueryService¿¡¼­ velocity.properties ÆÄÀÏÀ» ÀÌ¿ëÇÏ¿© velocity.log »ý¼ºÇϵµ·Ï ó¸® Changes in version 3.0.0 (2008-05-28) ------------------------------------- * ¼Ò½º ÄÚµå ÆÐŰÁö º¯°æ (systemier -> anyframe) * ¼Ò½º Äڵ忡 Apache License Ãß°¡ * LOB ŸÀÔÀÇ µ¥ÀÌÅÍ ÀúÀå ½Ã ÀÌ¿ë µÇ´Â OracleLobHandler(¿À¶óŬ 9iÀÌ»ó Áö¿ø)¸¦ 8i¿¡¼­µµ Áö¿ø ÇÒ ¼ö ÀÖµµ·Ï ±â´É°³¼± * 3rd-party ¶óÀ̺귯¸®ÀÎ Log4j¿Í commons-loggingÀÇ ¹öÀü º¯°æ * Oracle DB ÀÌ¿ë½Ã rowseq¿¡ ´ëÇØ ¹ÙÀε庯¼ö 󸮸¦ ¼öÇàÇÔÀ¸·Î½á QueryService ¼º´É °³¼±