рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐
рдПрдВрдбреНрд░реЙрдЗрдб рдХреЗ рд▓рд┐рдП рдореЗрд░реЗ рдЖрд╡реЗрджрди рдХреЛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рд╡рд┐рдЪрд╛рд░ рдзреВрдк рдерд╛рдИрд▓реИрдВрдб рдореЗрдВ рдЖрд░рд╛рдо рдХреЗ рдкрд╛рдВрдЪрд╡реЗрдВ рджрд┐рди рдореЗрд░реЗ рдкрд╛рд╕ рдЖрдпрд╛ рдерд╛ред рдореИрдВ рд╡рд┐рд╡рд░рдг рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рдКрдВрдЧрд╛ рдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдореБрдЭреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдХреНрдпрд╛ рд╕рдВрдХреЗрдд рдорд┐рд▓рд╛, рдореИрдВрдиреЗ рдЖрд╡реЗрджрди рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдФрд░ рдХреНрдпрд╛ рдпреЛрдЬрдирд╛ рдмрдирд╛рдИ (рдмрд╕ рд▓реЗрдЦ рдЙрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИ)ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рд╡рд┐рдЪрд╛рд░ рджреГрдврд╝ рдерд╛ рдФрд░ рдореЗрд░реЗ рдкреНрд░рд╡рд╛рд╕ рдХреЗ рдЫрдареЗ рджрд┐рди, рд╣реЛрдЯрд▓ рдореЗрдВ рдореБрдлреНрдд рдЗрдВрдЯрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ
MySql рдХреЛ рдПрдХ рд▓реИрдкрдЯреЙрдк рдкрд░ рдбрд╛рдЙрдирд▓реЛрдб рдХрд┐рдпрд╛, рд╕рд┐рд░реНрдл рдлрд┐рд▓реНрдореЗрдВ рджреЗрдЦрдиреЗ рдФрд░ рдХреИрдорд░реЗ рд╕реЗ рддрд╕реНрд╡реАрд░реЗрдВ рд▓реЗрдиреЗ рдХреЗ рд▓рд┐рдП рд▓рд┐рдпрд╛ред
рдореИрдВрдиреЗ рд╢реБрд░реВ рдХрд┐рдпрд╛, рдЖрдкрдиреЗ рдЗрд╕рдХрд╛ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛, рдПрдХ рд╕рдВрдмрдВрдзрдкрд░рдХ рдореЙрдбрд▓ рдХреЗ рд╕рд╛рдеред
рдХрд╛рдо рдХрдард┐рди рд╣реЛ рдЧрдпрд╛, рд▓реЗрдХрд┐рди рдореЙрдбрд▓ рдХреЗ рд╕рд╛рде рдХреБрдЫ рдорд╣реАрдиреЛрдВ рдХреЗ рдмрд╛рдж рдореИрдВ рд╕рдорд╛рдкреНрдд рд╣реЛ рдЧрдпрд╛ рдФрд░
рдПрдВрдбреНрд░реЙрдЗрдб рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЬрдВрдЧрд▓ рдореЗрдВ рдЖ рдЧрдпрд╛ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рдореЛрдмрд╛рдЗрд▓ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреЗрд╡рд▓
.Net рдХреЙрдореНрдкреИрдХреНрдЯ рдлреНрд░реЗрдорд╡рд░реНрдХ рдкрд░ рд▓рд┐рдЦрд╛ рдерд╛, рд▓реЗрдХрд┐рди рдЬрдм рд╕реЗ рдореИрдВ
рдЬрд╛рд╡рд╛ рдлрд░реНрд╕реНрдЯрд╣реИрдВрдб рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдерд╛, рдмрдЯрди рдХреЗ рд╕рд╛рде рдПрдХ рд╕рд░рд▓ рд░реВрдк рдореЗрдВ рд░рдЦрдирд╛ рдореБрд╢реНрдХрд┐рд▓ рдирд╣реАрдВ рдерд╛ред рдСрдмреНрдЬреЗрдХреНрдЯ рдореЙрдбрд▓, рдЬреИрд╕рд╛ рдХрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдерд╛, рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреА рдХрдард┐рдирд╛рдЗрдпреЛрдВ рдХрд╛ рдХрд╛рд░рдг рдирд╣реАрдВ рдмрдирд╛, рдФрд░ рдореИрдВрдиреЗ, рдЦреБрд╢реА рд╕реЗ рдпрд╣ рдЕрдиреБрдорд╛рди рд▓рдЧрд╛рдпрд╛ рдХрд┐ рдореЗрд░рд╛ рдкрд░реАрдХреНрд╖рдг рдбреЗрдЯрд╛ рдбрд┐рд╡рд╛рдЗрд╕ рдХреЗ рдЖрдВрддреНрд░реЛрдВ рдореЗрдВ рдХрд╣реАрдВ рджреВрд░ рдЙрдбрд╝ рдЬрд╛рдПрдЧрд╛,
рдПрдВрдбреНрд░реЙрдЗрдб рдбреЗрд╡рд▓рдкрд░реНрд╕ рд╡реЗрдмрд╕рд╛рдЗрдЯ рдкрд░
рдбреЗрдЯрд╛ рд╕реНрдЯреЛрд░реЗрдЬ рдЕрдиреБрднрд╛рдЧ рдЦреЛрд▓рд╛ред
рдбреЗрдЯрд╛рдмреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рдЕрдиреБрднрд╛рдЧ рдХреЛ рд╕рдВрдкреВрд░реНрдг рдирд╣реАрдВ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕рдореЗрдВ рд╕рднреА
рдПрдкреАрдЖрдИ рд╕рдВрджрд░реНрдн рд╢рд╛рдорд┐рд▓ рд╣реИрдВ, рдФрд░ рдореИрдВрдиреЗ рдЕрдкрдирд╛
SQLiteOpenHelper рд╡рд╛рд░рд┐рд╕ рд▓рд┐рдЦрдирд╛ рд╢реБрд░реВ рдХрд░ рджрд┐рдпрд╛ред рдХреБрдЫ рд╕рдлрд▓ рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдмрд╛рдж,
рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рджреНрд╡рд╛рд░рд╛ рдЦрд░рд╛рдм рдХрд░ рджрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж, рдореИрдВрдиреЗ рдорд╣рд╕реВрд╕ рдХрд┐рдпрд╛ рдХрд┐ рдХреБрдЫ рдкреНрд░рдХрд╛рд░ рдХреЗ
рдСрд░реНрдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдореЗрд░реЗ рдкрд╛рд╕ рдПрдХ рджрд░реНрдЬрди рд╕реЗ рдЕрдзрд┐рдХ рд╕рдВрд╕реНрдерд╛рдПрдВ рд╣реИрдВред
рдЧреНрд░реЗрдЯ рдПрдВрдб рдЯреЗрд░рд┐рдмрд▓ "
рдПрдВрдбреНрд░реЙрдЗрдб рдСрд░рдо " рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрдиреЗ рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ
рдЗрд╕ рд▓реЗрдЦ рдХреА рдкрд╣рд▓реА рдХрдбрд╝реА рдорд┐рд▓реА, рдФрд░
рд╕реНрдЯреИрдХрд╡рд░реНрд╡рд░рдлреНрд▓реЛ рдкрд░ рдХреБрдЫ рдЙрдкрдпреЛрдЧреАред рдХреБрд▓ рддреАрди
рдСрд░реНрдореНрд╕ рдЯрд╛рдЗрдк рдХрд┐рдП рд╣реИрдВ, рдореИрдВрдиреЗ рдкреНрд░рдпреЛрдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рд╣реИред
рдкреНрд░рдпреЛрдЧреЛрдВ
рдкрд╣рд▓рд╛ рдкрд░реАрдХреНрд╖рдг
рдСрд░реНрдорд▓рд╛рдЗрдЯ рдХрд╛ рдерд╛ ред
рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдПрдХ рдЕрдЪреНрдЫрд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди, рдПрдиреЛрдЯреЗрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧред рдореБрдЭреЗ
DatabaseHelper рдореЗрдВ
onCreate рдФрд░
onUpgrad рдХрд╛ рдХреНрд░рд┐рдпрд╛рдиреНрд╡рдпрди рднреА рдкрд╕рдВрдж рдЖрдпрд╛ рдФрд░ рдЗрд╕реЗ рдореЗрд░реА рд╕реНрдореГрддрд┐ рдХреА рдЧрд╣рд░рд╛рдИ рдореЗрдВ рдХрд╣реАрдВ рдпрд╛рдж рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд▓реЗрдХрд┐рди! рдкреНрд░рддреНрдпреЗрдХ рдЗрдХрд╛рдИ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рд╡рд░реНрдЧ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП
<% EntityName%> DAO - рдзрдиреНрдпрд╡рд╛рдж! рдЖрдк рдЕрдВрдд рдореЗрдВ рдПрдХ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рд╡рд░реНрдЧ рд╕реЗ рдЬреБрдбрд╝рд╛ рд╣реБрдЖ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕рд╕реЗ рдХреЗрд╡рд▓ рдЕрдзрд┐рдХ рд╕рдорд╕реНрдпрд╛рдПрдВ рд╣реЛрдВрдЧреАред
рдореИрдВрдиреЗ рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рд╣реЗрдбрд┐рдВрдЧ "
рдбреЗрдЯрд╛ рдореЙрдбрд▓ рдФрд░ рдХреЛрдб рдЬрдирд░реЗрд╢рди " рдХреЛ рдЖрдЧреЗ рдирд╣реАрдВ рдкрдврд╝рд╛ред рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдореЗрд░реЗ рд▓рд┐рдП рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХреЗ рдЕрдкрдиреЗ рдлрд╛рдпрджреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди, рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рд╣реЛрдиреЗ рдХреЗ рдХрд╛рд░рдг, рдореИрдВ рдШреЛрд╖рдгрд╛рдУрдВ рдХрд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдкрд╕рдВрдж рдХрд░рддрд╛ рд╣реВрдВред
рдореБрдЭреЗ рдЗрд╕
рдУрдЖрд░рдПрдо рдХреЗ рд▓рд┐рдП рдмрд╣реБрдд рдЙрдореНрдореАрджреЗрдВ рдереАрдВ: рдПрдиреЛрдЯреЗрд╢рди, рдореИрдирд┐рдлрд╝реЗрд╕реНрдЯ (
рд╣реЗрд▓реНрдкрд░ рдСрд░реНрдорд▓рд╛рдЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдПрдХ рд╣реА рдЧрд╣рд░рд╛рдИ рдкрд░ рдпрд╛рдж рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдПрдХ рдЖрдзрд╛рд░ рдХрд╛ рдирд┐рд░реНрдорд╛рдг, рдЗрдХрд╛рдИ рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдореИрдкрд┐рдВрдЧ ... рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣
рдлреНрд░реЗрдорд╡рд░реНрдХ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫрд╛ рд▓рдЧрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдпрд╣ рдореЗрд░реЗ рд╕рдВрдмрдВрдзрдкрд░рдХ рдореЙрдбрд▓ рдХреЛ рдирд╣реАрдВ рдЦреАрдВрдЪрддрд╛ рд╣реИ рд╕рдХрддрд╛ рд╣реИред
рд╕рдВрдмрдВрдзрдкрд░рдХ рдореЙрдбрд▓
рдореИрдВ рдЕрдВрдд рдореЗрдВ рдпрд╣ рдмрддрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐ рдореБрдЭреЗ рдХрд┐рд╕
рддрд░рд╣ рдХрд╛ рд╕рдВрдмрдВрдзрдкрд░рдХ рдореЙрдбрд▓ рдорд┐рд▓рд╛ рд╣реИ,
orm рд╕реЗ рдереЛрдбрд╝рд╛ рд╕рд╛
рдЦреЛрджрдирд╛ рд╣реЛрдЧрд╛ред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдЗрд╕рдореЗрдВ рд╕рдм рдХреБрдЫ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ рдорд╛рдирдХ рд╣реИ, рдПрдХ рдЪреАрдЬ рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рдеред
рдПрдВрдЯрд┐рдЯреА рдлреНрд░реЗрдорд╡рд░реНрдХ рдореЗрдВ , рдЬрдм рд╡рд┐рд░рд╛рд╕рдд рд╡рд╛рд▓реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреА рдореИрдкрд┐рдВрдЧ рдХреА рдЬрд╛рддреА рд╣реИ, рддреЛ рдПрдХ рдЯреЗрдмрд▓ рдЕрддрд┐рд░рд┐рдХреНрдд рдХреНрд╖реЗрддреНрд░реЛрдВ рдХреЗ рд╕рд╛рде рдмрдирд╛рдИ рдЬрд╛рддреА рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП: рдорд╛рди рд▓реЗрдВ рдХрд┐ рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЗрдХрд╛рдИ "
рдорд╢реАрди " рд╣реИ
public class Car { private CarType type; private int enginePower; private int doorsCount; }
рдФрд░ "
рдЯреНрд░рдХ " рдЗрдХрд╛рдИ рдХреЛ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА
public class Truck extends Car{ private boolean isTipper; }
рд╕рд╛рдорд╛рдиреНрдпрддрдпрд╛, orm рдХреЛ рддрд╛рд▓рд┐рдХрд╛ рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рдХреНрд╡реЗрд░реА рдЙрддреНрдкрдиреНрди рдХрд░рдиреА рдЪрд╛рд╣рд┐рдП:
CREATE TABLE car (id INTEGER PRIMARY KEY, type INTEGER REFERENCE car_type(id), engine_power INTEGER, doors_count INTEGER, is_tipper INTEGER);
рдореИрдВрдиреЗ рдПрдХ рдмрд╛рд░
PostgreSQL рдореЗрдВ рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХреА рд╡рд┐рд░рд╛рд╕рдд рд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрдХрд░ рдпрд╣ рдореЙрдбрд▓ рдмрдирд╛рдпрд╛ рдерд╛:
CREATE TABLE car (id INTEGER PRIMARY KEY, type INTEGER REFERENCES car_type(id), engine_power INTEGER, doors_count INTEGER); CREATE TABLE truck (id INTEGER REFERENCES car(id) ON DELETE CASCADE, is_tipper INTEGER);
рдореИрдВ рддреБрд░рдВрдд рд╕реНрдкрд╖реНрдЯ рдХрд░ рджреВрдВрдЧрд╛ рдХрд┐ рдпрд╣ рд╕рд┐рд░реНрдл рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдФрд░ рдореЗрд░реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдореЗрдВ, рдмрд╣реБрдд рдЕрдзрд┐рдХ рдХреНрд╖реЗрддреНрд░ рдФрд░ рд╕рдВрдмрдВрдз рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдореИрдВ рдЗрд╕ рддрдереНрдп рдХреЗ рд╕рд╛рде
рдХрд╛рд░ рддрд╛рд▓рд┐рдХрд╛ рдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛ рдХрд┐ рдореИрдВ рдЗрд╕рд╕реЗ рд╕рдВрдмрдВрдзрд┐рдд рдирд╣реАрдВ рдерд╛ред
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рдЪрдпрди рдХреЛ
рд▓реЗрдлреНрдЯ рдЬреЙрдЗрди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред
рдирддреАрдЬрддрди, рдореИрдВрдиреЗ рдПрдХ рд╕рд╛рдЗрдХрд┐рд▓ рдХрд╛ рдЖрд╡рд┐рд╖реНрдХрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдлреИрд╕рд▓рд╛ рдХрд┐рдпрд╛, рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдЕрдкрдиреЗ рдЦреБрдж рдХреЗ
рдСрд░рдо рд▓рд┐рдЦреЛред
рд╕рдВрдХрд▓реНрдкрдирд╛
- рдХреЛрдИ рдЗрдХрд╛рдИ рдЬрдирд░реЗрдЯрд░! рд╕рднреА рдПрдиреЛрдЯреЗрд╢рди рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗред
- рд╕рдВрднрд╡ рдХреЗ рд░реВрдк рдореЗрдВ рдХреБрдЫ рдЕрд▓рдЧ рдкреНрд░рдХрд╛рд░ рдХреЗ рдПрдиреЛрдЯреЗрд╢рди рд╣реИрдВ, рдЖрджрд░реНрд╢ рд░реВрдк рд╕реЗ рджреЛ (рдЕрдм рддрдХ рдпрд╣ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред
- рд╕реНрд╡рдпрдВ рд╡рд░реНрдЧ рдХреЗ рд╕реНрдерд┐рд░ рддрд░реАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рдВрд╕реНрдерд╛рдУрдВ рд╕реЗ рдЕрдиреБрд░реЛрдз рдХрд░реЗрдВред
- рдЙрджрд╛рд╣рд░рдг рдХреЗ рддрд░реАрдХреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрдирд╛рдПрдВ, рд╕рд╣реЗрдЬреЗрдВ рдФрд░ рд╣рдЯрд╛рдПрдВред
- рдкреНрд░рд╛рд░рдВрднрд┐рдХ рддрд╛рд▓рд┐рдХрд╛ рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐рдпреЛрдВ рдХреЛ рдмрдирд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рд╡рд╛рд▓рд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рд╣реЗрд▓реНрдкрд░ рд╣реИ ред
рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдПрдиреЛрдЯреЗрд╢рди
рдореЗрд░реЗ рдкрд╛рд╕ рдХреЗрд╡рд▓ рджреЛ рд╕рд╛рд░ рд╣реИрдВ:
- рддрд╛рд▓рд┐рдХрд╛ - рдПрдХ рд╡рд░реНрдЧ рдкрд░ рд▓рд╛рдЧреВ рд╣реЛрддреА рд╣реИ, рдПрдХ рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреА рд╣реИред рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рдирд╛рдо - рддрд╛рд▓рд┐рдХрд╛ рдХрд╛ рдирд╛рдо, рдпрджрд┐ рдЦрд╛рд▓реА рд╣реИ - рддреЛ рдХрдХреНрд╖рд╛ рдХрд╛ рдирд╛рдо рд▓реЛрдЕрд░рдХреЗрд╕ рдореЗрдВ рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- рдХреИрд╢реЗрдбрд▓рд┐рд╕реНрдЯ - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдХреНрдпрд╛ рдЗрд╕ рд╡рд░реНрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП рдкреНрд░рддреНрдпреЗрдХ рдХреЛ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд░рдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИ, рдпрд╛ рдХреИрд╢реНрдб рд╕реВрдЪреА рдореЗрдВ рдЗрд╕реЗ рдЦреЛрдЬрдирд╛ рд╣реЛрдЧрд╛ (рдореИрдВ рдереЛрдбрд╝рд╛ рдмрд╛рдж рдореЗрдВ рд╕рдордЭрд╛рдКрдВрдЧрд╛)ред
- LeftJoinTo - рдЙрд╕ рд╡рд░реНрдЧ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬрд┐рд╕ рдкрд░ рджреА рд╡рд╛рд░рд┐рд╕ рд╣реИред
- RightJoinTo - рдЙрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред
- рд╕реНрддрдВрдн - рдХреНрд╖реЗрддреНрд░ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рд╕реНрддрдВрднреЛрдВ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддрд╛ рд╣реИред рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ:
- рдирд╛рдо - рдХреЙрд▓рдо рдХрд╛ рдирд╛рдо; рдпрджрд┐ рдЦрд╛рд▓реА рд╣реИ, рддреЛ рдирд┐рдЪрд▓реЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдлрд╝реАрд▓реНрдб рдХрд╛ рдирд╛рдо рд▓рд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
- PrimaryKey - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдлрд╝реАрд▓реНрдб рдХреБрдВрдЬреА рд╣реИред
- рдЗрдирд╣реЗрд░рд┐рдЯреЗрдб - рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рдПрдиреЛрдЯреЗрд╢рди рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реИред
- рд╕рдВрджрд░реНрдн - рд╕рдВрджрд░реНрдн - рд╕рдВрджрд░реНрдн рдХреНрд╖реЗрддреНрд░ рдХреЗ рд▓рд┐рдП рдХрд╛рд░реНрдпреЛрдВ рдХреА рдПрдХ рд╕реВрдЪреАред
рддрдереНрдп
рдлрд┐рд░ рд╕реЗ рд╣рдо рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╕реЗ рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВрдЧреЗ:
public class BaseEntity extends OrmEntity { @Column(primaryKey = true, inherited = true) private Long id; } @Table(name = тАЬcar_typeтАЭ, cashedList = true) public class CarType extends BaseEntity { @Column private String code; } @Table(rightJoinTo = {Truck.class}) public class Car extends BaseEntity { @Column(name = тАЬcar_typeтАЭ) private CarType type; @Column private List<Wheel> wheels; @Column(name = тАЬengine_powerтАЭ) private int enginePower; @Column(name = тАЬdoors_countтАЭ) private int doorsCount; } @Table public class Wheel extends BaseEntity { @Column(name = тАЬcar_idтАЭ) private Car car; @Column private String manufacturer; } @Table(leftJoinTo = Car.class) public class Truck extends Car { @Column(name = тАЬis_tipperтАЭ) private boolean isTipper; }
рд╣реЗрд▓реНрдкрд░ рдУрд░рдорд▓рд╛рдЗрдЯ рдХреЗ рд╕рдорд╛рди
рд╣реЗрд▓реНрдкрд░ рдХреЗ рдХрд╛рд░реНрдп рдХреЗ
рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк, рд╣рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдкреНрд░рд╢реНрди рдорд┐рд▓рддреЗ рд╣реИрдВ:
CREATE TABLE car_type (id INTEGER PRIMARY KEY, code TEXT); CREATE TABLE car (id INTEGER PRIMARY KEY, car_type REFERENCES car_type (id), engine_power INTEGER, doors_count INTEGER); CREATE TABLE wheel (id INTEGER PRIMARY KEY, car_id INTEGER REFERENCES car (id), manufacturer TEXT); CREATE TABLE truck (car_id REFERENCES car (id), is_tipper INTEGER);
рдУрд░рдо рдкрд░ рдЕрдзрд┐рдХ
OrmEntity рд╡рд░реНрдЧ рдореЗрдВ рдПрдХ рд╕рдВрд░рдХреНрд╖рд┐рдд рд╕реНрдереИрддрд┐рдХ рд╡рд┐рдзрд┐ рд╣реИ:
protected static <T extends OrmEntity> List<T> getAllEntities (Class<T> entityClass)
рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП,
CarType рдХреНрд▓рд╛рд╕ рдореЗрдВ,
рд╣рдо рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рдзрд┐ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рддреЗ рд╣реИрдВ:
public static List<CarType> getAllEntities() { return getAllEntities(CarTpe.class); }
OrmEntity рдореЗрдВ рднреА рд╕рдВрд░рдХреНрд╖рд┐рдд
рдкрд░рд┐рд╡рд░реНрддрди рдФрд░
рд╣рдЯрд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рд╣реИрдВред
BaseEntity рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдореЗрдВ
, рдореИрдВ
рдмрджрд▓рд╛рд╡ рдЫрд┐рдкрд╛рддрд╛ рд╣реВрдВ, рдФрд░ рдЗрд╕реЗ
рдбрд╛рд▓рдиреЗ рдФрд░
рдЕрдкрдбреЗрдЯ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ, рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ, рд╡рд┐рд╢реБрджреНрдз рд░реВрдк рд╕реЗ рд╕реБрдВрджрд░рддрд╛ рдХреЗ рд▓рд┐рдПред
рдЬрд╛рдБрдЪ рдФрд░ рд╕реАрдорд╛рдПрдБ
рдПрдХ рдЗрдХрд╛рдИ рдХреЗ рдкрд╛рд╕
рдкреНрд░рд╛рдЗрдорд░реАрдХреЗ рд▓реЗрдмрд▓ рд╡рд╛рд▓рд╛ рдлрд╝реАрд▓реНрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рдЯрд╛рдЗрдк
рд▓реЙрдиреНрдЧ рдХрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП (рдЕрд░реНрдерд╛рдд
L ong , рддрд╛рдХрд┐ рд╢реБрд░реВ рдореЗрдВ
id null рд╣реЛ рдФрд░ рдУрдо рдУрдо
рдмрджрд▓рд╛рд╡ рдХреЛ рд╕рдордЭ рд╕рдХреЗ рдХрд┐ рдпрд╣ рдХреНрдпрд╛ рд╣реИ,
рдбрд╛рд▓реЗрдВ рдпрд╛
рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВ )ред
рдпрджрд┐
рдХреЙрд▓рдо рд▓реЗрдмрд▓ рд╡рд╛рд▓рд╛ рдлрд╝реАрд▓реНрдб
OrmEntity рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓реА рд╕рдВрд╕реНрдерд╛рдУрдВ рдХреЗ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд╕рд╛рде рдЯрд╛рдЗрдк
рд╕реВрдЪреА рдХрд╛ рд╣реИ, рддреЛ рдЗрд╕ рд╡рд░реНрдЧ рдореЗрдВ
рдХреЙрд▓рдо рдХреЗ рд░реВрдк рдореЗрдВ рд▓реЗрдмрд▓ рд╡рд╛рд▓реА рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдХрд╛ рдлрд╝реАрд▓реНрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐
рд╕реНрддрдВрдн рд▓реЗрдмрд▓ рд╡рд╛рд▓рд╛ рдлрд╝реАрд▓реНрдб
OrmEntity рд╕реЗ рд╡рд┐рд░рд╛рд╕рдд рдореЗрдВ рдорд┐рд▓рд╛ рд╣реБрдЖ рдкреНрд░рдХрд╛рд░ рдХрд╛ рд╣реИ, рддреЛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдкрд╛рд╕
рдкреНрд░рд╛рдердорд┐рдХ рдлрд╝реАрд▓реНрдб рдХреЗ рд╕рд╛рде
рдХреЙрд▓рдо рд▓реЗрдмрд▓ рд╡рд╛рд▓рд╛ рдлрд╝реАрд▓реНрдб рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред
рдпрджрд┐ рдХреНрд▓рд╛рд╕ рдХреЛ
рд▓реЗрдлреНрдЯ рдЬреЙрдЗрдиреНрдЯреЛ рдХреЗ рд╕рд╛рде
рдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛
рдЬрд╛рддрд╛ рд╣реИ , рддреЛ
рд▓реЗрдлреНрдЯрдЬреЙрдЗрдиреНрдЯреЛ рдореЗрдВ рдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХреНрд▓рд╛рд╕ рдХреЛ
рд░рд╛рдЗрдЯрдЬреЙрдЗрдиреНрдЯреЛ рдореЗрдВ
рдЯреЗрдмрд▓ рдХреЗ рд╕рд╛рде рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП, рдЬрд┐рд╕рдореЗрдВ рдкреНрд░рдердо рд╢реНрд░реЗрдгреА рдЬреЛрдбрд╝реА рдЬрд╛рддреА рд╣реИред
рд╕рднреА рд╡рд┐рдлрд▓ рдЪреЗрдХ рдПрдХ
рдЕрдкрд╡рд╛рдж рдлреЗрдВрдХрддреЗ рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдлрд┐рд▓рд╣рд╛рд▓,
рдСрд░рдо рдЕрднреА рдЦрддреНрдо рдирд╣реАрдВ рд╣реБрдЖ рд╣реИ, рдФрд░ рдореИрдВ рдЗрд╕реЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬреИрд╕реЗ рдореБрдЭреЗ рдЬрд░реВрд░рдд рд╣реИред рдЕрдм
int ,
Long ,
double ,
String ,
Drawable рдХреЗ рдкреНрд░рдХрд╛рд░ рд╕рдорд░реНрдерд┐рдд рд╣реИрдВред рд░рд╛рд╕реНрддреЗ рдореЗрдВ
рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ ред
рд╕рдВрджрд░реНрднреЛрдВ рдкрд░ рдХрд╛рд░реНрд░рд╡рд╛рдИ рд╕реЗ, рдЬрдмрдХрд┐ рдХреЗрд╡рд▓
DELETE рд╣реИ , рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ
CASCADE рдФрд░
SET NULL, рдФрд░ рдмрд╛рдХреА рдмрдирд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
LeftJoinTo - рдЬрдмрдХрд┐ рдпрд╣ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд░ рд░рд╣рд╛ рд╣реИ, рдЕрдм рдореИрдВ рдЗрд╕реЗ рдкреВрд░рд╛ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдЬреИрд╕реЗ рд╣реА рдореИрдВрдиреЗ рдЕрдкрдирд╛ рд╕рдмрдХреБрдЫ рдЦрддреНрдо рдХрд░ рд▓рд┐рдпрд╛ рдФрд░ рдореИрдВрдиреЗ рдХрд▓реНрдкрдирд╛ рдХреА рдФрд░ рдХреЛрдб рдХреЛ рдХрдВрдШреА рдХрд░ рд▓рд┐рдпрд╛, рдореИрдВ
GitHub рдкрд░ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреЛрд╕реНрдЯ рдХрд░ рджреВрдВрдЧрд╛ред