Hibernate (ORM) - in 10 steps

рдпрд╛рдордзреНтАНрдпреЗ рдЬрд╛рд╣рд┐рд░рд╛рддреА рдЖрд╣реЗрддрдЕтАНреЕрдкрдордзреАрд▓ рдЦрд░реЗрджреА
релрежреж+
рдбрд╛рдЙрдирд▓реЛрдб
рдЖрд╢рдп рд░реЗрдЯрд┐рдВрдЧ
рдкреНрд░рддреНрдпреЗрдХрдЬрдг
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ
рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рдЗрдореЗрдЬ

рдпрд╛ рдЕтАНреЕрдкрд╡рд┐рд╖рдпреА

рддреБрдореНрд╣реА рд╣рд╛рдпрдмрд░рдиреЗрдЯ, рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдЖрдгрд┐ рдореЛрдареНрдпрд╛ рдкреНрд░рдорд╛рдгрд╛рд╡рд░ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдгрд╛рд░реЗ Java ORM рдЯреВрд▓ рд╢рд┐рдХреВ рдЗрдЪреНрдЫрд┐рдд рдЖрд╣рд╛рдд? рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЕрдБрдбреНрд░реЙрдЗрдб ре▓рдкрдкреЗрдХреНрд╖рд╛ рдкреБрдвреЗ рдкрд╛рд╣реВ рдирдХрд╛! рдЖрдордЪреЗ ре▓рдк 100% рд╡рд┐рдирд╛рдореВрд▓реНрдп рдЖрд╣реЗ рдЖрдгрд┐ рддреНрдпрд╛рд╕рд╛рдареА рд╕рд╛рдЗрди-рдЕрдкрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА, рдЬреНрдпрд╛рдореБрд│реЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╛рдпрдмрд░рдиреЗрдЯрдЪреНрдпрд╛ рдЬрдЧрд╛рдд рд╕рд╣рдЬрддреЗрдиреЗ рдЬрд╛рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рдорд┐рд│рддреЗ.

рдпрд╛ рд╕рд░реНрд╡рд╕рдорд╛рд╡реЗрд╢рдХ рдЯреНрдпреБрдЯреЛрд░рд┐рдпрд▓рдордзреНрдпреЗ, рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдЬреЗ рдХрд╛рд╣реА рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреЗ рдЖрдореНрд╣реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ. рдЖрдореНрд╣реА рдкрд╛рдпрд░реА 1 рдиреЗ рд╕реБрд░реБрд╡рд╛рдд рдХрд░рддреЛ, рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдЖрдгрд┐ ORM (рдСрдмреНрдЬреЗрдХреНрдЯ-рд░рд┐рд▓реЗрд╢рдирд▓ рдореЕрдкрд┐рдВрдЧ) рдЪреА рдУрд│рдЦ рдХрд░реВрди рджреЗрддреЛ рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ Java рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рд╣рд╛рдпрдмрд░рдиреЗрдЯ рд╡рд╛рдкрд░рдгреНрдпрд╛рдЪреЗ рдлрд╛рдпрджреЗ рд╕рдордЬрд╛рд╡реВрди рд╕рд╛рдВрдЧрддреЛ.

рдкреБрдвреЗ, рдкрд╛рдпрд░реА 2 рдордзреНрдпреЗ, рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдЪреНрдпрд╛ рдкреНрд░рдХреНрд░рд┐рдпреЗрд╕рд╛рдареА рдЖрдореНрд╣реА рддреБрдореНрд╣рд╛рд▓рд╛ рдорд╛рд░реНрдЧрджрд░реНрд╢рди рдХрд░рддреЛ. рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдпреЛрдЧреНрдпрд░рд┐рддреНрдпрд╛ рд╕реЗрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗ рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕рд╛рдареА рддрдпрд╛рд░ рдЖрд╣реЗ рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реА рдкрд╛рдпрд░реА рдорд╣рддреНрддреНрд╡рд╛рдЪреА рдЖрд╣реЗ.

рдкрд╛рдпрд░реА 3 рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдореЕрдкрд┐рдВрдЧ рдлрд╛рдЗрд▓реНрд╕ рд╕реЗрдЯрдЕрдкрд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ, рд╣рд╛рдпрдмрд░рдиреЗрдЯ рд╡рд╛рдкрд░реВрди рддреБрдордЪреЗ Java рд╡рд░реНрдЧ рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓рд╡рд░ рдХрд╕реЗ рдореЕрдк рдХрд░рд╛рдпрдЪреЗ рд╣реЗ рд╢рд┐рдХрд╡рддреЗ. рддреБрдореНрд╣реА рдореЕрдкрд┐рдВрдЧ рдХрд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рд╛рдпрдЪреЗ, рдЯреЗрдмрд▓реНрд╕ рд╡реНрдпреБрддреНрдкрдиреНрди рдХрд╕реЗ рдХрд░рд╛рдпрдЪреЗ рдЖрдгрд┐ рдЯреЗрдмрд▓рд╛рдВрдордзреАрд▓ рд╕рдВрдмрдВрдз рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рдпрдЪреЗ рддреЗ рд╢рд┐рдХрд╛рд▓.

рдкрд╛рдпрд░реА 4 рдордзреНрдпреЗ, рдЖрдореНрд╣реА рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдордзреАрд▓ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рдЪреНрдпрд╛ рд╕реНрдерд┐рддреАрдЪрд╛ рд╢реЛрдз рдШреЗрддреЛ, рд╣рд╛рдпрдмрд░рдиреЗрдЯ рд╕реЛрдмрдд рдХрд╛рдо рдХрд░рддрд╛рдирд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛрдгрддреНрдпрд╛ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдЕрд╡рд╕реНрдерд╛рдВрдордзреНрдпреЗ рдЕрд╕реВ рд╢рдХрддреЛ рд╣реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рддреЛ. рддреБрдордЪреНрдпрд╛ рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рд╣рд╛рдпрдмрд░рдиреЗрдЯрдЪрд╛ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рд╡рд╛рдкрд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдпрд╛ рдЕрд╡рд╕реНрдерд╛ рд╕рдордЬреВрди рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ.

рдкрд╛рдЪрд╡реНрдпрд╛ рдкрд╛рдпрд░реАрдордзреНрдпреЗ рд╣рд╛рдпрдмрд░рдиреЗрдЯрдордзреНрдпреЗ рдкрд░реНрд╕рд┐рд╕реНрдЯрдВрдЯ рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕рд╕рд╣ рдХрд╛рдо рдХрд░рдгреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗ. рд╣рд╛рдпрдмрд░рдиреЗрдЯ рд╡рд╛рдкрд░реВрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╕реЗ рддрдпрд╛рд░ рдХрд░рд╛рдпрдЪреЗ, рдЕрдкрдбреЗрдЯ рдХрд░рд╛рдпрдЪреЗ, рд╣рдЯрд╡рд╛рдпрдЪреЗ рдЖрдгрд┐ рдХрд╕реЗ рдорд┐рд│рд╡рд╛рдпрдЪреЗ рддреЗ рддреБрдореНрд╣реА рд╢рд┐рдХрд╛рд▓.

рд╕реНрдЯреЗрдк 6 рддреЗ 11 рдордзреНрдпреЗ, рдЖрдореНрд╣реА рд╣рд╛рдпрдмрд░рдиреЗрдЯрдЪреНрдпрд╛ 11 рдкрджреНрдзрддреА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ, рдЬреНрдпрд╛рдд рд╕реЗрд╡реНрд╣, рдЕрдкрдбреЗрдЯ, рдбрд┐рд▓реАрдЯ, рд▓реЛрдб, рдЧреЗрдЯ, рдорд░реНрдЬ, рдкрд░реНрд╕рд┐рд╕реНрдЯ, saveOrUpdate, evict, flush рдЖрдгрд┐ clear рдпрд╛рдВрдЪрд╛ рд╕рдорд╛рд╡реЗрд╢ рдЖрд╣реЗ. рдпрд╛ рдкрджреНрдзрддреА рд╣рд╛рдпрдмрд░рдиреЗрдЯрдЪрд╛ рдЧрд╛рднрд╛ рдЖрд╣реЗрдд рдЖрдгрд┐ рдпрд╢рд╕реНрд╡реА рд╣рд╛рдпрдмрд░рдиреЗрдЯ рд╡рд┐рдХрд╛рд╕рд╛рд╕рд╛рдареА рддреНрдпрд╛рдВрдЪрд╛ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рд╡рд╛рдкрд░ рдХрд╕рд╛ рдХрд░рд╛рдпрдЪрд╛ рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдорд╣рддреНрддреНрд╡рд╛рдЪреЗ рдЖрд╣реЗ.

рдкрд╛рдпрд░реА 7 рдордзреНрдпреЗ рд╣рд╛рдпрдмрд░рдиреЗрдЯрдордзреАрд▓ рдореЕрдкрд┐рдВрдЧрдЪреЗ рдкреНрд░рдХрд╛рд░ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд, рдЬреНрдпрд╛рдд рд╡рди-рдЯреВ-рд╡рди, рдПрдХ-рдЯреВ-рдордиреА, рдЕрдиреЗрдХ-рдЯреВ-рд╡рди рдЖрдгрд┐ рдЕрдиреЗрдХ-рдЯреВ-рдордиреА рдореЕрдкрд┐рдВрдЧ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдЖрд╣реЗрдд. рддреБрдордЪреНрдпрд╛ рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓реНрд╕рдордзреАрд▓ рд╕рдВрдмрдВрдз рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╣реЗ рдореЕрдкрд┐рдВрдЧ рдкреНрд░рдХрд╛рд░ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рддреБрдореНрд╣реА рд╢рд┐рдХрд╛рд▓.

рдкрд╛рдпрд░реА 8 рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдХреНрд╡реЗрд░реА рд▓рдБрдЧреНрд╡реЗрдЬ (HQL) рд╡рд░ рд▓рдХреНрд╖ рдХреЗрдВрджреНрд░рд┐рдд рдХрд░рддреЗ, рдЬреА рддреБрдореНрд╣рд╛рд▓рд╛ SQL рд╕рд╛рд░рдЦреА рд╡рд╛рдХреНрдпрд░рдЪрдирд╛ рд╡рд╛рдкрд░реВрди рд╣рд╛рдпрдмрд░рдиреЗрдЯрдордзреНрдпреЗ рдХреНрд╡реЗрд░реА рд▓рд┐рд╣реВ рджреЗрддреЗ. HQL рд╡рд╛рдкрд░реВрди рдореВрд▓рднреВрдд рдЖрдгрд┐ рдкреНрд░рдЧрдд рдкреНрд░рд╢реНрди рдХрд╕реЗ рд▓рд┐рд╣рд╛рдпрдЪреЗ рддреЗ рддреБрдореНрд╣реА рд╢рд┐рдХрд╛рд▓.

рдкрд╛рдпрд░реА 9 рдордзреНрдпреЗ, рдЖрдореНрд╣реА рдирд┐рдХрд╖ рдХреНрд╡реЗрд░реА рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХрд░рддреЛ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╛рдпрдмрд░рдиреЗрдЯ рд╡рд╛рдкрд░реВрди рдбрд╛рдпрдиреЕрдорд┐рдХ рдХреНрд╡реЗрд░реА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддрд╛рдд. рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд┐рдХрд╖рд╛рдВрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕рдордзреВрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдХреНрд░рд╛рдпрдЯреЗрд░рд┐рдпрд╛ рдХреНрд╡реЗрд░реАрдЪрд╛ рд╡рд╛рдкрд░ рдХрд╕рд╛ рдХрд░рд╛рдпрдЪрд╛ рддреЗ рддреБрдореНрд╣реА рд╢рд┐рдХрд╛рд▓.

рд╢реЗрд╡рдЯреА, рдЪрд░рдг 10 рдордзреНрдпреЗ, рдЖрдореНрд╣реА рд╣рд╛рдпрдмрд░рдиреЗрдЯрдордзреНрдпреЗ рдХреЕрд╢рд┐рдВрдЧ рдХрд╡реНрд╣рд░ рдХрд░рддреЛ, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдХрд╛рд░реНрдпрдкреНрд░рджрд░реНрд╢рди рд╕реБрдзрд╛рд░рдгреНрдпрд╛рд╕рд╛рдареА рдореЗрдорд░реАрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдХреЕрд╢реЗ рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рд╣рд╛рдпрдмрд░рдиреЗрдЯрдордзреНрдпреЗ рдХреЕрд╢рд┐рдВрдЧ рдХрд╕реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рд╛рдпрдЪреЗ рдЖрдгрд┐ рддреЗ рддреБрдордЪреНрдпрд╛ рдкреНрд░реЛрдЬреЗрдХреНрдЯрдордзреНрдпреЗ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рдпрдЪреЗ рддреЗ рддреБрдореНрд╣реА рд╢рд┐рдХрд╛рд▓.

рд╢реЗрд╡рдЯреА, рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓ рдЕрдБрдбреНрд░реЙрдЗрдб ре▓рдк рд╣реЗ рд╣рд╛рдпрдмрд░рдиреЗрдЯ рдЬрд▓рдж рдЖрдгрд┐ рд╕рд╣рдЬ рд╢рд┐рдХреВ рдкрд╛рд╣рдгрд╛рд▒реНрдпрд╛ рдкреНрд░рддреНрдпреЗрдХрд╛рд╕рд╛рдареА рдпреЛрдЧреНрдп рд╕рд╛рдзрди рдЖрд╣реЗ. рдЖрдордЪреНрдпрд╛ рд╕рд░реНрд╡рд╕рдорд╛рд╡реЗрд╢рдХ рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓рд╕рд╣, рддреБрдореНрд╣реА рд╣рд╛рдпрдмрд░рдиреЗрдЯрдмрджреНрджрд▓ рдЖрдгрд┐ рддреБрдордЪреНрдпрд╛ Java рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕рдордзреНрдпреЗ рддреЗ рдкреНрд░рднрд╛рд╡реАрдкрдгреЗ рдХрд╕реЗ рд╡рд╛рдкрд░рд╛рд╡реЗ рдпрд╛рдмрджреНрджрд▓ рддреБрдореНрд╣рд╛рд▓рд╛ рдЬреЗ рдХрд╛рд╣реА рдорд╛рд╣рд┐рдд рдЕрд╕рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ рддреЗ рд╢рд┐рдХрд╛рд▓. рдЖрдЬрдЪ рдЖрдордЪреЗ ре▓рдк рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛ рдЖрдгрд┐ рд╣рд╛рдпрдмрд░рдиреЗрдЯ рд╢рд┐рдХрдгреЗ рд╕реБрд░реВ рдХрд░рд╛!
рдпрд╛ рд░реЛрдЬреА рдЕрдкрдбреЗрдЯ рдХреЗрд▓реЗ
резрей рдСрдХреНрдЯреЛ, реирежреирел

рдбреЗрдЯрд╛рд╕рдВрдмрдВрдзрд┐рдд рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛

рдбреЗрд╡реНрд╣рд▓рдкрд░ рддреБрдордЪрд╛ рдбреЗрдЯрд╛ рдХрд╕рд╛ рдЧреЛрд│рд╛ рдХрд░рддрд╛рдд рдЖрдгрд┐ рд╢реЗрдЕрд░ рдХрд░рддрд╛рдд рд╣реЗ рд╕рдордЬреВрди рдШреЗрдгреНрдпрд╛рдкрд╛рд╕реВрди рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╕реБрд░реВ рд╣реЛрддреЗ. рддреБрдордЪрд╛ рд╡рд╛рдкрд░, рдкреНрд░рджреЗрд╢ рдЖрдгрд┐ рд╡рдп рдпрд╛рдВрдЪреНрдпрд╛ рдЖрдзрд╛рд░реЗ рдбреЗрдЯрд╛ рдЧреЛрдкрдиреАрдпрддрд╛ рд╡ рд╕реБрд░рдХреНрд╖реЗрд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдкрджреНрдзрддреА рдмрджрд▓реВ рд╢рдХрддрд╛рдд. рдбреЗрд╡реНрд╣рд▓рдкрд░рдиреЗ рд╣реА рдорд╛рд╣рд┐рддреА рдкреБрд░рд╡рд▓реА рдЖрд╣реЗ рдЖрдгрд┐ рддреА рдХрд╛рд▓рд╛рдВрддрд░рд╛рдиреЗ рдЕрдкрдбреЗрдЯ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддреЗ.
рд╣реЗ ре▓рдк рддреГрддреАрдп рдкрдХреНрд╖рд╛рдВрд╕реЛрдмрдд рдбреЗрдЯрд╛рдЪреЗ рд╣реЗ рдкреНрд░рдХрд╛рд░ рд╢реЗрдЕрд░ рдХрд░реВ рд╢рдХрддреЗ
рдбрд┐рд╡реНрд╣рд╛рдЗрд╕ рдХрд┐рдВрд╡рд╛ рдЗрддрд░ рдЖрдпрдбреА
рдХреЛрдгрддрд╛рд╣реА рдбреЗрдЯрд╛ рдЧреЛрд│рд╛ рдХреЗрд▓реЗрд▓рд╛ рдирд╛рд╣реА
рдбреЗрд╡реНрд╣рд▓рдкрд░ рдбреЗрдЯрд╛ рдЧреЛрд│рд╛ рдХрд░рдгреНрдпрд╛рд╡рд┐рд╖рдпреА рдорд╛рд╣рд┐рддреА рдХрд╢реА рдШреЛрд╖рд┐рдд рдХрд░рддрд╛рдд рдпрд╛рд╡рд┐рд╖рдпреА рдЕрдзрд┐рдХ рдЬрд╛рдгреВрди рдШреНрдпрд╛
рдЯреНрд░рд╛рдВрдЭрд┐рдЯрдордзреНрдпреЗ рдбреЗрдЯрд╛ рдПрдВрдХреНрд░рд┐рдкреНрдЯ рдХреЗрд▓рд╛ рдЬрд╛рддреЛ
рддреБрдореНрд╣реА рдбреЗрдЯрд╛ рд╣рдЯрд╡рдгреНрдпрд╛рдЪреА рд╡рд┐рдирдВрддреА рдХрд░реВ рд╢рдХрддрд╛

рдирд╡реАрди рдХрд╛рдп рдЖрд╣реЗ

Minor bug fixed,
Subscription model added

ре▓рдк рд╕рдкреЛрд░реНрдЯ

рдлреЛрди рдирдВрдмрд░
+918799709773
рдбреЗрд╡реНрд╣рд▓рдкрд░ рдпрд╛рд╡рд┐рд╖рдпреА
kuldeep Kaushik
support@ideeprogrammer.com
H.NO. 3 TIRGADI JASPUR, U.S. NAGAR Udham Singh Nagar, Uttarakhand 244712 India

Idee Programmer рдХрдбреАрд▓ рдЕрдзрд┐рдХ

рдпрд╛рд╕рд╛рд░рдЦреЗ рдЕтАНреЕрдкреНрд╕