āĻ āĻŦāĻā§āĻā§āĻ-āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛-āĻŽā§āĻ¯āĻžāĻĒāĻŋāĻ (Object Relational Mapping)
[ā§.ā§§] āĻā§āĻŽāĻŋāĻāĻž āĻ āĻĒāĻ°āĻŋāĻā§ (Opening introduction)
āĻŦā§āĻāĻā§āĻ¯āĻžāĻŽā§āĻĒā§āĻ° āĻāĻ āĻĒāĻ°ā§āĻ¯āĻžā§ā§ āĻāĻŽāĻ°āĻž ORM āĻŦāĻž Object Relational Mapping āĻāĻ° āĻ¸āĻžāĻĨā§ āĻĒāĻ°āĻŋāĻāĻŋāĻ¤ āĻšāĻŦā§āĨ¤ ORM āĻāĻ° āĻŽāĻžāĻ§ā§āĻ¯āĻŽā§ āĻāĻŽāĻ°āĻž āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻ°āĻžāĻ¸āĻ°āĻŋ āĻ¯ā§āĻāĻžāĻ¯ā§āĻ āĻ¸ā§āĻĨāĻžāĻĒāĻ¨ āĻāĻ°ā§ āĻ¨āĻžāĻ¨āĻžāĻ¨ āĻāĻāĻŋāĻ˛ āĻāĻŽāĻžāĻ¨ā§āĻĄ āĻ¸āĻšāĻ āĻāĻžāĻˇāĻžā§ āĻ¸āĻŽā§āĻĒāĻ¨ā§āĻ¨ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŋāĨ¤ āĻāĻāĻžāĻ¨ā§ āĻĒāĻžāĻ°ā§āĻĨāĻā§āĻ¯ āĻā§āĻŦāĻ˛ āĻāĻāĻžāĻ āĻ¯ā§, SQL āĻāĻ° āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤ā§ āĻāĻžāĻāĻāĻž āĻšāĻžāĻ āĻ˛ā§āĻā§āĻ˛ āĻĒā§āĻ°ā§āĻā§āĻ°āĻžāĻŽāĻŋāĻ āĻ˛ā§āĻ¯āĻžāĻāĻā§ā§ā§āĻ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ āĻāĻ°āĻž āĻ¯āĻžā§āĨ¤Â Â
āĻāĻ āĻā§āĻ¯āĻžāĻĒā§āĻāĻžāĻ°āĻāĻŋ āĻāĻ¯āĻŧā§āĻ āĻāĻžāĻā§ āĻŦāĻŋāĻāĻā§āĻ¤ –
- āĻĒā§āĻ°āĻĨāĻŽā§āĻ ORM-āĻāĻ° āĻāĻāĻāĻŋ āĻāĻāĻžāĻ°āĻāĻŋāĻ āĻĻāĻŋāĻ¯āĻŧā§ āĻļā§āĻ°ā§ āĻāĻ°ā§, āĻāĻ° āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻāĻŦāĻ āĻ āĻ¸ā§āĻŦāĻŋāĻ§āĻžāĻā§āĻ˛ā§ āĻ¨āĻŋāĻ¯āĻŧā§ āĻāĻ˛ā§āĻāĻ¨āĻž āĻāĻ°āĻž āĻšāĻŦā§āĨ¤Â
- āĻĒāĻ°āĻŦāĻ°ā§āĻ¤ā§āĻ¤ā§ āĻāĻŽāĻ°āĻž āĻĒā§āĻ°āĻŦā§āĻļ āĻāĻ°āĻŦ Go āĻ¤ā§ ORM āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§āĨ¤ āĻ āĻ¨ā§āĻāĻā§āĻ˛ā§ āĻĒā§āĻ°ā§ā§āĻ āĻāĻŦāĻ āĻāĻĻāĻžāĻšāĻ°āĻŖā§āĻ° āĻĻā§āĻāĻž āĻŽāĻŋāĻ˛āĻŦā§ āĻ¸ā§āĻāĻžāĻ¨ā§āĨ¤Â
- āĻļā§āĻˇ āĻāĻ°āĻŦ 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 āĻā§āĻ˛ā§ āĻāĻā§, āĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻā§ā§āĻāĻāĻŋ āĻšāĻ˛ā§ –
- GORM : GORM āĻŦāĻšā§āĻ˛ āĻŦā§āĻ¯āĻŦāĻšā§āĻ¤ āĻāĻŦāĻ āĻāĻŋāĻāĻšāĻžāĻŦā§ āĻ¸āĻŦāĻā§ā§ā§ āĻŦā§āĻļā§ āĻ¸ā§āĻāĻžāĻ° āĻ¸āĻŽā§āĻĻā§āĻ§ ORM āĻĢā§āĻ°ā§āĻŽāĻā§āĻžāĻ°ā§āĻāĨ¤ āĻāĻāĻŋ āĻāĻāĻ āĻ¸āĻžāĻĨā§ āĻ¸ā§āĻāĻ āĻŋāĻ¤ āĻāĻŦāĻ āĻ¸āĻšāĻāĻŦā§āĻ§ā§āĻ¯ āĻāĻāĻāĻŋ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻĨāĻžāĻā§ āĻ¯āĻžāĻ° āĻ āĻ¨ā§āĻ¯āĻ¤āĻŽ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻā§āĻ˛ā§ āĻšāĻ˛ā§, āĻāĻā§āĻā§āĻ¸āĻ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ, āĻā§āĻ°āĻžāĻ¨āĻā§āĻ¯āĻžāĻāĻļāĻ¨, āĻāĻāĻžāĻ° āĻ˛ā§āĻĄāĻŋāĻ, āĻ¸ā§āĻāĻŋāĻŽāĻž āĻ āĻā§ āĻŽāĻžāĻāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤ āĻāĻāĻŋāĻ° āĻāĻ°ā§āĻāĻāĻŋ āĻāĻžāĻ˛ā§ āĻĻāĻŋāĻ āĻšāĻā§āĻā§ āĻ¯ā§, GORM āĻ āĻ¨ā§āĻ āĻā§āĻ˛ā§ āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻāĻ¨ā§āĻ¯ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻĻāĻŋā§ā§ āĻĨāĻžāĻā§āĨ¤
- XORM : XORM āĻ GORM āĻāĻ° āĻŽāĻ¤ā§ āĻ āĻ¨ā§āĻ āĻ§āĻ°āĻŖā§āĻ° āĻ°āĻŋāĻ˛ā§āĻļāĻ¨āĻžāĻ˛ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻāĻ°ā§ āĻĨāĻžāĻā§āĨ¤Â āĻāĻāĻžā§āĻžāĻ āĻāĻ ORM āĻĨā§āĻā§ āĻā§āĻ°āĻžāĻ¨āĻā§āĻ¯āĻžāĻāĻļāĻ¨, āĻā§āĻ¯āĻžāĻļāĻŋāĻ, āĻ¸ā§āĻāĻŋāĻŽāĻž āĻŽāĻžāĻāĻā§āĻ°ā§āĻļāĻ¨ āĻāĻ° āĻŽāĻ¤ā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻā§āĻ˛ā§āĻ āĻĒāĻžāĻā§āĻž āĻ¯āĻžā§āĨ¤
- QBS : QBS āĻŦāĻž Query By Struct, āĻĒāĻžāĻ°āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻāĻžāĻ°ā§āĻā§āĻ āĻāĻ°ā§ āĻ¤ā§āĻ°āĻŋ āĻāĻāĻāĻŋ ORM āĻĢā§āĻ°ā§āĻŽāĻā§āĻžāĻ°ā§āĻāĨ¤ QBS āĻ āĻ¨ā§āĻ āĻŽāĻŋāĻ¨āĻŋāĻŽāĻžāĻ˛āĻŋāĻ¸ā§āĻāĻŋāĻ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻāĻ°ā§ āĻĨāĻžāĻā§ āĻ¯āĻž āĻ¯ā§āĻā§āĻ¨ā§ āĻā§āĻ āĻĒā§āĻ°āĻā§āĻā§āĻā§āĻ° āĻāĻ¨ā§āĻ¯ āĻāĻžāĻ˛ā§ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤, āĻ¯ā§āĻāĻžāĻ¨ā§ āĻĒāĻžāĻ°āĻĢāĻ°âāĻŽā§āĻ¯āĻžāĻ¨ā§āĻ¸ āĻ āĻ¨ā§āĻ āĻŦā§ āĻāĻāĻāĻž āĻ˛āĻā§āĻˇā§āĻ¯āĨ¤
- 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 āĻ¸āĻš āĻāĻāĻāĻŋ āĻŦāĻŋāĻ¸ā§āĻ¤ā§āĻ¤ āĻĒāĻ°ā§āĻ¯āĻžā§ā§ āĻ¸āĻžāĻĒā§āĻ°ā§āĻ āĻĻāĻŋā§ā§ āĻĨāĻžāĻā§, āĻ¯āĻž āĻĒā§āĻ°āĻā§āĻā§āĻā§āĻ° āĻāĻāĻžāĻ¨ā§āĻ° āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻŦāĻŋāĻāĻŋāĻ¨ā§āĻ¨ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§āĻ° āĻŽāĻ§ā§āĻ¯ā§ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻ¨ āĻāĻ°āĻž āĻ¸āĻšāĻ āĻāĻ°ā§ āĻ¤ā§āĻ˛ā§ āĻāĻŦāĻ āĻ¸āĻžāĻĨā§ āĻ¸āĻžāĻĨā§ āĻ¯ā§ āĻ¯ā§āĻ āĻĄāĻžāĻāĻžāĻŦā§āĻ¸ā§ āĻ¸ā§āĻŦāĻŋāĻ§āĻž āĻŦā§āĻ§ āĻāĻ°ā§ āĻ¸ā§āĻāĻž āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻāĻ°ā§āĻ āĻāĻŽāĻžāĻĻā§āĻ° āĻŦā§āĻāĻā§āĻ¯āĻžāĻŽā§āĻĒāĻāĻŋ āĻĢāĻ˛ā§ āĻāĻ°āĻ¤ā§ āĻĒāĻžāĻ°āĻŦā§āĨ¤