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 āϏāĻš āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻ¸ā§āϤ⧃āϤ āĻĒāĻ°ā§āϝāĻžā§Ÿā§‡ āϏāĻžāĻĒā§‹āĻ°ā§āϟ āĻĻāĻŋā§Ÿā§‡ āĻĨāĻžāϕ⧇, āϝāĻž āĻĒā§āϰāĻœā§‡āĻ•ā§āĻŸā§‡āϰ āφāĻ—āĻžāύ⧋āϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āύ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇āϰ āĻŽāĻ§ā§āϝ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāύ āĻ•āϰāĻž āϏāĻšāϜ āĻ•āϰ⧇ āϤ⧋āϞ⧇ āĻāĻŦāĻ‚ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ āϝ⧇ āϝ⧇āχ āĻĄāĻžāϟāĻžāĻŦ⧇āϏ⧇ āϏ⧁āĻŦāĻŋāϧāĻž āĻŦā§‹āϧ āĻ•āϰ⧇ āϏ⧇āϟāĻž āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇āχ āφāĻŽāĻžāĻĻ⧇āϰ āĻŦ⧁āϟāĻ•ā§āϝāĻžāĻŽā§āĻĒāϟāĻŋ āĻĢāϞ⧋ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āĨ¤