Vivasoft-logo

āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸ-āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛-āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ (Object Relational Mapping)

[ā§­.ā§§] āĻ­ā§‚āĻŽāĻŋāĻ•āĻž āĻ“ āĻĒāĻ°āĻŋāĻšā§Ÿ (Opening introduction)

āĻŦā§āĻŸāĻ•ā§āĻ¯āĻžāĻŽā§āĻĒā§‡āĻ° āĻāĻ‡ āĻĒāĻ°ā§āĻ¯āĻžā§Ÿā§‡ āĻ†āĻŽāĻ°āĻž ORM āĻŦāĻž Object Relational Mapping āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻšāĻŦā§‹āĨ¤ ORM āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡ āĻ†āĻŽāĻ°āĻž āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°ā§‡ āĻ¨āĻžāĻ¨āĻžāĻ¨ āĻœāĻŸāĻŋāĻ˛ āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻšāĻœ āĻ­āĻžāĻˇāĻžā§Ÿ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ°ā§āĻĨāĻ•ā§āĻ¯ āĻ•ā§‡āĻŦāĻ˛ āĻāĻŸāĻžāĻ‡ āĻ¯ā§‡, SQL āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§‡ āĻ•āĻžāĻœāĻŸāĻž āĻšāĻžāĻ‡ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽāĻŋāĻ‚ āĻ˛ā§āĻ¯āĻžāĻ‚āĻ—ā§ā§Ÿā§‡āĻœ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ‡ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤Â Â 

āĻāĻ‡ āĻšā§āĻ¯āĻžāĻĒā§āĻŸāĻžāĻ°āĻŸāĻŋ āĻ•āĻ¯āĻŧā§‡āĻ• āĻ­āĻžāĻ—ā§‡ āĻŦāĻŋāĻ­āĻ•ā§āĻ¤ –

  1. āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡ ORM-āĻāĻ° āĻāĻ•āĻŸāĻŋ āĻ“āĻ­āĻžāĻ°āĻ­āĻŋāĻ‰ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻļā§āĻ°ā§ āĻ•āĻ°ā§‡, āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ‚ āĻ…āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛ā§‹ āĻ¨āĻŋāĻ¯āĻŧā§‡ āĻ†āĻ˛ā§‹āĻšāĻ¨āĻž āĻ•āĻ°āĻž āĻšāĻŦā§‡āĨ¤Â 
  2. āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§€āĻ¤ā§‡ āĻ†āĻŽāĻ°āĻž āĻĒā§āĻ°āĻŦā§‡āĻļ āĻ•āĻ°āĻŦ Go āĻ¤ā§‡ ORM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĨ¤ āĻ…āĻ¨ā§‡āĻ•āĻ—ā§āĻ˛ā§‹ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻĻā§‡āĻ–āĻž āĻŽāĻŋāĻ˛āĻŦā§‡ āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡āĨ¤Â 
  3. āĻļā§‡āĻˇ āĻ•āĻ°āĻŦ CRUD āĻĢāĻžāĻ‚āĻļāĻ¨āĻ—ā§āĻ˛ā§‹āĻ° āĻĒā§āĻ°ā§Ÿā§‹āĻ—āĻ¸āĻš āĻāĻ•āĻŸāĻž āĻ›ā§‹āĻŸ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸ āĻāĻŦāĻ‚ āĻ¨āĻŋāĻœ āĻĨā§‡āĻ•ā§‡ āĻļā§‡āĻ–āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ•āĻŋāĻ›ā§ āĻ¸āĻžāĻ‡āĻŸ āĻ°ā§‡āĻĢāĻžāĻ°ā§‡āĻ¨ā§āĻ¸ā§‡āĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤Â 

 

āĻļā§āĻ°ā§ āĻ•āĻ°āĻž āĻ¯āĻžāĻ• āĻ¤āĻžāĻšāĻ˛ā§‡ â€Ļ

[ā§­.ā§§.ā§§] ORM āĻ•āĻŋ?

āĻĒā§āĻ°āĻĨāĻŽā§‡āĻ‡ āĻŦāĻ˛ā§‡āĻ›āĻŋ, ORM āĻŦāĻž Object Relational Mapping āĻšāĻšā§āĻ›ā§‡ āĻšāĻžāĻ‡ āĻ˛ā§‡āĻ­ā§‡āĻ˛ āĻ˛ā§āĻ¯āĻžāĻ‚āĻ—ā§ā§Ÿā§‡āĻœā§‡āĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛Â  āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻŦāĻ‚ SQL āĻ•āĻŽāĻžāĻ¨ā§āĻĄ āĻ—ā§āĻ˛ā§‹āĻ° āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž āĻ•ā§‡ āĻ˛ā§āĻ•āĻŋā§Ÿā§‡ āĻ¸āĻšāĻœ āĻ•āĻŋāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻāĻ•āĻ‡ āĻ•āĻžāĻœ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻ•āĻ°āĻžāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ‰āĻĒāĻžāĻĻāĻžāĻ¨ āĻ—ā§āĻ˛ā§‹āĻ° āĻ¸āĻžāĻĨā§‡ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻĻā§‡āĻ° āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ• āĻāĻŽāĻ¨ āĻšā§Ÿ āĻ¯ā§‡āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻ° āĻĒā§āĻ°āĻ¤ā§āĻ¯ā§‡āĻ•āĻŸāĻž āĻ¸āĻžāĻ°āĻŋ, āĻ°ā§‡āĻ—ā§āĻ˛āĻžāĻ° āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻāĻ•ā§‡āĻ•āĻŸāĻŋ āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻŽāĻ¤ā§‹āĨ¤ ORM āĻ•āĻžāĻœāĻŸāĻŋ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŸā§‡āĻŦāĻŋāĻ˛ āĻāĻŦāĻ‚ āĻ•āĻ˛āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĒā§āĻ°ā§‹āĻ—ā§āĻ°āĻžāĻŽā§‡āĻ° āĻ•ā§āĻ˛āĻžāĻ¸ āĻāĻŦāĻ‚ āĻāĻ° āĻšāĻ˛āĻ•āĻ—ā§āĻ˛ā§‹āĻ° āĻāĻ•āĻŸāĻž āĻ¯ā§‹āĻ—āĻ¸ā§‚āĻ¤ā§āĻ° āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻ•āĻ°āĻžāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§‡āĨ¤Â Â 

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ†āĻŽāĻ°āĻž Go āĻāĻ° Struct āĻāĻ° āĻ•āĻĨāĻž āĻŦāĻ˛āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻ–āĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻž Struct āĻāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•āĻŋāĻ›ā§ āĻĢāĻŋāĻ˛ā§āĻĄ āĻĨāĻžāĻ•ā§‡ āĻ¯ā§‡āĻ—ā§āĻ˛ā§‹āĻ° āĻ¸āĻžāĻĨā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ•āĻ˛āĻžāĻŽāĻ—ā§āĻ˛ā§‹āĻ° āĻāĻ•āĻŸāĻž āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ‚ āĻ•āĻ°ā§‡ āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡ ORM. āĻĢāĻ˛ā§‡ āĻ–ā§āĻŦ āĻ¸āĻšāĻœā§‡āĻ° āĻ†āĻŽāĻžāĻĻā§‡āĻ° Class, Object āĻ†āĻ° Method āĻāĻ° āĻœā§āĻžāĻžāĻ¨ āĻĻāĻŋā§Ÿā§‡āĻ‡ āĻ†āĻŽāĻ°āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋāĨ¤

[ā§­.ā§§.ā§¨] ORM āĻāĻ° āĻ‰āĻĒāĻ•āĻžāĻ°āĻŋāĻ¤āĻž

  • āĻĒā§āĻ°ā§‹āĻĄāĻžāĻ•ā§āĻŸāĻŋāĻ­āĻŋāĻŸāĻŋ : āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ° āĻŽāĻžāĻ¨ā§‡āĻ‡ āĻ•āĻžāĻœ āĻ¯āĻĨāĻžāĻ¸āĻŽā§āĻ­āĻŦ āĻ•āĻŽ āĻ•āĻ°ā§‡ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻ¨āĻŋāĻļā§āĻšāĻŋāĻ¤ āĻ•āĻ°āĻžāĨ¤ Abstraction āĻ¨āĻžāĻŽāĻ• āĻ¯āĻžāĻĻā§āĻ¤ā§‡ ORM, SQL āĻāĻ° āĻŦā§œ āĻāĻŦāĻ‚ āĻœāĻŸāĻŋāĻ˛ āĻ•ā§ā§Ÿā§‡āĻ°āĻŋ āĻ—ā§āĻ˛ā§‹āĻ•ā§‡ āĻ›ā§‹āĻŸ āĻ•āĻ°ā§‡ āĻ¨āĻŋā§Ÿā§‡ āĻ†āĻ¸ā§‡ āĻāĻŦāĻ‚ āĻ…āĻ˛ā§āĻĒ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–ā§‡āĻ‡ āĻŦā§œ āĻ•āĻžāĻ°ā§āĻ¯ āĻ¸āĻžāĻ§āĻ¨ āĻ•āĻ°āĻž āĻ¯āĻžā§ŸāĨ¤Â 
  • āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻŦāĻ˛ā§€āĻ˛āĻ¤āĻž : ORM, Object Oriented Programming āĻāĻ° āĻ—āĻ āĻ¨ āĻ“ āĻĒā§āĻ°ā§Ÿā§‹āĻ— āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžā§Ÿ āĻāĻ¤ā§‡ āĻ•ā§‹āĻĄ āĻ˛ā§‡āĻ–āĻž āĻ¯ā§‡āĻŽāĻ¨ āĻ¸āĻšāĻœ āĻšā§Ÿ, āĻ¤ā§‡āĻŽāĻ¨āĻ‡ āĻĒā§œā§‡ āĻŦā§‹āĻāĻžāĻ° āĻ‰āĻĒāĻ¯ā§‹āĻ—āĻŋāĻ¤āĻžāĻ“ āĻŦā§‡āĻļāĻŋ āĻĒāĻžāĻ“ā§ŸāĻž āĻ¯āĻžā§ŸāĨ¤
  • āĻāĻ•āĻ‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ : āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ¤ ORM āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¯ā§‡āĻŽāĻ¨, MySQL, PostGres, Sqlite. āĻĒā§āĻ°āĻžā§Ÿ āĻāĻ•āĻ‡ āĻ‡āĻ¨ā§āĻŸāĻžāĻ°āĻĢā§‡āĻ¸ āĻ¸āĻžāĻ°ā§āĻŦāĻœāĻ¨ā§€āĻ¨ āĻšāĻ“ā§ŸāĻžāĻ¤ā§‡ āĻ†āĻ˛āĻžāĻĻāĻž āĻ†āĻ˛āĻžāĻĻāĻž āĻ§āĻ°āĻ¨ā§‡āĻ° āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻž āĻŸāĻž āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻšāĻœ āĻšā§Ÿā§‡ āĻ¯āĻžā§ŸāĨ¤
  • āĻ¨āĻŋāĻ°āĻžāĻĒāĻ¤ā§āĻ¤āĻž : āĻ†āĻŽāĻ°āĻž āĻ…āĻ¨ā§‡āĻ•ā§‡āĻ‡ āĻšā§ŸāĻ¤ā§‹ āĻœā§‡āĻ¨ā§‡ āĻĨāĻžāĻ•āĻŦā§‹ SQL injection attack āĻāĻ° āĻŦā§āĻ¯āĻžāĻĒāĻžāĻ°ā§‡āĨ¤ ORM āĻĄāĻžāĻŸāĻž āĻ‡āĻ¨āĻĒā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻ†āĻ—ā§‡ āĻ āĻ§āĻ°āĻŖā§‡āĻ° āĻĒāĻ°āĻŋāĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻā§œāĻžāĻ¨ā§‹āĻ° āĻŦā§āĻ¯āĻžāĻŦāĻ¸ā§āĻĨāĻž āĻ¨āĻŋāĻœā§‡ āĻĨā§‡āĻ•ā§‡ āĻ•āĻ°ā§‡ āĻ¨ā§‡ā§ŸāĨ¤Â 

āĻŦāĻŋāĻļā§‡āĻˇ āĻ¨ā§‹āĻŸ : ORM āĻāĻ° āĻ¸āĻ āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ†āĻ—ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻ§āĻžāĻ°āĻŖāĻž āĻĨāĻžāĻ•āĻž āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨āĨ¤ āĻāĻ›āĻžā§œāĻžāĻ“ ORM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨, āĻ•āĻžāĻ°āĻŖ āĻāĻ° Abstraction āĻāĻ° āĻĢāĻ˛āĻžāĻĢāĻ˛āĻ¸ā§āĻŦāĻ°ā§‚āĻĒ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻŽā§Ÿ āĻŸāĻžāĻ‡āĻŽ āĻ•āĻŽāĻĒā§āĻ˛ā§‡āĻ•ā§āĻ¸āĻŋāĻŸāĻŋ āĻ¸āĻžāĻ§āĻžāĻ°āĻŖ SQL āĻāĻ° āĻĨā§‡āĻ•ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻŦā§‡āĻļāĻŋ āĻšā§Ÿā§‡ āĻ¯āĻžā§ŸāĨ¤

[ā§­.ā§§.ā§Š] Go āĻ¤ā§‡ ORM.

Go āĻ¤ā§‡ āĻ¯ā§‡āĻ¸āĻ•āĻ˛ āĻŦāĻšā§āĻ˛ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻ†āĻ° āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ ORM āĻ—ā§āĻ˛ā§‹ āĻ†āĻ›ā§‡, āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ•ā§Ÿā§‡āĻ•āĻŸāĻŋ āĻšāĻ˛ā§‹ –

  1. GORM : GORM āĻŦāĻšā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšā§ƒāĻ¤ āĻāĻŦāĻ‚ āĻ—āĻŋāĻŸāĻšāĻžāĻŦā§‡ āĻ¸āĻŦāĻšā§‡ā§Ÿā§‡ āĻŦā§‡āĻļā§€ āĻ¸ā§āĻŸāĻžāĻ° āĻ¸āĻŽā§ƒāĻĻā§āĻ§ ORM āĻĢā§āĻ°ā§‡āĻŽāĻ“ā§ŸāĻžāĻ°ā§āĻ•āĨ¤ āĻāĻŸāĻŋ āĻāĻ•āĻ‡ āĻ¸āĻžāĻĨā§‡ āĻ¸ā§āĻ—āĻ āĻŋāĻ¤ āĻāĻŦāĻ‚ āĻ¸āĻšāĻœāĻŦā§‹āĻ§ā§āĻ¯ āĻāĻ•āĻŸāĻŋ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻžāĻ° āĻ…āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ—ā§āĻ˛ā§‹ āĻšāĻ˛ā§‹, āĻ•āĻŸā§‡āĻ•ā§āĻ¸āĻŸ āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ, āĻŸā§āĻ°āĻžāĻ¨āĻœā§āĻ¯āĻžāĻ•āĻļāĻ¨, āĻ‡āĻ—āĻžāĻ° āĻ˛ā§‹āĻĄāĻŋāĻ‚, āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ…āĻŸā§‹ āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻāĻŸāĻŋāĻ° āĻ†āĻ°ā§‡āĻ•āĻŸāĻŋ āĻ­āĻžāĻ˛ā§‹ āĻĻāĻŋāĻ• āĻšāĻšā§āĻ›ā§‡ āĻ¯ā§‡, GORM āĻ…āĻ¨ā§‡āĻ• āĻ—ā§āĻ˛ā§‹ āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤
  2. XORM : XORM āĻ“ GORM āĻāĻ° āĻŽāĻ¤ā§‹ āĻ…āĻ¨ā§‡āĻ• āĻ§āĻ°āĻŖā§‡āĻ° āĻ°āĻŋāĻ˛ā§‡āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤Â  āĻāĻ›āĻžā§œāĻžāĻ“ āĻāĻ‡ ORM āĻĨā§‡āĻ•ā§‡ āĻŸā§āĻ°āĻžāĻ¨āĻœā§āĻ¯āĻžāĻ•āĻļāĻ¨, āĻ•ā§āĻ¯āĻžāĻļāĻŋāĻ‚, āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻŽāĻžāĻ‡āĻ—ā§āĻ°ā§‡āĻļāĻ¨ āĻāĻ° āĻŽāĻ¤ā§‹ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ—ā§āĻ˛ā§‹āĻ“ āĻĒāĻžāĻ“ā§ŸāĻž āĻ¯āĻžā§ŸāĨ¤
  3. QBS : QBS āĻŦāĻž Query By Struct, āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻŸāĻžāĻ°ā§āĻ—ā§‡āĻŸ āĻ•āĻ°ā§‡ āĻ¤ā§ˆāĻ°āĻŋ āĻāĻ•āĻŸāĻŋ ORM āĻĢā§āĻ°ā§‡āĻŽāĻ“ā§ŸāĻžāĻ°ā§āĻ•āĨ¤ QBS āĻ…āĻ¨ā§‡āĻ• āĻŽāĻŋāĻ¨āĻŋāĻŽāĻžāĻ˛āĻŋāĻ¸ā§āĻŸāĻŋāĻ• API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡ āĻ¯āĻž āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ›ā§‹āĻŸ āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ­āĻžāĻ˛ā§‹ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤, āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻĒāĻžāĻ°āĻĢāĻ°â€āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ…āĻ¨ā§‡āĻ• āĻŦā§œ āĻāĻ•āĻŸāĻž āĻ˛āĻ•ā§āĻˇā§āĻ¯āĨ¤
  4. SQLBoiler : SQLBoiler āĻāĻ•āĻŸāĻŋ ORM āĻœā§‡āĻ¨āĻžāĻ°ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻŸā§āĻ˛ āĻ¯āĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ…āĻ¨ā§āĻ¯āĻžā§Ÿā§€ ORM āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ GORM/Gorp āĻāĻ° āĻŽāĻ¤ā§‹ ORM, āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻ•ā§‹āĻĄ āĻ˛āĻŋāĻ–ā§‡ āĻāĻ°āĻĒāĻ° āĻ¤āĻž āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻšāĻŋāĻ¸ā§‡āĻŦā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡, āĻ¸ā§‡āĻ–āĻžāĻ¨ā§‡ SQLBoiler āĻĒā§āĻ°āĻĨāĻŽā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§‡ āĻĒāĻ°ā§‡ āĻ¤āĻžāĻ° āĻ‰āĻĒāĻ°ā§‡ āĻ•ā§‹āĻĄā§‡āĻ° āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡āĨ¤ āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛ā§‹āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ†āĻ›ā§‡, Automatic struct and table name mapping, Query building helpers āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

āĻ‰āĻĒāĻ°ā§‹āĻ•ā§āĻ¤ ORM āĻ—ā§āĻ˛ā§‹ āĻ›āĻžā§œāĻžāĻ“ āĻ†āĻ°āĻ“ āĻ…āĻ¨ā§‡āĻ• āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ Go āĻ¤ā§‡ āĻ†āĻ›ā§‡āĨ¤ āĻĒā§āĻ°ā§Ÿā§‹āĻœāĻ¨ āĻ…āĻ¨ā§āĻ¸āĻžāĻ°ā§‡ āĻ¸ā§‡āĻ—ā§āĻ˛ā§‹ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻ°āĻ“ āĻœāĻžāĻ¨āĻžāĻ° āĻĨāĻžāĻ•āĻ˛ā§‡ āĻāĻ‡ āĻ˛āĻŋāĻ‚āĻ•āĻŸāĻŋ āĻ•āĻžāĻœā§‡ āĻ†āĻ¸āĻŦā§‡āĨ¤Â 

āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻŸāĻ•ā§āĻ¯āĻžāĻŽā§āĻĒā§‡āĻ° āĻ¸āĻ•āĻ˛ āĻĒā§āĻ°āĻžā§Ÿā§‹āĻ—āĻŋāĻ• āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻŦāĻ‚ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻ°āĻž GORM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŦāĨ¤

[ā§­.ā§§.ā§Ē] GORM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻ•āĻžāĻ°āĻ¨

āĻ‡āĻ¤ā§‹āĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ ORM āĻāĻ° āĻ¯ā§‡āĻ¸āĻ•āĻ˛ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻ†āĻŽāĻ°āĻž āĻ…āĻŦāĻ—āĻ¤ āĻšā§Ÿā§‡āĻ›āĻŋ, āĻāĻ° āĻŦāĻžāĻ‡āĻ°ā§‡āĻ“ GORM āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ•āĻŋāĻ›ā§ āĻŦāĻžā§œāĻ¤āĻŋ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¯āĻžāĻ¤ā§‡ āĻ•āĻ°ā§‡ āĻ…āĻ¨āĻ­āĻŋāĻœā§āĻž āĻĒāĻ°ā§āĻ¯āĻžā§Ÿā§‡ ORM āĻāĻ° āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻŸāĻž āĻ†āĻ°āĻ“ āĻ¸āĻšāĻœ āĻšā§Ÿā§‡ āĻ¯āĻžā§ŸāĨ¤ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻ—ā§āĻ˛ā§‹ –  

 

  • āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‹āĻ—āĻžāĻ¯ā§‹āĻ— āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻ•āĻŸāĻŋ āĻĒāĻ°āĻŋāĻˇā§āĻ•āĻžāĻ° āĻāĻŦāĻ‚ āĻ¸āĻšāĻœāĻŦā§‹āĻ§ā§āĻ¯ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¯āĻž Go āĻŦāĻž āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¨āĻ¤ā§āĻ¨ āĻĒāĻ°āĻŋāĻšāĻŋāĻ¤ āĻĄā§‡āĻ­ā§‡āĻ˛āĻĒāĻžāĻ°āĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯āĻ“ āĻ¸āĻšāĻœā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ¯ā§‹āĻ—ā§āĻ¯ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡āĨ¤ āĻ…āĻ¨ā§āĻ¯āĻžāĻ¨ā§āĻ¯ ORM āĻāĻ° āĻ¤ā§āĻ˛āĻ¨āĻžā§Ÿ āĻāĻ° āĻ‡āĻ‰āĻœāĻžāĻ° āĻ¸āĻ‚āĻ–ā§āĻ¯āĻž āĻŦā§‡āĻļāĻŋ āĻšāĻ“ā§ŸāĻžāĻ¤ā§‡, āĻļā§āĻ°ā§āĻ¤ā§‡ āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ āĻĒāĻžāĻ“ā§ŸāĻž āĻ¯āĻžā§Ÿ āĻ¯ā§‡āĻ•ā§‹āĻ¨ā§‹ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžā§ŸāĨ¤ āĻ¸ā§āĻ¤āĻ°āĻžāĻ‚ āĻāĻ‡ āĻŦā§āĻŸāĻ•ā§āĻ¯āĻžāĻŽā§āĻĒāĻŸāĻŋ āĻĢāĻ˛ā§‹ āĻ•āĻ°āĻ¤ā§‡ āĻ¯ā§‡ā§Ÿā§‡āĻ“ āĻ¯āĻĻāĻŋ āĻ•ā§‹āĻ¨ āĻ¸āĻŽāĻ¸ā§āĻ¯āĻžāĻ° āĻĻā§‡āĻ–āĻž āĻŽāĻŋāĻ˛ā§‡ āĻ¤āĻ–āĻ¨ āĻ¸āĻšāĻœā§‡āĻ‡ āĻ¤āĻžāĻ° āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻ…āĻ¨āĻ˛āĻžāĻ‡āĻ¨ā§‡ āĻĒāĻžāĻ“ā§ŸāĻž āĻ¯āĻžāĻŦā§‡āĨ¤Â 

 

  • GORM āĻ¸ā§āĻŦāĻ¯āĻŧāĻ‚āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻ­āĻžāĻŦā§‡ Go āĻ¸ā§āĻŸā§āĻ°āĻžāĻ•āĻŸāĻ—ā§āĻ˛ā§‹āĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻ•āĻŋāĻŽāĻž āĻ¤ā§ˆāĻ°āĻŋ āĻŦāĻž āĻ†āĻĒāĻĄā§‡āĻŸ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡, āĻ•ā§‹āĻĄā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻ¸ā§āĻ•āĻŋāĻŽāĻžāĻ•ā§‡ āĻ¸āĻžāĻŽāĻœā§āĻœāĻ¸ā§āĻ¯ā§‡ āĻ°āĻžāĻ–āĻžāĻŸāĻž āĻ¸āĻšāĻœ āĻšā§ŸāĨ¤Â 

 

  • āĻāĻ•āĻžāĻ§āĻŋāĻ• āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻŦā§āĻ¯āĻžāĻ•āĻāĻ¨ā§āĻĄā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ¯ā§‡āĻŽāĻ¨, MySQL, PostgreSQL, SQLite āĻāĻŦāĻ‚ SQL server āĻ¸āĻš āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤ā§ƒāĻ¤ āĻĒāĻ°ā§āĻ¯āĻžā§Ÿā§‡ āĻ¸āĻžāĻĒā§‹āĻ°ā§āĻŸ āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāĻ•ā§‡, āĻ¯āĻž āĻĒā§āĻ°āĻœā§‡āĻ•ā§āĻŸā§‡āĻ° āĻ†āĻ—āĻžāĻ¨ā§‹āĻ° āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡āĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻ•āĻ°āĻž āĻ¸āĻšāĻœ āĻ•āĻ°ā§‡ āĻ¤ā§‹āĻ˛ā§‡ āĻāĻŦāĻ‚ āĻ¸āĻžāĻĨā§‡ āĻ¸āĻžāĻĨā§‡ āĻ¯ā§‡ āĻ¯ā§‡āĻ‡ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ā§‡ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻŦā§‹āĻ§ āĻ•āĻ°ā§‡ āĻ¸ā§‡āĻŸāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŦā§āĻŸāĻ•ā§āĻ¯āĻžāĻŽā§āĻĒāĻŸāĻŋ āĻĢāĻ˛ā§‹ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŦā§‡āĨ¤