JavaTM 2 Platform
Standard Ed. 5.0

javax.sql.rowset.spi
ÀÎÅÍÆäÀ̽º SyncResolver

¸ðµç ½´ÆÛ ÀÎÅÍÆäÀ̽º:
ResultSet, RowSet

public interface SyncResolver
extends RowSet

¾îÇø®ÄÉÀ̼ÇÀÌ, ¼öµ¿ÀÇ Áö°áÁ¤ Æ®¸®¸¦ »ç¿ëÇØ µ¿±â °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§ÀÇ ´ëó ¹æ¹ýÀ» °áÁ¤ÇÒ ¼ö ÀÖµµ·Ï Çϴ üÁ¦¸¦ Á¤ÀÇÇÕ´Ï´Ù. ¾ÆÇÁ¸®ÄÉÀ̼ µ¿±â °æÇÕÀ» ¼öµ¿À¸·Î ÇØ°áÇÏ´Â °ÍÀº Çʼö°¡ ¾Æ´Õ´Ï´Ù¸¸, ÀÌ Ã¼Á¦´Â °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§¿¡ ¾îÇø®ÄÉÀ̼ǿ¡ À§¾ç ÇÏ´Â ¼ö´ÜÀ» Á¦°øÇÕ´Ï´Ù.

°æÇÕÀ̶õ RowSet °´Ã¼ÀÇ ¿øÀÇ ÇàÀÇ °ªÀÌ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ª°ú ÀÏÄ¡ÇÏÁö ¾Ê´Â »óÅÂÀ̸ç, ÀüȸÀÇ µ¿±â ÀÌÈÄ¿¡ µ¥ÀÌÅÍ ¼Ò½ºÇàÀÌ º¯°æµÈ °ÍÀ» ³ªÅ¸³À´Ï´Ù. RowSet °´Ã¼ÀÇ ¿øÀÇ °ªÀº ÀüȸÀÇ µ¿±âÀÇ Á÷ÀüÀÇ °ªÀ̸ç, ¹Ýµå½Ã ÃʱⰪÀÌ ¾Æ´Õ´Ï´Ù.

SyncResolver °´Ã¼ÀÇ ¼³¸í

SyncResolver°´Ã¼´Â SyncResolverÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇѴ٠Ư¼öÇÑ RowSet°´Ã¼ÀÔ´Ï´Ù. ÀÌ°ÍÀº Á¢¼ÓµÈ RowSet°´Ã¼ (JdbcRowSetÀÌ Å¸Æ佺ÀÇ ±¸Çö) ¶Ç´Â ¹ÌÁ¢¼ÓÀÇ RowSet°´Ã¼ (CachedRowSetÀÌ Å¸Æ佺 ¶Ç´Â ±× ¼­ºê ÀÎÅÍÆäÀ̽ºÀÇ ±¸Çö)À¸·Î¼­ µ¿ÀÛÇÒ ¼ö ÀÖ½À´Ï´Ù. ¼­ºê ÀÎÅÍÆäÀ̽º¿¡ ´ëÇؼ­´Â javax.sql.rowset ÆÐÅ°ÁöÀÇ ¼³ ¸íÀ» ÂüÁ¶ÇϽʽÿÀ. SyncResolverÀÇ ·¹ÆÛ·±½º ±¸ÇöÀº CachedRowSetÀÌ Å¸Æ佺¸¦ ±¸ÇöÇÕ´Ï´Ù¸¸, ´Ù¸¥ ±¸Çö¿¡¼­´Â JdbcRowSetÀÎÅÍÆäÀ̽º¸¦ ±¸ÇöÇØ, ƯÁ¤ÀÇ Çʿ並 ä¿ì´Â °ÍÀÌ ¼º°ú.

¾îÇø®ÄÉÀ̼ÇÀÌ (CachedRowSet acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇØ) RowSet °´Ã¼¿Í µ¥ÀÌÅÍ ¼Ò½º¸¦ µ¿±â ½ÃÅ°·Á°í ÇÑ ÈÄ, ¸î°³ÀÇ °æÇÕÀÌ ¹ß°ßµÇ¸é, Çà ¼¼Æ®ÀÇ SyncProvider °´Ã¼´Â SyncResolver ÀνºÅϽº¸¦ ÀÛ¼ºÇÕ´Ï´Ù. ÀÌ »õ·Î¿î SyncResolver °´Ã¼´Â µ¿±â¸¦ ½ÃµµÇÑ RowSet °´Ã¼¿Í °°Àº Çà¼ö ¹× ·Ä¼ö°¡ µË´Ï´Ù. SyncResolver °´Ã¼¿¡´Â °æÇÕÀÌ ¹ß»ýÇÑ µ¥ÀÌÅÍ ¼Ò½ºÀÇ °ªÀÌ Æ÷ÇÔµÇ¾î ´Ù¸¥ ¸ðµç °ª¿¡´Â null ÇÏÁö¸¸ Æ÷ÇԵ˴ϴÙ. °Ô´Ù°¡ °¢ °æÇÕÀÇ Á¤º¸µµ Æ÷ÇԵ˴ϴÙ.

SyncResolver °´Ã¼ÀÇ Ãëµæ°ú »ç¿ë

acceptChanges¸Þ¼­µå°¡ °æÇÕÀ» °ËÃâÇϸé, SyncProvider¿ÀºêÁ¦Å© Æ®´Â SyncProviderException°´Ã¼¸¦ ÀÛ¼ºÇØ, °Å±â¿¡ »õ·Î¿î SyncResolver¿À ºêÁ¦Å©Æ®¸¦ ¼³Á¤ÇÕ´Ï´Ù. acceptChanges¸Þ¼­µå´Â ÀÌ ¿¹¿Ü¸¦ Throw ÇØ, ±×°ÍÀ» ¾îÇø®ÄÉÀ̼ÇÀÌ Ä³Ä¡ ÇØ, °Ý ³³ µÇ°í ÀÖ´Â SyncResolver°´Ã¼ÀÇ Ãëµæ¿¡ »ç¿ëÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ÄÚµå ºÎºÐ¿¡¼­´Â SyncProviderExceptionÀÇ getSyncResolver¸Þ¼­µå¸¦ »ç¿ëÇØ, SyncResolver°´Ã¼ resolver¸¦ ÃëµæÇÕ´Ï´Ù.
 } catch (SyncProviderException spe) { 
     SyncResolver resolver = spe.getSyncResolver();
 ... 
 }

¾îÇø®ÄÉÀ̼ÇÀº, resolver¸¦ »ç¿ëÇØ, °Å±â¿¡ Æ÷ÇԵǴ °æÇÕ (º¹¼ö°¡´É)ÀÇ Á¤º¸¸¦ ÃëµæÇÒ ¼ö ÀÖ½À´Ï´Ù. resolver µîÀÇ SyncResolver °´Ã¼´Â °æÇÕÀÌ ÀÖ´Â °¢ ÇàÀ¸·Î ±× °æÇÕÀ» ÃßÀûÇÕ´Ï´Ù. ¶Ç, Çà ¼¼Æ®ÀÇ Ä¿¸àµåÀÇ ¿µÇâÀ» ¹Þ´Â Å×À̺í (º¹¼ö°¡´É)¿¡ ¶ôÀ» Àû¿ëÇØ, ÇöÀçÀÇ °æÇÕÀÌ ÇØ°áµÉ ¶§±îÁö »õ·Ó°Ô °æÇÕÀÌ ¹ß»ýÇÏÁö ¾Ê°Ô ÇÕ´Ï´Ù.

SyncResolver °´Ã¼·ÎºÎÅÍ Ãëµæ °¡´ÉÇÑ Á¤º¸´Â ´ÙÀ½°ú °°½À´Ï´Ù.

  • °æÇÕÀÇ ¹ß»ý½Ã¿¡ ½ÃÇàÇÏ°í ÀÖ´ø Á¶ÀÛ
    SyncProviderÀÎÅÍÆäÀ̽º´Â ¹ß»ýÇÒ °¡´É¼ºÀÌ ÀÖ´Â »óÅ¿¡ ´ëÇØ ¼³¸íÇÏ´Â 4 °³ÀÇ Á¤¼ö¸¦ Á¤ÀÇÇÕ´Ï´Ù. 3°³ÀÇ Á¤¼ö´Â °æÇÕÀÌ °ËÃâµÇ¾úÀ» ¶§ RowSet °´Ã¼°¡ ½ÃÇàÇÏ°í ÀÖ´ø Á¶ÀÛÀÇ Á¾·ù (°»½Å, »èÁ¦, ¶Ç´Â »ðÀÔ)¸¦ ³ªÅ¸³», 4 ¹ø°´Â °æÇÕÀÌ ¾ø´Â °ÍÀ» ³ªÅ¸³À´Ï´Ù. SyncResolver °´Ã¼°¡ getStatus ¸Þ¼­µå¸¦ È£ÃâÇßÀ» ¶§, ÀÌ·¯ÇÑ Á¤¼ö°¡ ¹Ýȯ°ªÀ¸·Î¼­ µ¹·ÁÁÖ°íÁú °¡´É¼ºÀÌ ÀÖ´Â °ÍÀÔ´Ï´Ù.
     int operation = resolver.getStatus();

  • µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °æÇÕÀÇ ¿øÀÎÀÌ µÈ °ª
    RowSet °´Ã¼¿¡ ÀÇÇØ °ªÀÌ º¯°æµÇ¾î µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇØÁú ¶§, Ãâ·ÂóÀÇ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀÌ Àüȸ µ¿±â 󸮸¦ ÇàÇÑ ½ÃÁ¡°ú´Â ´Ù¸¥ Àå¼Ò ÇÕ, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. SyncResolver °´Ã¼ÀÇ °ªÀÌ µ¥ÀÌÅÍ ¼Ò½ºÀÇ °æÇÕÄ¡À̱⠶§¹®¿¡ ¾îÇø®ÄÉÀ̼ÇÀº SyncResolver getConflictValue ¸Þ¼­µå¸¦ È£ÃâÇØ, °æÇÕÀÇ ¿øÀÎÀÌ µÈ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀ» ²¨³¾ ¼ö°¡ ÀÖ½À´Ï´Ù.
     java.lang.Object conflictValue = resolver.getConflictValue(2);
    resolver ¿­Àº À§ÀÇ ÄÚµå ¿¹ÀÇ °°°Ô ¿­¹øÈ£·Î ÁöÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. ·Ä¸íÀ¸·Î ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

    ¾îÇø®ÄÉÀ̼ÇÀº, getStatus ¸Þ¼­µå ¹× getConflictValue ¸Þ¼­µå·ÎºÎÅÍ ÃëµæµÈ Á¤º¸¸¦ »ç¿ëÇØ, µ¥ÀÌÅÍ ¼Ò½º³»¿¡ º¸°ü À¯ÁöÇØ¾ß ÇÒ Ä¡¸¦ °áÁ¤ÇÒ ¼ö ÀÖ½À´Ï´Ù. °è¼ÓµÇ¾î, SyncResolver setResolvedValue ¸Þ¼­µå¸¦ È£ÃâÇØ, RowSet °´Ã¼ ¹× µ¥ÀÌÅÍ ¼Ò½º ·Î À¯ÁöÇÏ´Â °ªÀ» ¼³Á¤ÇÕ´Ï´Ù.

     resolver.setResolvedValue("DEPT", 8390426);
    À§ÀÇ Äڵ忹¿¡¼­´Â ·Ä¸í¿¡ÀÇÇØ ÁöÁ¤ÀÇ °ªÀ» ¼³Á¤µÇ´Â RowSet °´Ã¼³»ÀÇ ¿­À» ÁöÁ¤ÇÏ°í ÀÖ½À´Ï´Ù. ¿­¹øÈ£·Î ¿­À» ÁöÁ¤ÇÒ ¼öµµ ÀÖ½À´Ï´Ù.

    ¾îÇø®ÄÉÀ̼ÇÀº ÇöÀçÀÇ °æÇÕ ÇÏ´Â ÇàÀÇ ¸ðµç °æÇÕÀ» ÇØ°áÇϸé, setResolvedValue ¸Þ¼­µå¸¦ È£ÃâÇØ, SyncResolver °´Ã¼ÀÇ °æÇÕ ÇÏ´Â Çà ¸¶´Ù ÀÌ ¼ø¼­¸¦ ¹Ýº¹ÇÕ´Ï´Ù.

    SyncResolver °´Ã¼ÀÇ ¾È³»

    SyncResolver°´Ã¼´Â RowSet °´Ã¼À̱⠶§¹®¿¡ ¾îÇø®ÄÉÀ̼ÇÀº ¸ðµç RowSet ¸Þ¼­µå¸¦ »ç¿ëÇØ, Ä¿¼­¸¦ ¿òÁ÷¿©, SyncResolver °´Ã¼¸¦ ¾È³»ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¿¹¸¦ µé¾î ¾îÇø®ÄÉÀ̼ÇÀº RowSet next ¸Þ¼­µå¸¦ »ç¿ëÇØ, °¢ ÇàÀ¸·Î À̵¿ÇØ, SyncResolver getStatus ¸Þ¼­µå¸¦ È£ÃâÇØ, Çà¿¡ °æÇÕÀÌ Æ÷ÇÔµÉÁö ¾î¶³Áö¸¦ È®ÀÎÇÒ ¼ö ÀÖ½À´Ï´Ù. °æÇÕÀ» Æ÷ÇÔÇÑ Çà¿¡¼­´Â ¾îÇø®ÄÉÀ̼ÇÀº ¿­·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇØ, nullÀÌ¿ÜÀÇ °ªÀ» ã¾Æ³¾ ¼ö°¡ ÀÖ½À´Ï´Ù. ÀÌ °ªÀº °æÇÕÀÌ ÀÖ´Â µ¥ÀÌÅÍ ¼Ò½ºÀÇ °ªÀÌ µË´Ï´Ù.

    SyncResolver °´Ã¼ÀÇ ¾È³»¸¦ °£´ÜÇÏ°Ô ÇÏ·Á¸é, ƯÈ÷ ´ëºÎºÐÀÇ Çà¿¡ °æÇÕÀÌ ¾ø´Â °æ¿ì¿¡ SyncResolver ÀÎÅÍÆäÀ̽º·Î nextConflict ¸Þ¼­µå ¹× previousConflict ¸Þ¼­µå¸¦ Á¤ÀÇÇÕ´Ï´Ù. ÀÌ·¯ÇÑ ¸Þ¼­µå´Â Àû¾îµµ 1°³ÀÇ °æÇÕÄ¡¸¦ Æ÷ÇÔÇÑ ÇุÀ» À̵¿ÇÕ´Ï´Ù. °è¼ÓµÇ¾î ¾îÇø®ÄÉÀ̼ÇÀ¸·Î ¿­¹øÈ£¸¦ ÁöÁ¤ÇØ, SyncResolver ÀÇ getConflictValue ¸Þ¼­µå¸¦ È£ÃâÇØ, °æÇÕÄ¡ ÀÚü¸¦ ÃëµæÇÕ´Ï´Ù. ´ÙÀ½ÀÇ ¼½¼ÇÀÇ ÄÚµåÀÇ ¹ßÃé¿¡ ¿¹¸¦ ³ªÅ¸³À´Ï´Ù.

    Äڵ忹

    ´ÙÀ½ÀÇ ÄÚµåÀÇ ¹ßÃé´Â ¹ÌÁ¢¼ÓÀÇ RowSet °´Ã¼ crs ÇÏÁö¸¸ ÀÚ½ÅÀ» ºÎÇÏÀÇ µ¥ÀÌÅÍ ¼Ò½º¿Í µ¿±â ÇÏ´Â °ÍÀ¸·Î °æÇÕÀ» ÇØ°áÇÏ´Â ¹æ¹ýÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù. try ºí·ÏÀ¸·Îcrs´Â acceptChanges ¸Þ¼­µå¸¦ È£ÃâÇØ, Connection °´Ã¼ con¸¦ °Ç³×ÁÖ°í ÀÖ½À´Ï´Ù. °æÇÕÀÌ ¾ø´Â °æ¿ì´Â ´ÜÁö crs º¯°æÀÌ µ¥ÀÌÅÍ ¼Ò½º¿¡ Ãâ·ÂÇØÁý´Ï´Ù. ±×·¯³ª, °æÇÕÀÌ ÀÖ´Â °æ¿ì´Â acceptChanges ¸Þ¼­µå°¡ SyncProviderException °´Ã¼¸¦ Throw ÇØ, catch ºí·ÏÀÌ À¯È¿ÇÏ°Ô µË´Ï´Ù. ÀÌ ¿¹¿¡¼­´Â SyncResolver °´Ã¼¸¦ »ç¿ëÇÑ ¸¹Àº ¹æ¹ý °¡¿îµ¥ 1 °³¸¦ ¼³¸íÇÏ°í ÀÖ¾î, SyncResolver nextConflict ¸Þ¼­µå¸¦ while ·çÇÁ·Î »ç¿ëÇÏ°í ÀÖ½À´Ï´Ù. nextConflictÀÌ false¸¦ µ¹·ÁÁØ´Ù (SyncResolver °´Ã¼ resolver¿¡ °æÇÕ ÇÏ´Â ÇàÀÌ ¾ø¾îÁø´Ù)¿Í ·çÇÁ°¡ Á¾·áÇÕ´Ï´Ù. ÀÌ Æ¯Á¤ÀÇ ÄÚµåÀÇ ¹ßÃé¿¡¼­´Â resolver´Â °æÇÕÀ» °»½ÅÇÑ Çà (SyncResolver.UPDATE_ROW_CONFLICT »óÅÂÀÇ Çà)¸¦ °Ë»öÇØ, ÀÌ ÄÚµåÀÇ ¹ßÃéÀÇ ³ª¸ÓÁöÀÇ ºÎºÐÀº, crs°¡ °»½ÅÀ» ½ÃµµÇ߱⠶§¹®¿¡ °æÇÕÀÌ ¹ß»ýÇÑ Çà¿¡ ´ëÇؼ­¸¸ ½ÇÇàµË´Ï´Ù.

    resolver Ä¿¼­°¡ °»½Å °æÇÕÀÌ ÀÖ´Â ´ÙÀ½ÀÇ °æÇÕ ÇÏ´Â ÇàÀ¸·Î À̵¿ÇÑ ÈÄ, getRow ¸Þ¼­µå´Â ÇöÀçÀÇ ÇàÀ» ³ªÅ¸³», CachedRowSet °´Ã¼ crs Ä¿¼­´Â crs ÀÇ ºñ±³ °¡´ÉÇÑ ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù. resolver¿Í crs ÀÇ ¾çÂÊ ¸ðµÎÀÇ ÇàÀÇ ¿­·Î ¹Ýº¹ 󸮸¦ ½Ç½ÃÇÏ´Â °Í¿¡ÀÇÇØ °æÇÕ ÇÏ°í ÀÖ´Â °ªÀ» ÃëµæÇØ, ºñ±³ÇØ, º¸°ü À¯ÁöÇÏ´Â °ªÀ» °áÁ¤ÇÕ´Ï´Ù. ÀÌ ÄÚµåÀÇ ¹ßÃé¿¡¼­´Â crs ÀÇ °ªÀÌ ÇØ°á ÁöÀ½ÀÇ °ªÀ¸·Î Çؼ­ ¼³Á¤µÈ °ªÀ̸ç, ÀÌ°ÍÀ» »ç¿ëÇØ, µ¥ÀÌÅÍ ¼Ò½ºÀÇ °æÇÕ ÇÏ´Â °ªÀÌ µ¡¾²±âµÇ´Â °ÍÀ»ÀǹÌÇÕ´Ï´Ù.

     try {
    crs.acceptChanges(con); } catch (SyncProviderException spe) { SyncResolver resolver = spe.getSyncResolver(); Object crsValue; // value in the RowSet object Object resolverValue: // value in the SyncResolver object Object resolvedValue: // value to be persisted

    while(resolver.nextConflict()) { if(resolver.getStatus() == SyncResolver.UPDATE_ROW_CONFLICT) { int row = resolver.getRow(); crs.absolute(row); int colCount = crs.getMetaData(). getColumnCount(); for(int j = 1; j <= colCount; j++) { if (resolver.getConflictValue(j) ! = null) { crsValue = crs.getObject(j); resolverValue = resolver.getConflictValue(j); . . . // compare crsValue and resolverValue to determine // which should be the resolved value (the value to persist) resolvedValue = crsValue; resolver.setResolvedValue(j, resolvedValue); } } } } }


    ÇÊµå °³¿ä
    static int DELETE_ROW_CONFLICT
              RowSet °´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ »èÁ¦¸¦ ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
    static int INSERT_ROW_CONFLICT
              RowSet°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ ÇàÀÇ »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
    static int NO_ROW_CONFLICT
              RowSet°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½Å, »èÁ¦, ¶Ç´Â »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀº ¹ß»ýÇÏÁö ¾Ê¾Ò´ø °ÍÀ» ³ªÅ¸³».
    static int UPDATE_ROW_CONFLICT
              RowSet°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½ÅÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù.
     
    ÀÎÅÍÆäÀ̽º java.sql. ResultSet ·ÎºÎÅÍ »ó¼ÓµÈ Çʵå
    CLOSE_CURSORS_AT_COMMIT, CONCUR_READ_ONLY, CONCUR_UPDATABLE, FETCH_FORWARD, FETCH_REVERSE, FETCH_UNKNOWN, HOLD_CURSORS_OVER_COMMIT, TYPE_FORWARD_ONLY, TYPE_SCROLL_INSENSITIVE, TYPE_SCROLL_SENSITIVE
     
    ¸Þ¼­µå °³¿ä
     Object getConflictValue (int index)
              ÀÌ SyncResolver°´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿­ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù.
     Object getConflictValue (String  columnName)
              ÀÌ SyncResolver°´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿­ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù.
     int getStatus ()
              ÀÌ SyncResolverÀÇ ÇöÀçÀÇ ÇàÀÇ °æÇÕ ½ºÅ×ÀÌÅͽº¸¦ ÃëµæÇÕ´Ï´Ù.
     boolean nextConflict ()
              Ä¿¼­¸¦ ÇöÀçÀÇ À§Ä¡·ÎºÎÅÍ, °æÇÕ ÇÏ´Â °ªÀ» Æ÷ÇÔÇÑ ´ÙÀ½ÀÇ ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù.
     boolean previousConflict ()
              Ä¿¼­¸¦ ÇöÀçÀÇ À§Ä¡·ÎºÎÅÍ, ÀÌ SyncResolver°´Ã¼³»ÀÇ ¾ÕÀÇ °æÇÕ ÇÏ´Â ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù.
     void setResolvedValue (int index, Object  obj)
              obj¸¦, µ¿±â ÇÏ´Â RowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿­ index³»ÀÇ °ªÀ¸·Î Çؼ­ ¼³Á¤ÇÕ´Ï´Ù.
     void setResolvedValue (String  columnName, Object  obj)
              obj¸¦, µ¿±â ÇÏ´Â RowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿­ columnName³» ÀÇ °ªÀ¸·Î Çؼ­ ¼³Á¤ÇÕ´Ï´Ù.
     
    ÀÎÅÍÆäÀ̽º javax.sql. RowSet ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
    addRowSetListener, clearParameters, execute, getCommand, getDataSourceName, getEscapeProcessing, getMaxFieldSize, getMaxRows, getPassword, getQueryTimeout, getTransactionIsolation, getTypeMap, getUrl, getUsername, isReadOnly, removeRowSetListener, setArray, setAsciiStream, setBigDecimal, setBinaryStream, setBlob, setBoolean, setByte, setBytes, setCharacterStream, setClob, setCommand, setConcurrency, setDataSourceName, setDate, setDate, setDouble, setEscapeProcessing, setFloat, setInt, setLong, setMaxFieldSize, setMaxRows, setNull, setNull, setObject, setObject, setObject, setPassword, setQueryTimeout, setReadOnly, setRef, setShort, setString, setTime, setTime, setTimestamp, setTimestamp, setTransactionIsolation, setType, setTypeMap, setUrl, setUsername
     
    ÀÎÅÍÆäÀ̽º java.sql. ResultSet ·ÎºÎÅÍ »ó¼ÓµÈ ¸Þ¼­µå
    absolute, afterLast, beforeFirst, cancelRowUpdates, clearWarnings, close, deleteRow, findColumn, first, getArray, getArray, getAsciiStream, getAsciiStream, getBigDecimal, getBigDecimal, getBigDecimal, getBigDecimal, getBinaryStream, getBinaryStream, getBlob, getBlob, getBoolean, getBoolean, getByte, getByte, getBytes, getBytes, getCharacterStream, getCharacterStream, getClob, getClob, getConcurrency, getCursorName, getDate, getDate, getDate, getDate, getDouble, getDouble, getFetchDirection, getFetchSize, getFloat, getFloat, getInt, getInt, getLong, getLong, getMetaData, getObject, getObject, getObject, getObject, getRef, getRef, getRow, getShort, getShort, getStatement, getString, getString, getTime, getTime, getTime, getTime, getTimestamp, getTimestamp, getTimestamp, getTimestamp, getType, getUnicodeStream, getUnicodeStream, getURL, getURL, getWarnings, insertRow, isAfterLast, isBeforeFirst, isFirst, isLast, last, moveToCurrentRow, moveToInsertRow, next, previous, refreshRow, relative, rowDeleted, rowInserted, rowUpdated, setFetchDirection, setFetchSize, updateArray, updateArray, updateAsciiStream, updateAsciiStream, updateBigDecimal, updateBigDecimal, updateBinaryStream, updateBinaryStream, updateBlob, updateBlob, updateBoolean, updateBoolean, updateByte, updateByte, updateBytes, updateBytes, updateCharacterStream, updateCharacterStream, updateClob, updateClob, updateDate, updateDate, updateDouble, updateDouble, updateFloat, updateFloat, updateInt, updateInt, updateLong, updateLong, updateNull, updateNull, updateObject, updateObject, updateObject, updateObject, updateRef, updateRef, updateRow, updateShort, updateShort, updateString, updateString, updateTime, updateTime, updateTimestamp, updateTimestamp, wasNull
     

    ÇʵåÀÇ »ó¼¼

    UPDATE_ROW_CONFLICT

    static final int UPDATE_ROW_CONFLICT
    RowSet°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½ÅÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °» ½Å´ë»óÀÇ ÇàÀÇ °ªÀº, RowSet°´Ã¼ÀÇ ÇØ´çÇÏ´Â ÇàÀÇ ¿øÀÇ °ª°ú´Â ´Ù¸¨´Ï´Ù. Áï, µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀº ÀüȸÀÇ µ¿±â 󸮵ڰ»½ÅµÇ¾ú´ÂÁö, »èÁ¦µÇ°í ÀÖ½À´Ï´Ù.

    °ü·Ã Ç׸ñ:
    Á¤¼ö Çʵ尪

    DELETE_ROW_CONFLICT

    static final int DELETE_ROW_CONFLICT

    RowSet °´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ »èÁ¦¸¦ ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °»½Å ´ë»óÀÇ ÇàÀÇ °ªÀº, RowSet °´Ã¼ÀÇ ÇØ´çÇÏ´Â ÇàÀÇ ¿øÀÇ °ª°ú´Â ´Ù¸¨´Ï´Ù. Áï, µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀº ÀüȸÀÇ µ¿±â 󸮵ڰ»½ÅµÇ¾ú´ÂÁö, »èÁ¦µÇ°í ÀÖ½À´Ï´Ù.

    °ü·Ã Ç׸ñ:
    Á¤¼ö Çʵ尪

    INSERT_ROW_CONFLICT

    static final int INSERT_ROW_CONFLICT
    RowSet°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º¿¡ÀÇ ÇàÀÇ »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀÌ ¹ß»ýÇÑ °ÍÀ» ³ªÅ¸³À´Ï´Ù. ÀüȸÀÇ °»½ÅµÚ, µ¥ÀÌÅÍ ¼Ò½º¿¡ »ðÀÔÇÏ·Á°í ÇÑ Çà°ú °°Àº ÁÖÅ°¸¦ °¡Áö´Â ÇàÀÌ, ÀÌ¹Ì »ðÀԵǰí ÀÖ½À´Ï´Ù.

    °ü·Ã Ç׸ñ:
    Á¤¼ö Çʵ尪

    NO_ROW_CONFLICT

    static final int NO_ROW_CONFLICT
    RowSet°´Ã¼°¡ µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ ÇàÀÇ °»½Å, »èÁ¦, ¶Ç´Â »ðÀÔÀ» ½ÃÇàÇßÀ» ¶§, °æÇÕÀº ¹ß»ýÇÏÁö ¾Ê¾Ò´ø °ÍÀ» ³ªÅ¸³». SyncResolver³»ÀÇ °ª¿¡´Â null°ªÀÌ Æ÷ÇԵ˴ϴٸ¸, ÀÌ°ÍÀº ÀÌ ÀºÇà³»¿¡ °æÇÕ ÀÇ ÇØ°á¿¡ °ü·ÃµÈ Á¤º¸°¡ Æ÷ÇÔµÇÁö ¾ÊÀº °ÍÀ» ³ªÅ¸³»°í ÀÖ½À´Ï´Ù.

    °ü·Ã Ç׸ñ:
    Á¤¼ö Çʵ尪
    ¸Þ¼­µåÀÇ »ó¼¼

    getStatus

    int getStatus()
    ÀÌ SyncResolverÀÇ ÇöÀçÀÇ ÇàÀÇ °æÇÕ ½ºÅ×ÀÌÅͽº¸¦ ÃëµæÇÕ´Ï´Ù. ÀÌ°ÍÀº °æÇÕÀÌ ¹ß»ýÇßÀ» ¶§ RowSet¿À ºêÁ¦Å©Æ®°¡ ½ÃÇàÇÏ°í ÀÖ´ø Á¶ÀÛÀ» ³ªÅ¸³À´Ï´Ù.

    ¹Ýȯ°ª:
    SyncResolver.UPDATE_ROW_CONFLICT, SyncResolver.DELETE_ROW_CONFLICT, SyncResolver.INSERT_ROW_CONFLICT, ¶Ç´Â SyncResolver.NO_ROW_CONFLICT ¸î°³ÀÇ Á¤¼ö


    getConflictValue

    Object  getConflictValue(int index)
                            throws SQLException 
    ÀÌ SyncResolver°´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿­ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù. ÀÌ °ªÀÌ, °æÇÕÀÇ ¿øÀÎÀÌ µÇ¾ú´Ù µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀÔ´Ï´Ù.

    ÆĶó¹ÌÅÍ:
    index - ÀÌ SyncResolver °´Ã¼ÀÇ ÀÌ ÀºÇà³»ÀÇ ¿­À» ÁöÁ¤ÇÏ´Â int. ÀÌ ¿­·ÎºÎÅÍ, °æÇÕÀÇ ¿øÀÎÀÌ µÈ °ªÀ» ÃëµæÇÑ´Ù

    ¹Ýȯ°ª:
    ÀÌ SyncResolver °´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ÁöÁ¤µÈ ¿­ÀÇ °ª

    ¿¹¿Ü:
    SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì


    getConflictValue

    Object  getConflictValue(String  columnName)
                            throws SQLException 
    ÀÌ SyncResolver°´Ã¼ÀÇ ÇöÀçÀÇ Çà¿¡ ÀÖ´Â ÁöÁ¤µÈ ¿­ÀÇ °ªÀ» ÃëµæÇÕ´Ï´Ù. ÀÌ °ªÀÌ, °æÇÕÀÇ ¿øÀÎÀÌ µÇ¾ú´Ù µ¥ÀÌÅÍ ¼Ò½º³»ÀÇ °ªÀÔ´Ï´Ù.

    ÆĶó¹ÌÅÍ:
    columnName -¿Í ÀÇ SyncResolver °´Ã¼ÀÇ ÀÌ ÀºÇà³»ÀÇ ¿­À» ÁöÁ¤ÇÏ´Â String °´Ã¼. ÀÌ ¿­·ÎºÎÅÍ, °æÇÕÀÇ ¿øÀÎÀÌ µÈ °ªÀ» ÃëµæÇÑ´Ù

    ¹Ýȯ°ª:
    ÀÌ SyncResolver °´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ÁöÁ¤µÈ ¿­ÀÇ °ª

    ¿¹¿Ü:
    SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì


    setResolvedValue

    void setResolvedValue(int index,
                          Object  obj)
                          throws SQLException 
    obj¸¦, µ¿±â ÇÏ´Â RowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿­ index³»ÀÇ °ªÀ¸·Î Çؼ­ ¼³Á¤ÇÕ´Ï´Ù. obj´Â ³»ºÎ¿¡¼­ µ¥ÀÌÅÍ ¼Ò½º³»¿¡ °ªÀ¸·Î Çؼ­ ¼³Á¤µË´Ï´Ù.

    ÆĶó¹ÌÅÍ:
    index - ¿­¹øÈ£¸¦ ÁöÁ¤ÇÏ´Â int. ÀÌ ¿­¿¡ º¸°ü À¯ÁöÇÏ´Â °ªÀ» ¼³Á¤ÇÑ´Ù

    obj - RowSet °´Ã¼·Î ¼³Á¤µÇ¾î µ¥ÀÌÅÍ ¼Ò½º¿¡ ³²°ÜÁö´Â °ªÀ» ³ªÅ¸³»´Â Object

    ¿¹¿Ü:
    SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì


    setResolvedValue

    void setResolvedValue(String  columnName,
                          Object  obj)
                          throws SQLException 
    obj¸¦, µ¿±â ÇÏ´Â RowSet°´Ã¼ÀÇ ÇöÀçÀÇ ÇàÀÇ ¿­ columnName³» ÀÇ °ªÀ¸·Î Çؼ­ ¼³Á¤ÇÕ´Ï´Ù. obj´Â ³»ºÎ¿¡¼­ µ¥ÀÌÅÍ ¼Ò½º³»¿¡ °ªÀ¸·Î Çؼ­ ¼³Á¤µË´Ï´Ù.

    ÆĶó¹ÌÅÍ:
    columnName - ¿­À̸§À» ÁöÁ¤ÇÏ´Â String °´Ã¼. ÀÌ ¿­¿¡ º¸°ü À¯ÁöÇÏ´Â °ªÀ» ¼³Á¤ÇÑ´Ù

    obj - RowSet °´Ã¼·Î ¼³Á¤µÇ¾î µ¥ÀÌÅÍ ¼Ò½º¿¡ ³²°ÜÁö´Â °ªÀ» ³ªÅ¸³»´Â Object

    ¿¹¿Ü:
    SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì


    nextConflict

    boolean nextConflict()
                         throws SQLException 
    Ä¿¼­¸¦ ÇöÀçÀÇ À§Ä¡·ÎºÎÅÍ, °æÇÕ ÇÏ´Â °ªÀ» Æ÷ÇÔÇÑ ´ÙÀ½ÀÇ ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù. SyncResolver°´Ã¼ÀÇ Ä¿¼­´Â ÃʱâÀå Å¿¡¼­´Â ÃÖÃÊÀÇ °æÇÕ ÇÏ´Â ÇàÀÇ Àü¿¡ ÀÚ¸®¸Å±èµË´Ï´Ù. nextConflict()¸Þ¼­µåÀÇ ÃÖÃÊÀÇ È£Ãâ¿¡ÀÇÇØ ÃÖÃÊÀÇ °æÇÕ ÇÏ´Â ÇàÀÌ ÇöÀçÀÇ ÇàÀÌ µË´Ï´Ù. 2¹ø°ÀÇ È£Ãâ¿¡ ÀÇÇØ 2¹ø°ÀÇ °æÇÕ ÇÏ´Â ÇàÀÌ ÇöÀçÀÇ ÇàÀÌ µÇ¾î, ÀÌÈÄ¿Í °°ÀÌ °è¼ÓµË´Ï´Ù.

    nextConflict ¸Þ¼­µå¿¡ÀÇ È£Ãâ¿¡ÀÇÇØ ÀÔ·Â ½ºÆ®¸²ÀÌ ¿­·Á ÀÖÀ¸¸é, ¾Ï¹¬ÀûÀ¸·Î ´ÝÇôÁ®SyncResolver °´Ã¼ÀÇ °æ°í üÀÎÀÌ ¼Ò°ÅµË´Ï´Ù.

    ¹Ýȯ°ª:
    »õ·Î¿î ÇöÀçÀÇ ÇàÀÌ À¯ È¿°úÀÎ °æ¿ì´Â true, ±× ÀÌ»óÇàÀÌ ¾ø´Â °æ¿ì´Â false

    ¿¹¿Ü:
    SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â °á°ú ¼¼Æ®ÀÇ ÇüÅ°¡ TYPE_FORWARD_ONLYÀÎ °æ¿ì


    previousConflict

    boolean previousConflict()
                             throws SQLException 
    Ä¿¼­¸¦ ÇöÀçÀÇ À§Ä¡·ÎºÎÅÍ, ÀÌ SyncResolver°´Ã¼³»ÀÇ ¾ÕÀÇ °æÇÕ ÇÏ´Â ÇàÀ¸·Î À̵¿ÇÕ´Ï´Ù.

    previousConflict ¸Þ¼­µå¿¡ÀÇ È£Ãâ¿¡ÀÇÇØ ÀÔ·Â ½ºÆ®¸²ÀÌ ¿­·Á ÀÖÀ¸¸é, ¾Ï¹¬ÀûÀ¸·Î ´ÝÇôÁ®SyncResolver °´Ã¼ÀÇ °æ°í üÀÎÀÌ ¼Ò°ÅµË´Ï´Ù.

    ¹Ýȯ°ª:
    Ä¿¼­°¡ À¯È¿ÇÑ Çà¿¡ ÀÖ´Â °æ¿ì´Â true, °á°ú ¼¼Æ®ÀÇ ¹Û¿¡ ÀÖ´Â °æ¿ì´Â false

    ¿¹¿Ü:
    SQLException - µ¥ÀÌ Å¸º£À̽º¾ÆÅ©¼¼½º¿¡¶ó°¡ ¹ß»ýÇßÀ» °æ¿ì, ¶Ç´Â °á°ú ¼¼Æ®ÀÇ ÇüÅ°¡ TYPE_FORWARD_ONLYÀÎ °æ¿ì


    JavaTM 2 Platform
    Standard Ed. 5.0

    Copyright 2004 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy µµ ÂüÁ¶ÇϽʽÿÀ.