เจชเจนเจฟเจฒเจพเจ‚ เจธเฉฑเจš, เจœเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจกเจฟเจตเจพเจˆเจธ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ

เจนเฉ‡ เจนเจฌเจฐ!

เจ…เจธเฉ€เจ‚ เจตเจฟเจธเจผเฉ‡ เจฆเฉ€ เจชเฉœเจšเฉ‹เจฒ เจ•เจฐเจจเจพ เจœเจพเจฐเฉ€ เจฐเฉฑเจ–เจฆเฉ‡ เจนเจพเจ‚ เจœเจพเจตเจพ ะธ เจฌเจธเฉฐเจคเจกเจพเจŸเจพเจฌเฉ‡เจธ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจตเฉ€ เจธเจผเจพเจฎเจฒ เจนเฉˆเฅค เจ…เฉฑเจœ เจ…เจธเฉ€เจ‚ เจ‡เจธ เจฌเจพเจฐเฉ‡ เจชเฉœเฉเจนเจจ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ, เจตเฉฑเจกเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจเจพเจ‚ เจจเฉ‚เฉฐ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ‡เจน เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจขเจพเจ‚เจšเจพ เจ•เจฟเจ‰เจ‚ เจนเฉˆ, เจจเจพ เจ•เจฟ เจœเจพเจตเจพ เจ•เฉ‹เจก, เจœเฉ‹ เจจเจฟเจฐเจฃเจพเจ‡เจ• เจฎเจนเฉฑเจคเจต เจตเจพเจฒเจพ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ, เจ‡เจน เจ•เจฟเจตเฉ‡เจ‚ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจคเฉ‡ เจ‡เจธ เจจเจฟเจฏเจฎ เจฆเฉ‡ เจ…เจชเจตเจพเจฆ เจ•เฉ€ เจนเจจเฅค

เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ เจฆเฉ‡เจฐเฉ€ เจตเจพเจฒเฉ‡ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš, เจฎเฉˆเจ‚ เจฆเฉฑเจธเจพเจ‚เจ—เจพ เจ•เจฟ เจฎเฉˆเจจเฉ‚เฉฐ เจ•เจฟเจ‰เจ‚ เจฒเฉฑเจ—เจฆเจพ เจนเฉˆ เจ•เจฟ เจฒเจ—เจญเจ— เจธเจพเจฐเฉ‡ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจตเจฟเฉฑเจš เจกเฉ‡เจŸเจพ เจฎเจพเจกเจฒ "เจœเจพเจตเจพ เจฆเฉ€เจ†เจ‚ เจธเจฎเจฐเฉฑเจฅเจพเจตเจพเจ‚ เจคเฉ‹เจ‚" (เจœเจพเจ‚ เจœเฉ‹ เจตเฉ€ เจ•เจฒเจพเจ‡เฉฐเจŸ เจญเจพเจธเจผเจพ เจคเฉเจธเฉ€เจ‚ เจนเฉ‹) เจฆเฉ€ เจฌเจœเจพเจ "เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจคเฉ‹เจ‚" เจกเจฟเจœเจผเจพเจ‡เจจ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ). เจฆเฉ‚เจœเฉ€ เจชเจนเฉเฉฐเจš เจฆเฉ€ เจšเฉ‹เจฃ เจ•เจฐเจ•เฉ‡, เจœเจฆเฉ‹เจ‚ เจคเฉเจนเจพเจกเจพ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจตเจงเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจฆเจฐเจฆ เจ…เจคเฉ‡ เจฆเฉเฉฑเจ– เจฆเฉ‡ เจฒเฉฐเจฌเฉ‡ เจฐเจธเจคเฉ‡ เจตเจฟเฉฑเจš เจฆเจพเจ–เจฒ เจนเฉ‹ เจœเจพเจ‚เจฆเฉ‡ เจนเฉ‹เฅค

เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจฒเฉ‡เจ– เจฒเจฟเจ–เจฟเจ† เจ—เจฟเจ† เจธเฉ€ เจ‡เฉฑเจ• เจธเจตเจพเจฒ, เจธเจŸเฉˆเจ• เจ“เจตเจฐเจซเจฒเฉ‹ 'เจคเฉ‡ เจฆเจฟเฉฑเจคเจพ เจ—เจฟเจ† เจนเฉˆเฅค

เจญเจพเจ—เจพเจ‚ เจตเจฟเฉฑเจš reddit 'เจคเฉ‡ เจฆเจฟเจฒเจšเจธเจช เจšเจฐเจšเจพ /r/java ะธ /r/เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ—.

เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃเจพ

เจฎเฉˆเจ‚ เจ•เจฟเฉฐเจจเจพ เจนเฉˆเจฐเจพเจจ เจนเจพเจ‚ เจ•เจฟ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฆเฉ€ เจ…เจœเจฟเจนเฉ€ เจ‡เฉฑเจ• เจ›เฉ‹เจŸเฉ€ เจœเจฟเจนเฉ€ เจชเจฐเจค เจนเฉˆ เจœเฉ‹, jOOQ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ‚ เจนเฉ‹เจฃ เจคเฉ‹เจ‚ เจฌเจพเจ…เจฆ, เจ‡เจธ เจคเฉฑเจฅ เจคเฉ‹เจ‚ เจจเจพเจฐเจพเจœเจผ เจนเฉˆ เจ•เจฟ jOOQ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃ เจฒเจˆ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ 'เจคเฉ‡ เจ—เฉฐเจญเฉ€เจฐเจคเจพ เจจเจพเจฒ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค เจ•เฉ‹เจˆ เจตเฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ jOOQ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจ เจคเฉ‹เจ‚ เจ‰เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจจเจนเฉ€เจ‚ เจฐเฉ‹เจ• เจฐเจฟเจนเจพ เจœเจฟเจธ เจคเจฐเฉเจนเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ เฉ€เจ• เจฆเฉ‡เจ–เจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจ•เฉ‹เจˆ เจตเฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจฎเจœเจฌเฉ‚เจฐ เจจเจนเฉ€เจ‚ เจ•เจฐ เจฐเจฟเจนเจพ เจนเฉˆเฅค เจชเจฐ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจฎเฉˆเจจเฉ‚เจ…เจฒ เจตเจฟเฉฑเจš เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ), jOOQ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจ•เฉฐเจฎ เจ•เจฐเจฆเจพ เจนเฉˆ: เจคเฉเจธเฉ€เจ‚ เจ‡เฉฑเจ• (เจชเฉเจฐเจพเจคเจจ) เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจธเจ•เฉ€เจฎเจพ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจคเฉเจนเจพเจกเฉ‡ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจฆเจฐเจธเจพเจ‰เจฃ เจตเจพเจฒเฉ€เจ†เจ‚ เจ•เจฒเจพเจธเจพเจ‚ เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจ‡เจธเจจเฉ‚เฉฐ jOOQ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจจเจพเจฒ เจ‰เจฒเจŸเจพ เจ‡เฉฐเจœเจจเฉ€เจ…เจฐ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ…เจคเฉ‡ เจซเจฟเจฐ เจŸเจพเจˆเจช เจ•เจฐเฉ‹- เจ‡เจนเจจเจพเจ‚ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจธเจตเจพเจฒ:

	for (Record2<String, String> record : DSL.using(configuration)
//   ^^^^^^^^^^^^^^^^^^^^^^^ ะ˜ะฝั„ะพั€ะผะฐั†ะธั ะพ ั‚ะธะฟะฐั… ะฒั‹ะฒะตะดะตะฝะฐ ะฝะฐ 
//   ะพัะฝะพะฒะฐะฝะธะธ ัะณะตะฝะตั€ะธั€ะพะฒะฐะฝะฝะพะณะพ ะบะพะดะฐ, ะฝะฐ ะบะพั‚ะพั€ั‹ะน ััั‹ะปะฐะตั‚ัั ะฟั€ะธะฒะตะดะตะฝะฝะพะต
// ะฝะธะถะต ัƒัะปะพะฒะธะต SELECT 
 
       .select(ACTOR.FIRST_NAME, ACTOR.LAST_NAME)
//           vvvvv ^^^^^^^^^^^^  ^^^^^^^^^^^^^^^ ัะณะตะฝะตั€ะธั€ะพะฒะฐะฝะฝั‹ะต ะธะผะตะฝะฐ
       .from(ACTOR)
       .orderBy(1, 2)) {
    // ...
}

เจ•เฉ‹เจก เจœเจพเจ‚ เจคเจพเจ‚ เจฌเจฟเจฒเจก เจคเฉ‹เจ‚ เจฌเจพเจนเจฐ, เจœเจพเจ‚ เจนเจฐ เจฌเจฟเจฒเจก 'เจคเฉ‡ เจนเฉฑเจฅเฉ€เจ‚ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจœเจฟเจนเฉ‡ เจชเฉเจจเจฐ เจœเจจเจฎ เจฆเฉ‡ เจคเฉเจฐเฉฐเจค เจฌเจพเจ…เจฆ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจซเจฒเจพเจˆเจตเฉ‡เจ… เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ, เจœเฉ‹ เจ•เจฟ เจนเฉฑเจฅเฉ€เจ‚ เจœเจพเจ‚ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ•เจฒเฉ€ เจตเฉ€ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ.

เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃเจพ

เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจธเจผเจจ - เจฎเฉˆเจจเฉ‚เจ…เจฒ เจ…เจคเฉ‡ เจ†เจŸเฉ‹เจฎเฉˆเจŸเจฟเจ• - เจฆเฉ‡ เจ‡เจนเจจเจพเจ‚ เจชเจนเฉเฉฐเจšเจพเจ‚ เจจเจพเจฒ เจœเฉเฉœเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจซเจผเจฒเจธเจซเจผเฉ‡, เจซเจพเจ‡เจฆเฉ‡ เจ…เจคเฉ‡ เจจเฉเจ•เจธเจพเจจ เจนเจจ, เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจฎเฉˆเจ‚ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจตเจฟเจธเจฅเจพเจฐ เจตเจฟเฉฑเจš เจšเจฐเจšเจพ เจจเจนเฉ€เจ‚ เจ•เจฐเจจ เจœเจพ เจฐเจฟเจนเจพ เจนเจพเจ‚เฅค เจชเจฐ, เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡, เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจ•เฉ‹เจก เจฆเจพ เจชเฉ‚เจฐเจพ เจจเฉเจ•เจคเจพ เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เจน เจคเฉเจนเจพเจจเฉ‚เฉฐ เจœเจพเจตเจพ เจตเจฟเฉฑเจš "เจธเฉฑเจšเจพเจˆ" เจจเฉ‚เฉฐ เจฆเฉเจฌเจพเจฐเจพ เจชเฉ‡เจธเจผ เจ•เจฐเจจ เจฆเฉ€ เจ‡เจœเจพเจœเจผเจค เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ…เจธเฉ€เจ‚ เจธเจตเฉ€เจ•เจพเจฐ เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจœเจพเจ‚ เจคเจพเจ‚ เจธเจพเจกเฉ‡ เจธเจฟเจธเจŸเจฎ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจœเจพเจ‚ เจ‡เจธ เจคเฉ‹เจ‚ เจฌเจพเจนเจฐเฅค เจ‡เฉฑเจ• เจ…เจฐเจฅ เจตเจฟเฉฑเจš, เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจœเฉ‹ เจฌเจพเจˆเจŸเจ•เฉ‹เจก, เจฎเจธเจผเฉ€เจจ เจ•เฉ‹เจก, เจœเจพเจ‚ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจคเฉ‹เจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจ•เจฟเจธเจฎ เจฆเจพ เจ•เฉ‹เจก เจคเจฟเจ†เจฐ เจ•เจฐเจฆเฉ‡ เจนเจจ เจ‰เจนเฉ€ เจ•เฉฐเจฎ เจ•เจฐเจฆเฉ‡ เจนเจจ - เจธเจพเจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจธเจพเจกเฉ‡ "เจธเฉฑเจš" เจฆเฉ€ เจจเฉเจฎเจพเจ‡เฉฐเจฆเจ—เฉ€ เจฎเจฟเจฒเจฆเฉ€ เจนเฉˆ, เจ–เจพเจธ เจ•เจพเจฐเจจเจพเจ‚ เจฆเฉ€ เจชเจฐเจตเจพเจน เจ•เฉ€เจคเฉ‡ เจฌเจฟเจจเจพเจ‚เฅค

เจ…เจœเจฟเจนเฉ‡ เจ•เจˆ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจนเจจเฅค เจ‰เจฆเจพเจนเจฐเจฃ เจฒเจˆ, XJC XSD เจœเจพเจ‚ WSDL เจซเจพเจˆเจฒเจพเจ‚ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจœเจพเจตเจพ เจ•เฉ‹เจก เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเจพ เจนเฉˆ. เจธเจฟเจงเจพเจ‚เจค เจนเจฎเฉ‡เจธเจผเจพ เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเจพ เจนเฉเฉฐเจฆเจพ เจนเฉˆ:

  • เจ•เฉเจ เจธเฉฑเจšเจพเจˆ เจนเฉˆ (เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจœเจพเจ‚ เจฌเจพเจนเจฐเฉ€) - เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ‡เฉฑเจ• เจจเจฟเจฐเจงเจพเจฐเจจ, เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพ เจฎเจพเจกเจฒ, เจ†เจฆเจฟเฅค
  • เจธเจพเจจเฉ‚เฉฐ เจธเจพเจกเฉ€ เจชเฉเจฐเฉ‹เจ—เจฐเจพเจฎเจฟเฉฐเจ— เจญเจพเจธเจผเจพ เจตเจฟเฉฑเจš เจ‡เจธ เจธเฉฑเจšเจพเจˆ เจฆเฉ€ เจธเจฅเจพเจจเจ• เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค

เจ‡เจธ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ, เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฆเฉ€ เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฒเจˆ เจฒเจ—เจญเจ— เจนเจฎเฉ‡เจธเจผเจพ เจธเจฒเจพเจน เจฆเจฟเฉฑเจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ - เจฐเจฟเจกเฉฐเจกเฉˆเจ‚เจธเฉ€ เจคเฉ‹เจ‚ เจฌเจšเจฃ เจฒเจˆเฅค

เจ•เจฟเจธเจฎ เจชเฉเจฐเจฆเจพเจคเจพ เจ…เจคเฉ‡ เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฟเฉฐเจ—

เจจเฉ‹เจŸ: jOOQ เจฒเจˆ เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจนเฉ‹เจฐ, เจตเจงเฉ‡เจฐเฉ‡ เจ†เจงเฉเจจเจฟเจ• เจ…เจคเฉ‡ เจ–เจพเจธ เจชเจนเฉเฉฐเจš เจตเจฟเฉฑเจš เจ•เจฟเจธเจฎ เจชเฉเจฐเจฆเจพเจคเจพเจตเจพเจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจธเจผเจพเจฎเจฒ เจนเฉˆ, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เจน F# เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเฉ‡ เจ—เจ เจนเจจ. เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจ•เฉ‹เจก เจ•เฉฐเจชเจพเจˆเจฒเจฐ เจฆเฉเจ†เจฐเจพ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจ…เจธเจฒ เจตเจฟเฉฑเจš เจธเฉฐเจ•เจฒเจจ เจชเฉœเจพเจ… 'เจคเฉ‡เฅค เจธเจฟเจงเจพเจ‚เจค เจตเจฟเฉฑเจš, เจ…เจœเจฟเจนเจพ เจ•เฉ‹เจก เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฆเฉ‡ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจฎเฉŒเจœเฉ‚เจฆ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจœเจพเจตเจพ เจตเจฟเฉฑเจš, เจธเจฎเจพเจจ เจนเจจ, เจนเจพเจฒเจพเจ‚เจ•เจฟ เจธเจผเจพเจจเจฆเจพเจฐ เจจเจนเฉ€เจ‚, เจŸเฉ‚เจฒ - เจ‡เจน เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจชเฉเจฐเฉ‹เจธเฉˆเจธเจฐ เจนเจจ, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจฒเจพเจฎเจฌเจพเจ•.

เจ‡เฉฑเจ• เจ–เจพเจธ เจ…เจฐเจฅ เจตเจฟเฉฑเจš, เจ‡เฉฑเจฅเฉ‡ เจ‰เจนเฉ€ เจšเฉ€เจœเจผเจพเจ‚ เจตเจพเจชเจฐเจฆเฉ€เจ†เจ‚ เจนเจจ เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจชเจนเจฟเจฒเฉ‡ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจธเจฟเจตเจพเจ:

  • เจคเฉเจธเฉ€เจ‚ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ•เฉ‹เจก เจจเจนเฉ€เจ‚ เจฆเฉ‡เจ– เจฐเจนเฉ‡ เจนเฉ‹ (เจธเจผเจพเจ‡เจฆ เจ‡เจน เจธเจฅเจฟเจคเฉ€ เจ•เจฟเจธเฉ‡ เจจเฉ‚เฉฐ เจ‡เฉฐเจจเฉ€ เจ˜เจฟเจฃเจพเจ‰เจฃเฉ€ เจจเจนเฉ€เจ‚ เจœเจพเจชเจฆเฉ€ เจนเฉˆ?)
  • เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เจฟเจธเจฎเจพเจ‚ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ€เจ†เจ‚ เจœเจพ เจธเจ•เจฆเฉ€เจ†เจ‚ เจนเจจ, เจฏเจพเจจเฉ€ "เจธเฉฑเจš" เจนเจฎเฉ‡เจธเจผเจพ เจ‰เจชเจฒเจฌเจง เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจฒเฉ‹เจฎเจฌเฉ‹เจ• เจฆเฉ‡ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจ‡เจน เจ†เจธเจพเจจ เจนเฉˆ, เจœเฉ‹ "เจธเฉฑเจš" เจฆเฉ€ เจตเจฟเจ†เจ–เจฟเจ† เจ•เจฐเจฆเจพ เจนเฉˆ. เจ‡เจน เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจกเจฒเจพเจ‚ เจจเจพเจฒ เจฅเฉ‹เฉœเจพ เจนเฉ‹เจฐ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆ เจœเฉ‹ เจ‡เฉฑเจ• เจฒเจพเจˆเจต เจ•เจจเฉˆเจ•เจธเจผเจจ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจนเจฎเฉ‡เจธเจผเจพ เจ‰เจชเจฒเจฌเจง เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจตเจฟเฉฑเจš เจ•เฉ€ เจธเจฎเฉฑเจธเจฟเจ† เจนเฉˆ?

เจ‡เจธ เจฎเฉเจธเจผเจ•เจฒ เจธเจตเจพเจฒ เจคเฉ‹เจ‚ เจ‡เจฒเจพเจตเจพ เจ•เจฟ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจธเจผเจจ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ เจฌเจฟเจนเจคเจฐ เจนเฉˆ - เจนเฉฑเจฅเฉ€เจ‚ เจœเจพเจ‚ เจ†เจชเจฃเฉ‡ เจ†เจช, เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เจน เจฆเฉฑเจธเจฃเจพ เจชเจเจ—เจพ เจ•เจฟ เจ…เจœเจฟเจนเฉ‡ เจฒเฉ‹เจ• เจนเจจ เจœเฉ‹ เจฎเฉฐเจจเจฆเฉ‡ เจนเจจ เจ•เจฟ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจธเจผเจจ เจฆเฉ€ เจฌเจฟเจฒเจ•เฉเจฒ เจœเจผเจฐเฉ‚เจฐเจค เจจเจนเฉ€เจ‚ เจนเฉˆ. เจ‡เจธ เจฆเฉเจฐเจฟเจธเจผเจŸเฉ€เจ•เฉ‹เจฃ เจฒเจˆ เจ‰เจšเจฟเจคเจคเจพ, เจœเจฟเจธเจจเฉ‚เฉฐ เจฎเฉˆเจ‚ เจ…เจ•เจธเจฐ เจฆเฉ‡เจ–เจฟเจ†, เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‰เจฆเฉ‹เจ‚ เจฌเจฟเจฒเจก เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจธเจฅเจพเจชเจค เจ•เจฐเจจเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค เจนเจพเจ‚, เจ‡เจน เจ…เจธเจฒ เจตเจฟเฉฑเจš เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆเฅค เจตเจพเจงเฉ‚ เจฌเฉเจจเจฟเจ†เจฆเฉ€ เจขเจพเจ‚เจšเฉ‡ เจฆเฉ‡ เจ–เจฐเจšเฉ‡ เจนเจจ. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจนเฉเจฃเฉ‡ เจนเฉ€ เจ•เจฟเจธเฉ‡ เจ–เจพเจธ เจ‰เจคเจชเจพเจฆ เจจเจพเจฒ เจธเจผเฉเจฐเฉ‚เจ†เจค เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹ (เจญเจพเจตเฉ‡เจ‚ เจ‰เจน jOOQ, เจœเจพเจ‚ JAXB, เจœเจพเจ‚ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ, เจ†เจฆเจฟ), เจคเจพเจ‚ เจ‡เจน เจ‡เฉฑเจ• เจตเจฐเจ•เจฌเฉˆเจ‚เจš เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจตเจฟเฉฑเจš เจธเจฎเจพเจ‚ เจฒเฉˆเจ‚เจฆเจพ เจนเฉˆ เจœเจฟเจธเจฆเจพ เจฎเฉเฉฑเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจคเฉเจธเฉ€เจ‚ API เจจเฉ‚เฉฐ เจธเจฟเฉฑเจ–เจฃ เจตเจฟเฉฑเจš เจ–เจฐเจš เจ•เจฐเจจเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹เฅค .

เจœเฉ‡ เจœเจจเจฐเฉ‡เจŸเจฐ เจฆเฉ€ เจกเจฟเจตเจพเจˆเจธ เจจเฉ‚เฉฐ เจธเจฎเจเจฃ เจจเจพเจฒ เจธเฉฐเจฌเฉฐเจงเจฟเจค เจฒเจพเจ—เจคเจพเจ‚ เจฌเจนเฉเจค เจœเจผเจฟเจ†เจฆเจพ เจนเจจ, เจคเจพเจ‚, เจ…เจธเจฒ เจตเจฟเฉฑเจš, เจเจชเฉ€เจ†เจˆ เจจเฉ‡ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚เจฏเฉ‹เจ—เจคเจพ 'เจคเฉ‡ เจ‡เฉฑเจ• เจฎเจพเฉœเจพ เจ•เฉฐเจฎ เจ•เฉ€เจคเจพ เจนเฉˆ (เจ…เจคเฉ‡ เจญเจตเจฟเฉฑเจ– เจตเจฟเฉฑเจš เจ‡เจน เจชเจคเจพ เจšเจฒเจฆเจพ เจนเฉˆ เจ•เจฟ เจ‡เจธ เจตเจฟเฉฑเจš เจ•เจธเจŸเจฎเจพเจˆเจœเจผ เจ•เจฐเจจเจพ เจตเฉ€ เจฎเฉเจธเจผเจ•เจฒ เจนเฉˆ). เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ…เจœเจฟเจนเฉ‡ API เจฒเจˆ เจ‰เจชเจฏเฉ‹เจ—เจคเจพ เจธเจญ เจคเฉ‹เจ‚ เจตเฉฑเจง เจคเจฐเจœเฉ€เจน เจนเฉ‹เจฃเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆเฅค เจชเจฐ เจ‡เจน เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจฆเฉ‡ เจตเจฟเจฐเฉเฉฑเจง เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจฆเจฒเฉ€เจฒ เจนเฉˆ. เจจเจนเฉ€เจ‚ เจคเจพเจ‚, เจ…เฉฐเจฆเจฐเฉ‚เจจเฉ€ เจœเจพเจ‚ เจฌเจพเจนเจฐเฉ€ เจธเฉฑเจšเจพเจˆ เจฆเฉ€ เจธเจฅเจพเจจเจ• เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจนเฉฑเจฅ เจจเจพเจฒ เจฒเจฟเจ–เฉ‹เฅค

เจ•เจˆ เจ•เจนเจฟเจฃเจ—เฉ‡ เจ•เจฟ เจ‰เจจเฉเจนเจพเจ‚ เจ•เฉ‹เจฒ เจ‡เจน เจธเจญ เจ•เจฐเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‰เจน เจ†เจชเจฃเฉ‡ เจธเฉเจชเจฐ เจ‰เจคเจชเจพเจฆ เจฒเจˆ เจ…เฉฐเจคเจฎ เจคเจพเจฐเฉ€เจ– 'เจคเฉ‡ เจนเจจเฅค เจ•เจฟเจธเฉ‡ เจฆเจฟเจจ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ…เจธเฉˆเจ‚เจฌเจฒเฉ€ เจ•เจจเจตเฉ€เจจเจฐ เจจเฉ‚เฉฐ เจ•เฉฐเจ˜เฉ€ เจ•เจฐเจพเจ‚เจ—เฉ‡, เจธเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจฎเจพเจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจฎเฉˆเจ‚ เจ‰เจจเฉเจนเจพเจ‚ เจจเฉ‚เฉฐ เจœเจตเจพเจฌ เจฆเฉ‡เจตเจพเจ‚เจ—เจพ:

เจชเจนเจฟเจฒเจพเจ‚ เจธเฉฑเจš, เจœเจพเจ‚ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจกเจฟเจตเจพเจˆเจธ เจฆเฉ‡ เจ…เจงเจพเจฐ เจคเฉ‡ เจกเจฟเจœเจผเจพเจˆเจจ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจ•เจฟเจ‰เจ‚ เจนเฉˆ
เจ…เจธเจฒเฉ€, เจเจฒเจจ เจ“'เจฐเฉ‚เจฐเจ•เฉ‡, เจฆเจฐเจธเจผเจ• เจธเจŸเฉˆเจ•

เจชเจฐ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ / เจœเฉ‡เจชเฉ€เจ เจตเจฟเฉฑเจš "เจœเจพเจตเจพ เจตเจฟเฉฑเจš" เจ•เฉ‹เจก เจฒเจฟเจ–เจฃเจพ เจฌเจนเฉเจค เจ†เจธเจพเจจ เจนเฉˆเฅค

เจธเฉฑเจšเจฎเฉเฉฑเจš. เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ‡ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจฒเจˆ, เจ‡เจน เจ‡เฉฑเจ• เจตเจฐเจฆเจพเจจ เจ…เจคเฉ‡ เจธเจฐเจพเจช เจนเฉˆเฅค เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจฌเจธ เจ•เฉเจ เจ‡เจ•เจพเจˆเจ†เจ‚ เจจเฉ‚เฉฐ เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚ เจฒเจฟเจ– เจธเจ•เจฆเฉ‡ เจนเฉ‹:

	@Entity
class Book {
  @Id
  int id;
  String title;
}

เจ…เจคเฉ‡ เจฒเจ—เจญเจ— เจนเจฐ เจšเฉ€เจœเจผ เจคเจฟเจ†เจฐ เจนเฉˆ. เจนเฉเจฃ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจฆเจพ เจฌเจนเฉเจค เจนเจฟเฉฑเจธเจพ เจ—เฉเฉฐเจเจฒเจฆเจพเจฐ "เจตเฉ‡เจฐเจตเฉ‡" เจคเจฟเจ†เจฐ เจ•เจฐเจจเจพ เจนเฉˆ เจ•เจฟ เจ‡เจน เจ‡เจ•เจพเจˆ SQL เจฆเฉ€ เจคเฉเจนเจพเจกเฉ€ "เจฌเฉ‹เจฒเฉ€" เจฆเฉ‡ DDL เจตเจฟเฉฑเจš เจ•เจฟเจตเฉ‡เจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเฉ€ เจœเจพเจตเฉ‡เจ—เฉ€:

	CREATE TABLE book (
  id INTEGER PRIMARY KEY GENERATED ALWAYS AS IDENTITY,
  title VARCHAR(50),
 
  CONSTRAINT pk_book PRIMARY KEY (id)
);
 
CREATE INDEX i_book_title ON book (title);

... เจ…เจคเฉ‡ เจเจชเจฒเฉ€เจ•เฉ‡เจธเจผเจจ เจจเฉ‚เฉฐ เจšเจฒเจพเจ‰เจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเฉ‹เฅค เจ‰เฉฑเจ เจฃ เจ…เจคเฉ‡ เจคเฉ‡เจœเจผเฉ€ เจจเจพเจฒ เจฆเฉŒเฉœเจจ เจ…เจคเฉ‡ เจตเฉฑเจ–-เจตเฉฑเจ– เจšเฉ€เจœเจผเจพเจ‚ เจจเฉ‚เฉฐ เจ…เจœเจผเจฎเจพเจ‰เจฃ เจฒเจˆ เจ‡เฉฑเจ• เจธเฉฑเจšเจฎเฉเฉฑเจš เจตเจงเฉ€เจ† เจตเจฟเจธเจผเฉ‡เจธเจผเจคเจพเฅค

เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจฎเฉˆเจจเฉ‚เฉฐ. เจฎเฉˆเจ‚ เจเฉ‚เจ  เจฌเฉ‹เจฒ เจฐเจฟเจนเจพ เจธเฉ€เฅค

  • เจ•เฉ€ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ‡เจธ เจจเจพเจฎเฉ€ เจชเฉเจฐเจพเจ‡เจฎเจฐเฉ€ เจ•เฉเฉฐเจœเฉ€ เจฆเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเฉ‡เจ—เจพ?
  • เจ•เฉ€ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ TITLE 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเฉ‚เจšเจ•เจพเจ‚เจ• เจฌเจฃเจพเจเจ—เจพ? เจฎเฉˆเจจเฉ‚เฉฐ เจฏเจ•เฉ€เจจ เจนเฉˆ เจ•เจฟ เจธเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค
  • เจ•เฉ€ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจ‡เจธ เจ•เฉเฉฐเจœเฉ€ เจจเฉ‚เฉฐ เจชเจ›เจพเจฃ เจจเจฟเจฐเจงเจพเจฐเจจ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจชเจ›เจพเจฃ เจ•เฉเฉฐเจœเฉ€ เจฌเจฃเจพเจตเฉ‡เจ—เจพ?

เจธเจผเจพเจ‡เจฆ เจจเจนเฉ€เจ‚เฅค เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจจเฉ‚เฉฐ เจธเจ•เฉเจฐเฉˆเจš เจคเฉ‹เจ‚ เจตเจฟเจ•เจธเจค เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจ‡เจน เจนเจฎเฉ‡เจธเจผเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจชเฉเจฐเจพเจฃเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฐเฉฑเจฆ เจ•เจฐ เจฆเจฟเจ“ เจ…เจคเฉ‡ เจœเจฟเจตเฉ‡เจ‚ เจนเฉ€ เจคเฉเจธเฉ€เจ‚ เจœเจผเจฐเฉ‚เจฐเฉ€ เจเจจเฉ‹เจŸเฉ‡เจธเจผเจจ เจœเฉ‹เฉœเจฆเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจ‡เฉฑเจ• เจจเจตเจพเจ‚ เจคเจฟเจ†เจฐ เจ•เจฐเฉ‹เฅค เจ‡เจธ เจฒเจˆ, เจ•เจฟเจคเจพเจฌ เจฆเฉ€ เจนเจธเจคเฉ€ เจ†เจ–เจฐเจ•เจพเจฐ เจซเจพเจฐเจฎ เจฒเฉˆ เจฒเจตเฉ‡เจ—เฉ€:

	@Entity
@Table(name = "book", indexes = {
  @Index(name = "i_book_title", columnList = "title")
})
class Book {
  @Id
  @GeneratedValue(strategy = IDENTITY)
  int id;
  String title;
}

เจ เฉฐเจกเจพ. เจชเฉเจจเจฐเจœเจจเจฎ. เจฆเฉเจฌเจพเจฐเจพ เจซเจฟเจฐ, เจ‡เจธ เจ•เฉ‡เจธ เจตเจฟเฉฑเจš, เจ‡เจน เจธเจผเฉเจฐเฉ‚เจ†เจค เจตเจฟเฉฑเจš เจฌเจนเฉเจค เจ†เจธเจพเจจ เจนเฉ‹เจตเฉ‡เจ—เจพ.

เจชเจฐ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจ‡เจธเจฆเจพ เจญเฉเจ—เจคเจพเจจ เจ•เจฐเจจเจพ เจชเจตเฉ‡เจ—เจพเฅค

เจœเจฒเจฆเฉ€ เจœเจพเจ‚ เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจœเจพเจฃเจพ เจชเจเจ—เจพ. เจ‡เจน เจ‰เจฆเฉ‹เจ‚ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเจฆเฉ‹เจ‚ เจฎเจพเจกเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจฌเฉฐเจฆ เจ•เจฐ เจฆเจฟเฉฐเจฆเจพ เจนเฉˆเฅค เจ•เจฟเจ‰เจ‚เจ•เจฟ:

เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš, เจ‡เจน เจนเฉเจฃ เจธเฉฐเจญเจต เจจเจนเฉ€เจ‚ เจนเฉ‹เจตเฉ‡เจ—เจพ, เจœเฉ‡ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡, เจชเฉเจฐเจพเจฃเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจฐเฉฑเจฆ เจ•เจฐเจจเจพ เจ…เจคเฉ‡ เจธเจญ เจ•เฉเจ เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจธเจผเฉเจฐเฉ‚ เจ•เจฐเจจเจพ. เจคเฉเจนเจพเจกเจพ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ‡เฉฑเจ• เจตเจฟเจฐเจพเจธเจค เจตเจฟเฉฑเจš เจฌเจฆเจฒ เจœเจพเจตเฉ‡เจ—เจพเฅค

เจนเฉเจฃ เจคเฉ‹เจ‚ เจ…เจคเฉ‡ เจนเจฎเฉ‡เจธเจผเจพ เจฒเจˆ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฒเจฟเจ–เจฃเจพ เจชเจตเฉ‡เจ—เจพ DDL เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจ เจธเจ•เฉเจฐเจฟเจชเจŸเจพเจ‚, เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ Flyway เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจจเจพ. เจ…เจคเฉ‡ เจ‡เจธ เจฎเจพเจฎเจฒเฉ‡ เจตเจฟเฉฑเจš เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจธเฉฐเจธเจฅเจพเจตเจพเจ‚ เจฆเจพ เจ•เฉ€ เจนเฉ‹เจตเฉ‡เจ—เจพ? เจคเฉเจธเฉ€เจ‚ เจœเจพเจ‚ เจคเจพเจ‚ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจนเฉฑเจฅเฉ€เจ‚ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจ…เจคเฉ‡ เจ†เจชเจฃเฉ‡ เจ•เฉฐเจฎ เจฆเฉ‡ เจฌเฉ‹เจ เจจเฉ‚เฉฐ เจฆเฉเฉฑเจ—เจฃเจพ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹) เจœเจพเจ‚ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจฆเฉเจฌเจพเจฐเจพ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹ (เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจ‰เจฎเฉ€เจฆเจพเจ‚ เจจเฉ‚เฉฐ เจชเฉ‚เจฐเจพ เจ•เจฐเจจ เจฒเจˆ เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจคเจฟเจ†เจฐ เจนเฉ‹เจฃ เจฆเฉ€ เจ•เจฟเฉฐเจจเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจนเฉˆ?) เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจนเจพเจฐ เจœเจพเจ‚เจฆเฉ‡ เจนเฉ‹เฅค

เจ‡เจธ เจคเจฐเฉเจนเจพเจ‚, เจœเจฟเจตเฉ‡เจ‚ เจนเฉ€ เจคเฉเจธเฉ€เจ‚ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจœเจพเจ‚เจฆเฉ‡ เจนเฉ‹, เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ—เจฐเจฎ เจชเฉˆเจšเจพเจ‚ เจฆเฉ€ เจฒเฉ‹เฉœ เจชเจตเฉ‡เจ—เฉ€เฅค เจ…เจคเฉ‡ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจฌเจนเฉเจค เจœเจฒเจฆเฉ€ เจ‰เจคเจชเจพเจฆเจจ เจตเจฟเฉฑเจš เจฒเจฟเจ†เจ‰เจฃ เจฆเฉ€ เจœเจผเจฐเฉ‚เจฐเจค เจนเฉˆ. เจ•เจฟเจ‰เจ‚เจ•เจฟ เจคเฉเจธเฉ€เจ‚ เจ‰เจคเจชเจพเจฆเจจ เจฒเจˆ เจ†เจชเจฃเฉ‡ เจฎเจพเจˆเจ—เฉเจฐเฉ‡เจธเจผเจจเจพเจ‚ เจฆเฉ€ เจจเจฟเจฐเจตเจฟเจ˜เจจ เจชเจพเจˆเจชเจฒเจพเจˆเจจเจฟเฉฐเจ— เจคเจฟเจ†เจฐ เจ…เจคเฉ‡ เจธเฉฐเจ—เจ เจฟเจค เจจเจนเฉ€เจ‚ เจ•เฉ€เจคเฉ€ เจนเฉˆ, เจคเฉเจธเฉ€เจ‚ เจฌเฉ‡เจฐเจนเจฟเจฎเฉ€ เจจเจพเจฒ เจชเฉˆเจš เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹เฅค เจ…เจคเฉ‡ เจซเจฟเจฐ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจธเจญ เจ•เฉเจ เจ เฉ€เจ• เจ•เจฐเจจ เจฆเจพ เจธเจฎเจพเจ‚ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ…เจคเฉ‡ เจคเฉเจธเฉ€เจ‚ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจจเฉ‚เฉฐ เจเจฟเฉœเจ•เจฆเฉ‡ เจนเฉ‹, เจ•เจฟเจ‰เจ‚เจ•เจฟ เจ‡เจน เจนเจฎเฉ‡เจธเจผเจพ เจ•เจฟเจธเฉ‡ เจฆเจพ เจ•เจธเฉ‚เจฐ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจคเฉเจนเจพเจกเจพ เจจเจนเฉ€เจ‚ ...

เจ‡เจธ เจฆเฉ€ เจฌเจœเจพเจ, เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจนเฉ€, เจธเจญ เจ•เฉเจ เจฌเจฟเจฒเจ•เฉเจฒ เจตเฉฑเจ–เจฐเฉ‡ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจธเฉ€เฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจธเจพเจˆเจ•เจฒ 'เจคเฉ‡ เจ—เฉ‹เจฒ เจชเจนเฉ€เจ เจฒเจ—เจพเจ“เฅค

เจชเจนเจฟเจฒเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ

เจคเฉเจนเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš เจ…เจธเจฒ "เจธเฉฑเจš" เจ…เจคเฉ‡ เจ‡เจธ เจ‰เฉฑเจคเฉ‡ "เจชเฉเจฐเจญเฉเจธเฉฑเจคเจพ" เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเฉˆเฅค เจธเจ•เฉ€เจฎเจพ เจจเฉ‚เฉฐ เจธเจฟเจฐเจซเจผ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจนเฉ€ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ เจ…เจคเฉ‡ เจนเฉ‹เจฐ เจ•เจฟเจคเฉ‡ เจจเจนเฉ€เจ‚, เจ…เจคเฉ‡ เจนเจฐเฉ‡เจ• เจ—เจพเจนเจ• เจ•เฉ‹เจฒ เจ‡เจธ เจธเจ•เฉ€เจฎเจพ เจฆเฉ€ เจ‡เฉฑเจ• เจ•เจพเจชเฉ€ เจนเฉˆ, เจ‡เจธเจฒเจˆ เจ‡เจน เจธเจ•เฉ€เจฎเจพ เจ…เจคเฉ‡ เจ‡เจธเจฆเฉ€ เจ…เจ–เฉฐเจกเจคเจพ เจจเฉ‚เฉฐ เจฒเจพเจ—เฉ‚ เจ•เจฐเจจ เจฒเจˆ เจธเจนเฉ€ เจ…เจฐเจฅ เจฐเฉฑเจ–เจฆเจพ เจนเฉˆ, เจ‡เจธเจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจธเจนเฉ€ เจ•เจฐเจจ เจฒเจˆ - เจœเจฟเฉฑเจฅเฉ‡ เจœเจพเจฃเจ•เจพเจฐเฉ€ เจธเจŸเฉ‹เจฐ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค
เจ‡เจน เจชเฉเจฐเจพเจฃเฉ€ เจตเฉ€ เจนเฉˆเจ•เจจเฉ€เจก เจธเจฟเจ†เจฃเจช เจนเฉˆเฅค เจชเฉเจฐเจพเจ‡เจฎเจฐเฉ€ เจ…เจคเฉ‡ เจตเจฟเจฒเฉฑเจ–เจฃ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจšเฉฐเจ—เฉ€เจ†เจ‚ เจนเจจเฅค เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจ•เฉเฉฐเจœเฉ€เจ†เจ‚ เจ เฉ€เจ• เจนเจจเฅค เจชเจพเจฌเฉฐเจฆเฉ€เจ†เจ‚ เจฆเฉ€ เจœเจพเจ‚เจš เจšเฉฐเจ—เฉ€ เจนเฉˆเฅค เจฆเจพเจ…เจตเฉ‡ - เจตเจงเฉ€เจ†เฅค

เจ…เจคเฉ‡, เจ‡เจน เจธเจญ เจ•เฉเจ เจจเจนเฉ€เจ‚ เจนเฉˆ. เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ“เจฐเฉ‡เจ•เจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ, เจคเฉเจธเฉ€เจ‚ เจธเจผเจพเจ‡เจฆ เจจเจฟเจธเจผเจšเจฟเจค เจ•เจฐเจจเจพ เจšเจพเจนเฉ‹เจ—เฉ‡:

  • เจคเฉเจนเจพเจกเฉ€ เจฎเฉ‡เจœเจผ เจ•เจฟเจธ เจŸเฉ‡เจฌเจฒเจธเจชเฉ‡เจธ เจตเจฟเฉฑเจš เจนเฉˆ
  • เจ‰เจธเจฆเจพ PCTFREE เจฎเฉเฉฑเจฒ เจ•เฉ€ เจนเฉˆ
  • เจคเฉเจนเจพเจกเฉ‡ เจ•เฉเจฐเจฎ เจตเจฟเฉฑเจš เจ•เฉˆเจธเจผ เจฆเจพ เจ†เจ•เจพเจฐ เจ•เฉ€ เจนเฉˆ (เจ†เจˆเจกเฉ€ เจฆเฉ‡ เจชเจฟเฉฑเจ›เฉ‡)

เจ‡เจน เจธเจญ เจ›เฉ‹เจŸเฉ€เจ†เจ‚ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš เจฎเจพเจ‡เจจเฉ‡ เจจเจนเฉ€เจ‚ เจฐเฉฑเจ–เจฆเจพ, เจชเจฐ "เจตเฉฑเจกเฉ‡ เจกเฉ‡เจŸเจพ" เจฆเฉ‡ เจ–เฉ‡เจคเจฐ เจตเจฟเฉฑเจš เจชเจฐเจฟเจตเจฐเจคเจจ เจคเฉฑเจ• เจ‡เฉฐเจคเจœเจผเจพเจฐ เจ•เจฐเจจเจพ เจœเจผเจฐเฉ‚เจฐเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆ - เจคเฉเจธเฉ€เจ‚ เจตเจฟเจ•เจฐเฉ‡เจคเจพ เจฆเฉเจ†เจฐเจพ เจชเฉเจฐเจฆเจพเจจ เจ•เฉ€เจคเฉ‡ เจธเจŸเฉ‹เจฐเฉ‡เจœ เจ“เจชเจŸเฉ€เจฎเจพเจˆเจœเฉ‡เจธเจผเจจเจพเจ‚ เจคเฉ‹เจ‚ เจฒเจพเจญ เจฒเฉˆเจฃเจพ เจธเจผเฉเจฐเฉ‚ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹, เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเฉ‡ เจ—เจ, เจฌเจนเฉเจค เจชเจนเจฟเจฒเจพเจ‚เฅค เจฎเฉ‡เจฐเฉ‡ เจฆเฉเจ†เจฐเจพ เจฆเฉ‡เจ–เฉ‡ เจ—เจ ORM เจตเจฟเฉฑเจšเฉ‹เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ (jOOQ เจธเจฎเฉ‡เจค) DDL เจตเจฟเจ•เจฒเจชเจพเจ‚ เจฆเฉ‡ เจชเฉ‚เจฐเฉ‡ เจธเฉˆเฉฑเจŸ เจคเฉฑเจ• เจชเจนเฉเฉฐเจš เจชเฉเจฐเจฆเจพเจจ เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจคเฉเจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจตเจฐเจคเจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเฉ‹เฅค ORM เจคเฉเจนเจพเจจเฉ‚เฉฐ DDL เจฒเจฟเจ–เจฃ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจจ เจฒเจˆ เจ•เฉเจ เจŸเฉ‚เจฒ เจชเฉ‡เจธเจผ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค

เจชเจฐ เจฆเจฟเจจ เจฆเฉ‡ เจ…เฉฐเจค เจตเจฟเฉฑเจš, เจ‡เฉฑเจ• เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจธเจ•เฉ€เจฎเจพ DDL เจตเจฟเฉฑเจš เจนเฉฑเจฅ เจจเจพเจฒ เจฒเจฟเจ–เฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆเฅค เจ•เฉ‹เจˆ เจตเฉ€ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ DDL เจ‡เจธเจฆเจพ เจธเจฟเจฐเจซ เจ‡เฉฑเจ• เจ…เจจเฉเจฎเจพเจจ เจนเฉˆเฅค

เจ—เจพเจนเจ• เจฎเจพเจกเจฒ เจฌเจพเจฐเฉ‡ เจ•เฉ€?

เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ เจ‰เฉฑเจชเจฐ เจฆเฉฑเจธเจฟเจ† เจ—เจฟเจ† เจนเฉˆ, เจ•เจฒเจพเจ‡เฉฐเจŸ 'เจคเฉ‡ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจธเจ•เฉ€เจฎเจพ, เจ•เจฒเจพเจ‡เฉฐเจŸ เจตเจฟเจŠ เจฆเฉ€ เจ‡เฉฑเจ• เจ•เจพเจชเฉ€ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค เจ•เจนเจฟเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจจเจนเฉ€เจ‚, เจ‡เจน เจ•เจฒเจพเจ‡เฉฐเจŸ เจฆเฉเจฐเจฟเจธเจผ เจ…เจธเจฒ เจฎเจพเจกเจฒ เจฆเฉ‡ เจจเจพเจฒ เจธเจฎเจ•เจพเจฒเฉ€ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจจเฉ‚เฉฐ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจ เจฆเจพ เจธเจญ เจคเฉ‹เจ‚ เจตเจงเฉ€เจ† เจคเจฐเฉ€เจ•เจพ เจ•เฉ€ เจนเฉˆ? เจ‡เฉฑเจ• เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจฆเฉ‡ เจจเจพเจฒ.

เจธเจพเจฐเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ SQL เจฐเจพเจนเฉ€เจ‚ เจ†เจชเจฃเฉ€ เจฎเฉˆเจŸเจพ-เจœเจพเจฃเจ•เจพเจฐเฉ€ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเจจเฅค เจ‡เฉฑเจฅเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจคเฉ‹เจ‚ เจตเฉฑเจ–-เจตเฉฑเจ– SQL เจ‰เจชเจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจธเจพเจฐเฉ€เจ†เจ‚ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจตเฉ‡เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจนเฉˆ:

	-- H2, HSQLDB, MySQL, PostgreSQL, SQL Server
SELECT table_schema, table_name
FROM information_schema.tables
 
-- DB2
SELECT tabschema, tabname
FROM syscat.tables
 
-- Oracle
SELECT owner, table_name
FROM all_tables
 
-- SQLite
SELECT name
FROM sqlite_master
 
-- Teradata
SELECT databasename, tablename
FROM dbc.tables

เจ‡เจน เจชเฉเฉฑเจ›เจ—เจฟเฉฑเจ›เจพเจ‚ (เจœเจพเจ‚ เจธเจฎเจพเจจ, เจ‡เจธ เจ—เฉฑเจฒ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจ•เฉ€ เจคเฉเจนเจพเจจเฉ‚เฉฐ เจตเจฟเจšเจพเจฐเจพเจ‚, เจฎเจŸเฉ€เจฐเฉ€เจ…เจฒเจพเจˆเจœเจผเจก เจตเจฟเจฏเฉ‚เจœเจผ, เจŸเฉ‡เจฌเจฒ-เจฎเฉเฉฑเจฒ เจตเจพเจฒเฉ‡ เจซเฉฐเจ•เจธเจผเจจเจพเจ‚ 'เจคเฉ‡ เจตเฉ€ เจตเจฟเจšเจพเจฐ เจ•เจฐเจจเจพ เจนเฉˆ) เจจเฉ‚เฉฐ เจตเฉ€ เจ•เจพเจฒ เจ•เจฐเจ•เฉ‡ เจšเจฒเจพเจ‡เจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆเฅค DatabaseMetaData.getTables() JDBC เจคเฉ‹เจ‚, เจœเจพเจ‚ jOOQ เจฎเฉˆเจŸเจพ-เจฎเฉ‹เจกเจฟเจŠเจฒ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจเฅค

เจ…เจœเจฟเจนเฉ‡ เจธเจตเจพเจฒเจพเจ‚ เจฆเฉ‡ เจจเจคเฉ€เจœเจฟเจ†เจ‚ เจคเฉ‹เจ‚, เจคเฉเจนเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจกเจฒ เจฆเฉ€ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจ•เจฒเจพเจ‡เฉฐเจŸ-เจธเจพเจˆเจก เจชเฉเจฐเจคเฉ€เจจเจฟเจงเจคเจพ เจจเฉ‚เฉฐ เจฌเจฃเจพเจ‰เจฃเจพ เจฎเฉเจ•เจพเจฌเจฒเจคเจจ เจ†เจธเจพเจจ เจนเฉˆ, เจญเจพเจตเฉ‡เจ‚ เจคเฉเจธเฉ€เจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ 'เจคเฉ‡ เจ•เจฟเจนเฉœเฉ€ เจคเจ•เจจเฉ€เจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค

  • เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจœเฉ‡เจกเฉ€เจฌเฉ€เจธเฉ€ เจœเจพเจ‚ เจธเจชเจฐเจฟเฉฐเจ— เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจธเจคเจฐ เจธเจฅเจฟเจฐเจพเจ‚เจ• เจฆเจพ เจ‡เฉฑเจ• เจธเฉˆเฉฑเจŸ เจฌเจฃเจพ เจธเจ•เจฆเฉ‡ เจนเฉ‹
  • เจœเฉ‡ เจคเฉเจธเฉ€เจ‚ เจœเฉ‡เจชเฉ€เจ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ เจ–เฉเจฆ เจ‡เจ•เจพเจˆเจ†เจ‚ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹
  • เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ jOOQ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹ เจคเจพเจ‚ เจคเฉเจธเฉ€เจ‚ jOOQ เจฎเฉˆเจŸเจพ เจฎเจพเจกเจฒ เจคเจฟเจ†เจฐ เจ•เจฐ เจธเจ•เจฆเฉ‡ เจนเฉ‹

เจคเฉเจนเจพเจกเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ API เจฆเฉเจ†เจฐเจพ เจ•เจฟเฉฐเจจเฉ€ เจธเจฎเจฐเฉฑเจฅเจพ เจฆเฉ€ เจชเฉ‡เจธเจผเจ•เจธเจผ เจ•เฉ€เจคเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ (เจœเจฟเจตเฉ‡เจ‚ เจ•เจฟ jOOQ เจœเจพเจ‚ JPA) 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจฟเจ†เจ‚, เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจฎเฉˆเจŸเจพ เจฎเจพเจกเจฒ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจ…เจฎเฉ€เจฐ เจ…เจคเฉ‡ เจธเฉฐเจชเฉ‚เจฐเจจ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจ…เจชเฉเจฐเจคเฉฑเจ– เจœเฉ‹เฉœเจพเจ‚ เจฆเฉ€ เจธเฉฐเจญเจพเจตเจจเจพ เจจเฉ‚เฉฐ เจฒเจ“, jOOQ 3.11 เจตเจฟเฉฑเจš เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจ—เจฟเจ† เจนเฉˆ, เจœเฉ‹ เจคเฉเจนเจพเจกเฉ€เจ†เจ‚ เจŸเฉ‡เจฌเจฒเจพเจ‚ เจตเจฟเจšเจ•เจพเจฐ เจตเจฟเจฆเฉ‡เจธเจผเฉ€ เจ•เฉเฉฐเจœเฉ€ เจธเจฌเฉฐเจงเจพเจ‚ เจฌเจพเจฐเฉ‡ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ€ เจฎเฉˆเจŸเจพ-เจœเจพเจฃเจ•เจพเจฐเฉ€ 'เจคเฉ‡ เจจเจฟเจฐเจญเจฐ เจ•เจฐเจฆเจพ เจนเฉˆเฅค

เจนเฉเจฃ เจ•เฉ‹เจˆ เจตเฉ€ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจตเจพเจงเจพ เจ†เจชเจฃเฉ‡ เจ†เจช เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจ…เจชเจกเฉ‡เจŸ เจ•เจฐเฉ‡เจ—เจพเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ เจ•เจฒเจชเจจเจพ เจ•เจฐเฉ‹:

ALTER TABLE book RENAME COLUMN title TO book_title;

เจ•เฉ€ เจคเฉเจธเฉ€เจ‚ เจธเฉฑเจšเจฎเฉเฉฑเจš เจ‡เจน เจ•เฉฐเจฎ เจฆเฉ‹ เจตเจพเจฐ เจ•เจฐเจจเจพ เจšเจพเจนเฉ‹เจ—เฉ‡? เจ•เจฟเจธเฉ‡ เจตเฉ€ เจนเจพเจฒเจค เจตเจฟเฉฑเจš. เจ…เจธเฉ€เจ‚ เจธเจฟเจฐเจซเจผ DDL เจจเฉ‚เฉฐ เจตเจšเจจเจฌเฉฑเจง เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚, เจ‡เจธเจจเฉ‚เฉฐ เจคเฉเจนเจพเจกเฉ€ เจฌเจฟเจฒเจก เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฐเจพเจนเฉ€เจ‚ เจšเจฒเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจ…เจคเฉ‡ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ€ เจ‡เจ•เจพเจˆ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจฆเฉ‡ เจนเจพเจ‚:

@Entity
@Table(name = "book", indexes = {
 
  // ะ’ั‹ ะพะฑ ัั‚ะพะผ ะทะฐะดัƒะผั‹ะฒะฐะปะธััŒ?
  @Index(name = "i_book_title", columnList = "book_title")
})
class Book {
  @Id
  @GeneratedValue(strategy = IDENTITY)
  int id;
 
  @Column("book_title")
  String bookTitle;
}

เจœเจพเจ‚ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเฉ€ jOOQ เจ•เจฒเจพเจธเฅค เจœเจผเจฟเจ†เจฆเจพเจคเจฐ DDL เจคเจฌเจฆเฉ€เจฒเฉ€เจ†เจ‚ เจ•เฉ‡เจตเจฒ เจธเฉฐเจŸเฉˆเจ•เจธ เจนเฉ€ เจจเจนเฉ€เจ‚, เจ…เจฐเจฅ เจตเจฟเจ—เจฟเจ†เจจ เจจเฉ‚เฉฐ เจตเฉ€ เจชเฉเจฐเจญเจพเจตเจฟเจค เจ•เจฐเจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ‡เจธ เจฒเจˆ, เจ•เฉฐเจชเจพเจ‡เจฒ เจ•เฉ€เจคเฉ‡ เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ‡เจน เจฆเฉ‡เจ–เจฃเจพ เจธเฉเจตเจฟเจงเจพเจœเจจเจ• เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเฉ‚เฉฐ เจตเจงเจพเจ‰เจฃ เจจเจพเจฒ เจ•เจฟเจนเฉœเจพ เจ•เฉ‹เจก เจชเฉเจฐเจญเจพเจตเจฟเจค เจนเฉ‹เจตเฉ‡เจ—เจพ (เจœเจพเจ‚ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ)เฅค

เจธเจฟเจฐเจซ เจธเฉฑเจš

เจšเจพเจนเฉ‡ เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจนเฉœเฉ€ เจคเจ•เจจเฉ€เจ• เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹, เจ‡เฉฑเจฅเฉ‡ เจนเจฎเฉ‡เจธเจผเจพ เจ‡เฉฑเจ• เจฎเจพเจกเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจ•เจฟเจธเฉ‡ เจ‰เจช-เจชเฉเจฐเจฃเจพเจฒเฉ€ เจฒเจˆ เจธเฉฑเจšเจพเจˆ เจฆเจพ เจ‡เฉฑเจ•เฉ‹ เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจนเฉเฉฐเจฆเจพ เจนเฉˆ - เจœเจพเจ‚ เจ˜เฉฑเจŸเฉ‹ เจ˜เฉฑเจŸ เจธเจพเจจเฉ‚เฉฐ เจ‡เจธเจฆเฉ‡ เจฒเจˆ เจ•เฉ‹เจธเจผเจฟเจธเจผ เจ•เจฐเจจเฉ€ เจšเจพเจนเฉ€เจฆเฉ€ เจนเฉˆ เจ…เจคเฉ‡ เจ‰เฉฑเจฆเจฎ เจ‰เจฒเจเจฃ เจคเฉ‹เจ‚ เจฌเจšเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจœเจฟเฉฑเจฅเฉ‡ "เจธเฉฑเจš" เจนเจฐ เจœเจ—เฉเจนเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฟเจคเฉ‡ เจตเฉ€ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจธเจญ เจ•เฉเจ เจฌเจนเฉเจค เจธเฉŒเจ–เจพ เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆ. เจœเฉ‡เจ•เจฐ เจคเฉเจธเฉ€เจ‚ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจธเจฟเจฐเจซเจผ XML เจซเจผเจพเจˆเจฒเจพเจ‚ เจฆเจพ เจ†เจฆเจพเจจ-เจชเฉเจฐเจฆเจพเจจ เจ•เจฐ เจฐเจนเฉ‡ เจนเฉ‹, เจคเจพเจ‚ เจธเจฟเจฐเจซเจผ XSD เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเฉ‹เฅค XML เจฐเฉ‚เจช เจตเจฟเฉฑเจš jOOQ เจฆเฉ‡ INFORMATION_SCHEMA เจฎเฉˆเจŸเจพ-เจฎเจพเจกเจฒ 'เจคเฉ‡ เจ‡เฉฑเจ• เจจเจœเจผเจฐ เจฎเจพเจฐเฉ‹:
https://www.jooq.org/xsd/jooq-meta-3.10.0.xsd

  • XSD เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเจฎเจเจฟเจ† เจœเจพเจ‚เจฆเจพ เจนเฉˆ
  • XSD XML เจธเจฎเฉฑเจ—เจฐเฉ€ เจจเฉ‚เฉฐ เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจฎเจพเจฐเจ• เจ•เจฐเจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจธเจพเจฐเฉ€เจ†เจ‚ เจ•เจฒเจพเจ‡เฉฐเจŸ เจญเจพเจธเจผเจพเจตเจพเจ‚ เจตเจฟเฉฑเจš เจชเฉเจฐเจฎเจพเจฃเจฟเจ•เจคเจพ เจฆเฉ€ เจ†เจ—เจฟเจ† เจฆเจฟเฉฐเจฆเจพ เจนเฉˆ
  • XSD เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจธเฉฐเจธเจ•เจฐเจฃ เจตเจพเจฒเจพ เจ…เจคเฉ‡ เจฌเจนเฉเจค เจนเฉ€ เจชเจฟเจ›เฉœเฉ‡ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉˆ
  • XSD เจจเฉ‚เฉฐ XJC เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ Java เจ•เฉ‹เจก เจตเจฟเฉฑเจš เจ…เจจเฉเจตเจพเจฆ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ

เจ†เจ–เจฐเฉ€ เจฌเจฟเฉฐเจฆเฉ‚ เจฎเจนเฉฑเจคเจตเจชเฉ‚เจฐเจจ เจนเฉˆ. XML เจธเฉเจจเฉ‡เจนเจฟเจ†เจ‚ เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เจ เจ‡เฉฑเจ• เจฌเจพเจนเจฐเฉ€ เจธเจฟเจธเจŸเจฎ เจจเจพเจฒ เจธเฉฐเจšเจพเจฐ เจ•เจฐเจฆเฉ‡ เจธเจฎเฉ‡เจ‚, เจ…เจธเฉ€เจ‚ เจ‡เจน เจฏเจ•เฉ€เจจเฉ€ เจฌเจฃเจพเจ‰เจฃเจพ เจšเจพเจนเฉเฉฐเจฆเฉ‡ เจนเจพเจ‚ เจ•เจฟ เจธเจพเจกเฉ‡ เจธเฉเจจเฉ‡เจนเฉ‡ เจตเฉˆเจง เจนเจจเฅค เจ‡เจน JAXB, XJC เจ…เจคเฉ‡ XSD เจจเจพเจฒ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเจพ เจฌเจนเฉเจค เจ†เจธเจพเจจ เจนเฉˆเฅค เจ‡เจน เจธเฉ‹เจšเจฃเจพ เจชเฉ‚เจฐเฉ€ เจคเจฐเฉเจนเจพเจ‚ เจชเจพเจ—เจฒเจชเจจ เจนเฉ‹เจตเฉ‡เจ—เจพ เจ•เจฟ, เจ‡เฉฑเจ• เจœเจพเจตเจพ-เจชเจนเจฟเจฒเฉ€ เจกเจฟเจœเจผเจพเจ‡เจจ เจชเจนเฉเฉฐเจš เจตเจฟเฉฑเจš เจœเจฟเฉฑเจฅเฉ‡ เจ…เจธเฉ€เจ‚ เจ†เจชเจฃเฉ‡ เจธเฉฐเจฆเฉ‡เจธเจผเจพเจ‚ เจจเฉ‚เฉฐ เจœเจพเจตเจพ เจ†เจฌเจœเฉˆเจ•เจŸ เจฌเจฃเจพเจ‰เจ‚เจฆเฉ‡ เจนเจพเจ‚, เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจคเจฐเฉเจนเจพเจ‚ XML เจจเฉ‚เฉฐ เจธเจฎเจเจฆเจพเจฐเฉ€ เจจเจพเจฒ เจชเฉ‡เจธเจผ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆ เจ…เจคเฉ‡ เจ•เจฟเจธเฉ‡ เจนเฉ‹เจฐ เจธเจฟเจธเจŸเจฎ เจจเฉ‚เฉฐ เจ–เจชเจค เจฒเจˆ เจญเฉ‡เจœเจฟเจ† เจœเจพ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจ‡เจธ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจคเจฟเจ†เจฐ เจ•เฉ€เจคเจพ เจ—เจฟเจ† XML เจฌเจนเฉเจค เจนเฉ€ เจ˜เจŸเฉ€เจ† เจ—เฉเจฃเจตเฉฑเจคเจพ เจตเจพเจฒเจพ, เจ—เฉˆเจฐ-เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€, เจ…เจคเฉ‡ เจตเจฟเจ•เจธเจค เจ•เจฐเจจเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค เจœเฉ‡เจ•เจฐ เจ…เจœเจฟเจนเฉ‡ เจ‡เฉฐเจŸเจฐเจซเฉ‡เจธ 'เจคเฉ‡ เจธเฉ‡เจตเจพ เจฆเฉ€ เจ—เฉเจฃเจตเฉฑเจคเจพ (SLA) เจฆเฉ‡ เจชเฉฑเจงเจฐ 'เจคเฉ‡ เจ•เฉ‹เจˆ เจธเจฎเจเฉŒเจคเจพ เจนเฉเฉฐเจฆเจพ, เจคเจพเจ‚ เจ…เจธเฉ€เจ‚ เจคเฉเจฐเฉฐเจค เจ‡เจธ เจจเฉ‚เฉฐ เจ–เจฐเจพเจฌ เจ•เจฐ เจฆเฉ‡เจตเจพเจ‚เจ—เฉ‡เฅค

เจˆเจฎเจพเจจเจฆเจพเจฐ เจนเฉ‹เจฃ เจฒเจˆ, เจ‡เจน เจฌเจฟเจฒเจ•เฉเจฒ เจ‰เจนเฉ€ เจนเฉเฉฐเจฆเจพ เจนเฉˆ เจœเฉ‹ เจนเจฐ เจธเจฎเฉ‡เจ‚ JSON API เจจเจพเจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆ, เจชเจฐ เจ‡เจน เจ‡เจ• เจนเฉ‹เจฐ เจ•เจนเจพเจฃเฉ€ เจนเฉˆ, เจฎเฉˆเจ‚ เจ…เจ—เจฒเฉ€ เจตเจพเจฐ เจฌเจนเจฟเจธ เจ•เจฐเจพเจ‚เจ—เจพ ...

เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ: เจ‰เจน เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจนเจจ

เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ, เจคเฉเจธเฉ€เจ‚ เจธเจฎเจเจฆเฉ‡ เจนเฉ‹ เจ•เจฟ เจ‰เจน เจธเจพเจฐเฉ‡ เจฎเฉ‚เจฒ เจฐเฉ‚เจช เจตเจฟเฉฑเจš เจ‡เฉฑเจ•เฉ‹ เจœเจฟเจนเฉ‡ เจนเจจ. เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจ‡เจธเจฆเฉ‡ เจกเฉ‡เจŸเจพ เจฆเจพ เจฎเจพเจฒเจ• เจนเฉˆ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจธเจ•เฉ€เจฎเจพ เจฆเจพ เจชเฉเจฐเจฌเฉฐเจงเจจ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจธเจ•เฉ€เจฎเจพ เจตเจฟเฉฑเจš เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ—เจˆเจ†เจ‚ เจ•เฉ‹เจˆ เจตเฉ€ เจธเฉ‹เจงเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฟเฉฑเจงเฉ‡ DDL เจตเจฟเฉฑเจš เจฒเจพเจ—เฉ‚ เจ•เฉ€เจคเจพ เจœเจพเจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจธเฉฑเจšเจพเจˆ เจฆเฉ‡ เจ‡เฉฑเจ•เจฒเฉ‡ เจธเจฐเฉ‹เจค เจจเฉ‚เฉฐ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เฉ€เจคเจพ เจœเจพ เจธเจ•เฉ‡เฅค

เจœเจฆเฉ‹เจ‚ เจธเจฐเฉ‹เจค เจ…เฉฑเจชเจกเฉ‡เจŸ เจนเฉ‹ เจœเจพเจ‚เจฆเจพ เจนเฉˆ, เจคเจพเจ‚ เจธเจพเจฐเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจฎเจพเจกเจฒ เจฆเฉ€เจ†เจ‚ เจ•เจพเจชเฉ€เจ†เจ‚ เจจเฉ‚เฉฐ เจตเฉ€ เจ…เฉฑเจชเจกเฉ‡เจŸ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค เจ•เฉเจ เจ•เจฒเจพเจ‡เฉฐเจŸเจธ เจœเจพเจตเจพ เจตเจฟเฉฑเจš jOOQ เจ…เจคเฉ‡ เจนเจพเจˆเจฌเจฐเจจเฉ‡เจŸ เจœเจพเจ‚ JDBC (เจœเจพเจ‚ เจฆเฉ‹เจตเฉ‡เจ‚) เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจ•เจฐเจ•เฉ‡ เจฒเจฟเจ–เฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจเฅค เจนเฉ‹เจฐ เจ•เจฒเจพเจ‡เฉฐเจŸเจธ เจชเจฐเจฒ เจตเจฟเฉฑเจš เจฒเจฟเจ–เฉ‡ เจœเจพ เจธเจ•เจฆเฉ‡ เจนเจจ (เจ†เจ“ เจ‰เจนเจจเจพเจ‚ เจฆเฉ€ เจ•เจฟเจธเจฎเจค เจฆเฉ€ เจ•เจพเจฎเจจเจพ เจ•เจฐเฉ€เจ), เจนเฉ‹เจฐ C# เจตเจฟเฉฑเจšเฅค เจ‡เจธ เจจเจพเจฒ เจ•เฉ‹เจˆ เจซเจผเจฐเจ• เจจเจนเฉ€เจ‚ เจชเฉˆเจ‚เจฆเจพเฅค เจฎเฉเฉฑเจ– เจฎเจพเจกเจฒ เจกเจพเจŸเจพเจฌเฉ‡เจธ เจตเจฟเฉฑเจš เจนเฉˆ. ORM-เจคเจฟเจ†เจฐ เจ•เฉ€เจคเฉ‡ เจฎเจพเจกเจฒ เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจฎเจพเฉœเฉ€ เจ•เฉเจ†เจฒเจฟเจŸเฉ€ เจฆเฉ‡ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจฎเจพเฉœเฉ‡ เจฆเจธเจคเจพเจตเฉ‡เจœเจผเฉ€ เจนเฉเฉฐเจฆเฉ‡ เจนเจจ, เจ…เจคเฉ‡ เจตเจฟเจ•เจธเจค เจ•เจฐเจจเจพ เจฎเฉเจธเจผเจ•เจฒ เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจ‡เจธ เจฒเจˆ เจ—เจฒเจคเฉ€เจ†เจ‚ เจจเจพ เจ•เจฐเฉ‹เฅค เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจ—เจผเจฒเจคเฉ€เจ†เจ‚ เจจเจพ เจ•เจฐเฉ‹เฅค เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจคเฉ‹เจ‚ เจ•เฉฐเจฎ เจ•เจฐเฉ‹เฅค เจ‡เฉฑเจ• เจคเฉˆเจจเจพเจคเฉ€ เจชเจพเจˆเจชเจฒเจพเจˆเจจ เจฌเจฃเจพเจ“ เจœเฉ‹ เจธเจตเฉˆเจšเจฒเจฟเจค เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆเฅค เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐเจพเจ‚ เจจเฉ‚เฉฐ เจ†เจชเจฃเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจกเจฒ เจฆเฉ€ เจ†เจธเจพเจจเฉ€ เจจเจพเจฒ เจจเจ•เจฒ เจ•เจฐเจจ เจ…เจคเฉ‡ เจ‡เจธเจจเฉ‚เฉฐ เจ—เจพเจนเจ•เจพเจ‚ 'เจคเฉ‡ เจกเฉฐเจช เจ•เจฐเจจ เจฒเจˆ เจธเจฎเจฐเฉฑเจฅ เจฌเจฃเจพเจ“เฅค เจ…เจคเฉ‡ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐเจพเจ‚ เจฌเจพเจฐเฉ‡ เจšเจฟเฉฐเจคเจพ เจ•เจฐเจจเจพ เจฌเฉฐเจฆ เจ•เจฐเฉ‹. เจ‰เจน เจšเฉฐเจ—เฉ‡ เจนเจจเฅค เจ‰เจนเจจเจพเจ‚ เจฆเฉ‡ เจจเจพเจฒ, เจคเฉเจธเฉ€เจ‚ เจตเจงเฉ‡เจฐเฉ‡ เจฒเจพเจญเจ•เจพเจฐเฉ€ เจฌเจฃเฉ‹เจ—เฉ‡. เจคเฉเจนเจพเจจเฉ‚เฉฐ เจฌเจธ เจธเจผเฉเจฐเฉ‚ เจคเฉ‹เจ‚ เจนเฉ€ เจ‰เจนเจจเจพเจ‚ เจจเฉ‚เฉฐ เจธเจฅเจพเจชเจค เจ•เจฐเจจ เจฒเจˆ เจฅเฉ‹เฉœเฉเจนเจพ เจธเจฎเจพเจ‚ เจฌเจฟเจคเจพเจ‰เจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆ, เจ…เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ†เจชเจฃเฉ‡ เจชเฉเจฐเฉ‹เจœเฉˆเจ•เจŸ เจฆเฉ€ เจ•เจนเจพเจฃเฉ€ เจฌเจฃเจพเจ‰เจฃ เจฒเจˆ เจ•เจˆ เจธเจพเจฒเจพเจ‚ เจฆเฉ€ เจฌเจฟเจนเจคเจฐ เจ•เจพเจฐเจ—เฉเจœเจผเจพเจฐเฉ€ เจนเฉ‹เจตเฉ‡เจ—เฉ€เฅค

เจฎเฉˆเจจเฉ‚เฉฐ เจ…เจœเฉ‡, เจฌเจพเจ…เจฆ เจตเจฟเฉฑเจš เจงเฉฐเจจเจตเจพเจฆ เจจเจพ เจ•เจฐเฉ‹.

เจตเจฟเจ†เจ–เจฟเจ†

เจธเจชเฉฑเจธเจผเจŸ เจนเฉ‹เจฃ เจฒเจˆ: เจ‡เจน เจฒเฉ‡เจ– เจ•เจฟเจธเฉ‡ เจตเฉ€ เจคเจฐเฉ€เจ•เฉ‡ เจจเจพเจฒ เจ‡เจธ เจ—เฉฑเจฒ เจฆเฉ€ เจตเจ•เจพเจฒเจค เจจเจนเฉ€เจ‚ เจ•เจฐเจฆเจพ เจนเฉˆ เจ•เจฟ เจคเฉเจนเจพเจกเฉ‡ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจซเจฟเฉฑเจŸ เจ•เจฐเจจ เจฒเจˆ เจชเฉ‚เจฐเฉ‡ เจธเจฟเจธเจŸเจฎ (เจœเจฟเจตเฉ‡เจ‚, เจกเฉ‹เจฎเฉ‡เจจ, เจตเจชเจพเจฐเจ• เจคเจฐเจ•, เจ†เจฆเจฟ, เจ†เจฆเจฟ) เจจเฉ‚เฉฐ เจฒเจšเจ•เฉ€เจฒเฉ‡ เจœเจพเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจฎเฉˆเจ‚ เจ‡เจธ เจฒเฉ‡เจ– เจตเจฟเฉฑเจš เจœเจฟเจธ เจฌเจพเจฐเฉ‡ เจ—เฉฑเจฒ เจ•เจฐ เจฐเจฟเจนเจพ เจนเจพเจ‚ เจ‰เจน เจ‡เจน เจนเฉˆ เจ•เจฟ เจ‡เฉฑเจ• เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจจเจพเจฒ เจ‡เฉฐเจŸเจฐเฉˆเจ•เจŸ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ เจ•เฉ‹เจก เจจเฉ‚เฉฐ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจกเจฒ เจฆเฉ‡ เจ†เจงเจพเจฐ 'เจคเฉ‡ เจ•เฉฐเจฎ เจ•เจฐเจจเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆ เจคเจพเจ‚ เจœเฉ‹ เจ‡เจน เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ "เจชเจนเจฟเจฒเฉ€ เจธเจผเฉเจฐเฉ‡เจฃเฉ€" เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš เจฆเฉเจฌเจพเจฐเจพ เจชเฉ‡เจธเจผ เจจเจพ เจ•เจฐเฉ‡เฅค เจ…เจœเจฟเจนเจพ เจคเจฐเจ• เจ†เจฎ เจคเฉŒเจฐ 'เจคเฉ‡ เจคเฉเจนเจพเจกเฉ‡ เจ•เจฒเจพเจ‡เฉฐเจŸ 'เจคเฉ‡ เจกเฉ‡เจŸเจพ เจเจ•เจธเฉˆเจธ เจฒเฉ‡เจ…เจฐ 'เจคเฉ‡ เจธเจฅเจฟเจค เจนเฉเฉฐเจฆเจพ เจนเฉˆเฅค

เจฆเฉ‹-เจชเฉฑเจงเจฐเฉ€ เจ†เจฐเจ•เฉ€เจŸเฉˆเจ•เจšเจฐ เจตเจฟเฉฑเจš, เจœเฉ‹ เจ…เจœเฉ‡ เจตเฉ€ เจ•เฉเจ เจธเจฅเจพเจจเจพเจ‚ เจตเจฟเฉฑเจš เจธเฉเจฐเฉฑเจ–เจฟเจ…เจค เจนเจจ, เจ…เจœเจฟเจนเจพ เจธเจฟเจธเจŸเจฎ เจฎเจพเจกเจฒ เจธเฉฐเจญเจต เจนเฉ‹ เจธเจ•เจฆเจพ เจนเฉˆเฅค เจนเจพเจฒเจพเจ‚เจ•เจฟ, เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจชเฉเจฐเจฃเจพเจฒเฉ€เจ†เจ‚ เจตเจฟเฉฑเจš, เจกเฉ‡เจŸเจพ เจเจ•เจธเฉˆเจธ เจฒเฉ‡เจ…เจฐ เจฎเฉˆเจจเฉ‚เฉฐ เจ‡เฉฑเจ• "เจธเจฌเจธเจฟเจธเจŸเจฎ" เจœเจพเจชเจฆเฉ€ เจนเฉˆ เจœเฉ‹ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจฎเจพเจกเจฒ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจฆเฉ€ เจนเฉˆเฅค

เจ…เจชเจตเจพเจฆ

เจนเจฐ เจจเจฟเจฏเจฎ เจฆเฉ‡ เจ…เจชเจตเจพเจฆ เจนเจจ, เจ…เจคเฉ‡ เจฎเฉˆเจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจ•เจฟเจนเจพ เจนเฉˆ เจ•เจฟ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ เจชเจนเจฟเจฒเจพเจ‚ เจ…เจคเฉ‡ เจธเจฐเฉ‹เจค เจ•เฉ‹เจก เจฌเจฃเจพเจ‰เจฃ เจฆเฉ€ เจชเจนเฉเฉฐเจš เจ•เจˆ เจตเจพเจฐ เจ…เจฃเจ‰เจšเจฟเจค เจนเฉ‹ เจธเจ•เจฆเฉ€ เจนเฉˆ. เจ‡เฉฑเจฅเฉ‡ เจ…เจœเจฟเจนเฉ‡ เจ•เฉเจ เจ…เจชเจตเจพเจฆ เจนเจจ (เจธเจผเจพเจ‡เจฆ เจนเฉ‹เจฐ เจตเฉ€ เจนเจจ):

  • เจœเจฆเฉ‹เจ‚ เจธเจ•เฉ€เจฎเจพ เจ…เจฃเจœเจพเจฃ เจนเฉˆ เจ…เจคเฉ‡ เจ–เฉ‹เจฒเฉเจนเจฃ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉˆเฅค เจ‰เจฆเจพเจนเจฐเจจ เจฒเจˆ, เจคเฉเจธเฉ€เจ‚ เจ‰เจชเจญเฉ‹เจ—เจคเจพเจตเจพเจ‚ เจจเฉ‚เฉฐ เจ•เจฟเจธเฉ‡ เจตเฉ€ เจšเจฟเฉฑเจคเจฐ เจจเฉ‚เฉฐ เจจเฉˆเจตเฉ€เจ—เฉ‡เจŸ เจ•เจฐเจจ เจตเจฟเฉฑเจš เจฎเจฆเจฆ เจ•เจฐเจจ เจฒเจˆ เจ‡เฉฑเจ• เจŸเฉ‚เจฒ เจชเฉเจฐเจฆเจพเจจ เจ•เจฐเจฆเฉ‡ เจนเฉ‹เฅค เจซเฉ‚. เจ‡เฉฑเจฅเฉ‡ เจ•เฉ‹เจˆ เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจธเจผเจจ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจชเจฐ เจซเจฟเจฐ เจตเฉ€ - เจธเจญ เจคเฉ‹เจ‚ เจชเจนเจฟเจฒเจพเจ‚ เจกเฉ‡เจŸเจพเจฌเฉ‡เจธ.
  • เจœเจฆเฉ‹เจ‚ เจ•เจฟเจธเฉ‡ เจธเจฎเฉฑเจธเจฟเจ† เจจเฉ‚เฉฐ เจนเฉฑเจฒ เจ•เจฐเจจ เจฒเจˆ เจซเจฒเจพเจˆ 'เจคเฉ‡ เจ‡เฉฑเจ• เจธเจฐเจ•เจŸ เจคเจฟเจ†เจฐ เจ•เจฐเจจ เจฆเฉ€ เจฒเฉ‹เฉœ เจนเฉเฉฐเจฆเฉ€ เจนเฉˆ. เจ‡เจน เจ‰เจฆเจพเจนเจฐเจจ เจชเฉˆเจŸเจฐเจจ เจฆเจพ เจ‡เฉฑเจ• เจฅเฉ‹เฉœเฉเจนเจพ เจซเฉเจฐเฉ€เจฒเฉ€ เจธเฉฐเจธเจ•เจฐเจฃ เจœเจพเจชเจฆเจพ เจนเฉˆ เจ‡เจ•เจพเจˆ เจ—เฉเจฃ เจฎเฉเฉฑเจฒ, เจญเจพเจต, เจคเฉเจนเจพเจกเฉ‡ เจ•เฉ‹เจฒ เจ…เจธเจฒ เจตเจฟเฉฑเจš เจšเฉฐเจ—เฉ€ เจคเจฐเฉเจนเจพเจ‚ เจชเจฐเจฟเจญเจพเจธเจผเจฟเจค เจธเจ•เฉ€เจฎเจพ เจจเจนเฉ€เจ‚ เจนเฉˆเฅค เจ‡เจธ เจธเจฅเจฟเจคเฉ€ เจตเจฟเฉฑเจš, เจคเฉเจธเฉ€เจ‚ เจ…เจ•เจธเจฐ เจ‡เจน เจตเฉ€ เจฏเจ•เฉ€เจจเฉ€ เจจเจนเฉ€เจ‚ เจนเฉ‹ เจธเจ•เจฆเฉ‡ เจ•เจฟ เจ‡เฉฑเจ• RDBMS เจคเฉเจนเจพเจกเฉ‡ เจฒเจˆ เจ…เจจเฉเจ•เฉ‚เจฒ เจนเฉ‹เจตเฉ‡เจ—เจพเฅค

เจ…เจชเจตเจพเจฆ เจ•เฉเจฆเจฐเจค เจฆเฉเจ†เจฐเจพ เจฌเฉ‡เจฎเจฟเจธเจพเจฒ เจนเจจ. RDBMS เจฆเฉ€ เจตเจฐเจคเฉ‹เจ‚ เจจเฉ‚เฉฐ เจธเจผเจพเจฎเจฒ เจ•เจฐเจจ เจตเจพเจฒเฉ‡ เจœเจผเจฟเจ†เจฆเจพเจคเจฐ เจฎเจพเจฎเจฒเจฟเจ†เจ‚ เจตเจฟเฉฑเจš, เจธเจ•เฉ€เจฎเจพ เจชเจนเจฟเจฒเจพเจ‚ เจคเฉ‹เจ‚ เจœเจพเจฃเฉ€ เจœเจพเจ‚เจฆเฉ€ เจนเฉˆ, เจ‡เจน RDBMS เจฆเฉ‡ เจ…เฉฐเจฆเจฐ เจนเฉˆ เจ…เจคเฉ‡ "เจธเฉฑเจš" เจฆเจพ เจ‡เฉฑเจ•เฉ‹ เจ‡เฉฑเจ• เจธเจฐเฉ‹เจค เจนเฉˆ, เจ…เจคเฉ‡ เจธเจพเจฐเฉ‡ เจ—เจพเจนเจ•เจพเจ‚ เจจเฉ‚เฉฐ เจ‡เจธ เจคเฉ‹เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เฉ€เจคเฉ€เจ†เจ‚ เจ•เจพเจชเฉ€เจ†เจ‚ เจชเฉเจฐเจพเจชเจค เจ•เจฐเจจเฉ€เจ†เจ‚ เจชเฉˆเจ‚เจฆเฉ€เจ†เจ‚ เจนเจจเฅค เจ†เจฆเจฐเจธเจผเจ• เจคเฉŒเจฐ 'เจคเฉ‡, เจ‡เจธ เจตเจฟเฉฑเจš เจ‡เฉฑเจ• เจ•เฉ‹เจก เจœเจจเจฐเฉ‡เจŸเจฐ เจธเจผเจพเจฎเจฒ เจนเฉ‹เจฃเจพ เจšเจพเจนเฉ€เจฆเจพ เจนเฉˆเฅค

เจธเจฐเฉ‹เจค: www.habr.com

เจ‡เฉฑเจ• เจŸเจฟเฉฑเจชเจฃเฉ€ เจœเฉ‹เฉœเฉ‹