“`html
Hibernate HQL рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛: рдЙрдиреНрдирдд WHERE рдХреНрд▓реЙрдЬ рдСрдкрд░реЗрд╢рдиреНрд╕
рд╕рд╛рдордЧреНрд░реА рддрд╛рд▓рд┐рдХрд╛
- рдкрд░рд┐рдЪрдп тАФ рдкреГрд╖реНрда 1
- Hibernate рдФрд░ HQL рдХреЛ рд╕рдордЭрдирд╛ тАФ рдкреГрд╖реНрда 3
- рдЕрдкрдиреЗ Hibernate рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛ тАФ рдкреГрд╖реНрда 5
- HQL рдореЗрдВ WHERE рдХреНрд▓реЙрдЬ рд▓рд╛рдЧреВ рдХрд░рдирд╛ тАФ рдкреГрд╖реНрда 7
- рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди тАФ рдкреГрд╖реНрда 11
- рдЙрджрд╛рд╣рд░рдг 1: рдПрдХрд▓ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
- рдЙрджрд╛рд╣рд░рдг 2: рдХрдИ рд╢рд░реНрддреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдирд╛
- рдЙрджрд╛рд╣рд░рдг 3: рдкреИрдЯрд░реНрди рдореИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
- рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ тАФ рдкреГрд╖реНрда 15
- рдирд┐рд╖реНрдХрд░реНрд╖ тАФ рдкреГрд╖реНрда 18
- рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди тАФ рдкреГрд╖реНрда 19
рдкрд░рд┐рдЪрдп
рд╕реНрд╡рд╛рдЧрдд рд╣реИ Hibernate HQL рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдирд╛: рдЙрдиреНрдирдд WHERE рдХреНрд▓реЙрдЬ рдСрдкрд░реЗрд╢рдиреНрд╕ рдореЗрдВ, рдЖрдкрдХрд╛ рд╡реНрдпрд╛рдкрдХ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рдЬреЛ Hibernate Query Language (HQL) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХреБрд╢рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЯрд░реИрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рд╣реИред рдпрд╣ рдИрдмреБрдХ рдЬрдЯрд┐рд▓ WHERE рдХреНрд▓реЙрдЬ рдмрдирд╛рдиреЗ рдХреА рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдореЗрдВ рдЧрд╣рд░рд╛рдИ рд╕реЗ рдЙрддрд░рддреА рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕рдЯреАрдХрддрд╛ рдХреЗ рд╕рд╛рде рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдФрд░ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
рдХреНрдпреЛрдВ Hibernate рдФрд░ HQL?
Hibernate рдПрдХ рдордЬрдмреВрдд Object-Relational Mapping (ORM) рдЯреВрд▓ рд╣реИ рдЬреЛ Java рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИред HQL, Hibernate рдХреА рдХреНрд╡реЗрд░реА рднрд╛рд╖рд╛, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╢рдХреНрддрд┐рд╢рд╛рд▓реА, рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд▓рдЪреАрд▓рд╛рдкрди рдФрд░ рд░рдЦрд░рдЦрд╛рд╡ рдХреНрд╖рдорддрд╛ рдмрдврд╝рддреА рд╣реИред
рдЗрд╕ рдИрдмреБрдХ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп
рдпрд╣ рдорд╛рд░реНрдЧрджрд░реНрд╢рд┐рдХрд╛ рд╢реБрд░реБрдЖрддреА рдФрд░ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдХреЛ HQL рдХреЗ WHERE рдХреНрд▓реЙрдЬ рдСрдкрд░реЗрд╢рдиреНрд╕ рдХреА рдмреБрдирд┐рдпрд╛рджреА рд╕рдордЭ рд╕реЗ рд▓реИрд╕ рдХрд░рдиреЗ рдХрд╛ рд▓рдХреНрд╖реНрдп рд░рдЦрддреА рд╣реИред рдЖрдк рд╕рд░рд▓ рдФрд░ рдЙрдиреНрдирдд рдХреНрд╡реЗрд░реАрдЬрд╝ рдмрдирд╛рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрдВрдЧреЗ, рдЬрд┐рд╕рд╕реЗ рдЖрдкрдХреЗ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЗ рдЕрдиреБрд╕рд╛рд░ рдХреБрд╢рд▓ рдбреЗрдЯрд╛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрддрд┐ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрдЧреАред
рдлрд╛рдпрджреЗ рдФрд░ рдиреБрдХрд╕рд╛рди
рдлрд╛рдпрджреЗ | рдиреБрдХрд╕рд╛рди |
---|---|
рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЯрд░реИрдХреНрд╢рдиреНрд╕ рдХреЛ рд╕рд░рд▓ рдмрдирд╛рддрд╛ рд╣реИ | рдЬрдЯрд┐рд▓ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рд╕рдордп рд▓рдЧреЗрдЧрд╛ рд╕реАрдЦрдиреЗ рдореЗрдВ |
рдХреЛрдб рдХреА рд░рдЦрд░рдЦрд╛рд╡ рдХреНрд╖рдорддрд╛ рдХреЛ рдмрдврд╝рд╛рддрд╛ рд╣реИ | рдХреБрдЫ рдкрд░рд┐рджреГрд╢реНрдпреЛрдВ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдУрд╡рд░рд╣реЗрдб рд╣реЛ рд╕рдХрддрд╛ рд╣реИ |
рдЙрдиреНрдирдд рдХреНрд╡реЗрд░реАрдВрдЧ рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ | HQL рд╕рд┐рдВрдЯреИрдХреНрд╕ рдХреА рд╕рдордЭ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ |
рдХрдм рдФрд░ рдХрд╣рд╛рдВ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ Hibernate HQL
Hibernate HQL рдЙрди Java рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЖрджрд░реНрд╢ рд╣реИ рдЬрд┐рдиреНрд╣реЗрдВ рдЧрддрд┐рд╢реАрд▓ рдФрд░ рдЬрдЯрд┐рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИред рдпрд╣ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╕рдордп рдЙрдкрдпреЛрдЧреА рд╣реИ рдЬрд╣рд╛рдБ рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд▓рдЪреАрд▓рд╛рдкрди рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реЛрддреЗ рд╣реИрдВред
Hibernate рдФрд░ HQL рдХреЛ рд╕рдордЭрдирд╛
Hibernate рдХреНрдпрд╛ рд╣реИ?
Hibernate рдПрдХ ORM рдлреНрд░реЗрдорд╡рд░реНрдХ рд╣реИ рдЬреЛ Java рдЕрдиреБрдкреНрд░рдпреЛрдЧреЛрдВ рдореЗрдВ рдбреЗрдЯрд╛рдмреЗрд╕ рдЗрдВрдЯрд░реИрдХреНрд╢рдиреНрд╕ рдХреЛ рдЕрдореВрд░реНрдд рдмрдирд╛рддрд╛ рд╣реИред рдпрд╣ Java рдХреНрд▓рд╛рд╕реЗрдЬрд╝ рдХреЛ рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓реНрд╕ рд╕реЗ рдореИрдк рдХрд░рддрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдбреЗрд╡рд▓рдкрд░реНрд╕ рдмрд┐рдирд╛ рд╡рд┐рд╕реНрддреГрдд SQL рдХреЛрдб рд▓рд┐рдЦреЗ CRUD (Create, Read, Update, Delete) рдСрдкрд░реЗрд╢рдиреНрд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред
HQL рдХрд╛ рдкрд░рд┐рдЪрдп
HQL рдХрд╛ рдЕрд░реНрде рд╣реИ Hibernate Query Languageред рдпрд╣ SQL рдХреЗ рд╕рдорд╛рди рд╣реИ рд▓реЗрдХрд┐рди рд░рд┐рд▓реЗрд╢рдирд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓реНрд╕ рдХреЗ рдмрдЬрд╛рдп рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рдбреЛрдореЗрди рдореЙрдбрд▓ рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдЕрдореВрд░реНрддрддрд╛ рдбреЗрдЯрд╛ рдХреЛ рдХреНрд╡реЗрд░реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдЕрдзрд┐рдХ рд╕рд╣рдЬ рдФрд░ рд▓рдЪреАрд▓рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИред
HQL рдХреА рдкреНрд░рдореБрдЦ рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ
- рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб: рд╕реНрдерд╛рдпреА рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдФрд░ рдЙрдирдХреА рдЧреБрдгреЛрдВ рдХреЛ рд╕рдВрд╢реЛрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред
- рдбреЗрдЯрд╛рдмреЗрд╕ рд╕реНрд╡рддрдВрддреНрд░: рдЕрдВрддрд░реНрдирд┐рд╣рд┐рдд рдбреЗрдЯрд╛рдмреЗрд╕ рдбрд╛рдпрд▓реИрдХреНрдЯ рдХреЗ рдЕрдиреБрд╕рд╛рд░ SQL рдЙрддреНрдкрдиреНрди рдХрд░рддрд╛ рд╣реИред
- рдЬрдЯрд┐рд▓ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ: рдЬреЙрдЗрдиреНрд╕, рд╕рдмрдХреНрд╡реЗрд░реАрдЬрд╝, рдФрд░ рдПрдЧреНрд░реАрдЧреЗрд╢рдиреНрд╕ рдХреЗ рд╕рд╛рде рдкреЗрдЪреАрджрдЧрд┐рдпреЛрдВ рдХреНрд╡реЗрд░реАрдЬрд╝ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред
рдЕрдкрдиреЗ Hibernate рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдХреЛ рд╕реЗрдЯрдЕрдк рдХрд░рдирд╛
HQL рдХреНрд╡реЗрд░реАрдЬрд╝ рдореЗрдВ рдЙрддрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ рдЖрдкрдХрд╛ Hibernate рд╡рд╛рддрд╛рд╡рд░рдг рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣рд╛рдВ рдЖрд╡рд╢реНрдпрдХ рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдЪрд░рдгреЛрдВ рдХрд╛ рдПрдХ рд╕рдВрдХреНрд╖рд┐рдкреНрдд рдЕрд╡рд▓реЛрдХрди рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓реЗрдВ
- hibernate.cfg.xml: рдХреЗрдВрджреНрд░реАрдп рдХреЙрдиреНрдлрд╝рд┐рдЧрд░реЗрд╢рди рдлрд╛рдЗрд▓ рдЬрд╣рд╛рдБ рдЖрдк рдбреЗрдЯрд╛рдмреЗрд╕ рдХрдиреЗрдХреНрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕, рдореИрдкрд┐рдВрдЧреНрд╕, рдФрд░ рдЕрдиреНрдп рдЧреБрдгреЛрдВ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВред
- Entity Classes: рдбреЗрдЯрд╛рдмреЗрд╕ рдЯреЗрдмрд▓реНрд╕ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдиреЛрдЯреЗрдЯреЗрдб рдпрд╛ рдореИрдк рдХреА рдЧрдИ Java рдХреНрд▓рд╛рд╕реЗрдЬрд╝ред
Deprecated рдбреНрд░рд╛рдЗрд╡рд░ рдХреНрд▓рд╛рд╕реЗрд╕ рдХреЛ рдЕрдкрдбреЗрдЯ рдХрд░рдирд╛
рдпрджрд┐ deprecated рдбреНрд░рд╛рдЗрд╡рд░ рдХреНрд▓рд╛рд╕реЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ Hibernate рдЪреЗрддрд╛рд╡рдирд┐рдпрд╛рдБ рд▓реЙрдЧ рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП:
<plaintext> Loading class. The driver class 'com.mysql.jdbc.Driver' is deprecated. </plaintext>
рд╕рдорд╛рдзрд╛рди: рдбреНрд░рд╛рдЗрд╡рд░ рдХреНрд▓рд╛рд╕ рдХреЛ рдирд╡реАрдирддрдо рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░реЗрдВред
<xml> <property name="connection.driver_class">com.mysql.jdbc.Driver</property> <property name="connection.driver_class">com.mysql.cj.jdbc.Driver</property> </xml>
рдирд╡реАрдирддрдо рдбреНрд░рд╛рдЗрд╡рд░ рдореЗрдВ рдЕрдкрдбреЗрдЯ рдХрд░рдиреЗ рд╕реЗ рд╕рдВрдЧрддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рд╣реЛрддреА рд╣реИ рдФрд░ рдирдП рдлреАрдЪрд░реНрд╕ рддрдХ рдкрд╣реБрдВрдЪ рдкреНрд░рд╛рдкреНрдд рд╣реЛрддреА рд╣реИред
HQL рдореЗрдВ WHERE рдХреНрд▓реЙрдЬ рд▓рд╛рдЧреВ рдХрд░рдирд╛
WHERE рдХреНрд▓реЙрдЬ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдореЗрдВ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред HQL рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рдХрд╛рд░ рдХреЗ WHERE рдХреНрд▓реЙрдЬ рдмрдирд╛рдиреЗ рдХреЗ рддрд░реАрдХреЗ рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рдХреНрд╡реЗрд░реАрдВрдЧ рдЖрд╡рд╢реНрдпрдХрддрд╛рдУрдВ рдХреЛ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗред
рд╕рд░рд▓ WHERE рдХреНрд▓реЙрдЬ
рдПрдХ рдмреБрдирд┐рдпрд╛рджреА WHERE рдХреНрд▓реЙрдЬ рдЙрди рд░рд┐рдХреЙрд░реНрдбреНрд╕ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ рдЬреЛ рд╡рд┐рд╢реЗрд╖ рдорд╛рдирджрдВрдбреЛрдВ рдХреЛ рдкреВрд░рд╛ рдХрд░рддреЗ рд╣реИрдВред
<hql> FROM Users WHERE username = 'John' </hql>
рд▓реЙрдЬрд┐рдХрд▓ рдСрдкрд░реЗрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛: AND & OR
рдЕрдкрдиреЗ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЛ рдкрд░рд┐рд╖реНрдХреГрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХрд╛рдзрд┐рдХ рд╢рд░реНрддреЛрдВ рдХреЛ рдЬреЛрдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП AND рдФрд░ OR рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
<hql> FROM Users WHERE username = 'John' AND lastname = 'Doe' FROM Users WHERE username = 'John' OR lastname = 'Sharma' </hql>
HQL рдореЗрдВ рдХреЗрд╕ рдЗрдиреНрд╕реЗрдВрд╕рд┐рдЯрд┐рд╡рд┐рдЯреА
HQL рдХреЗрд╕-рдЗрдиреНрд╕реЗрдВрд╕рд┐рдЯрд┐рд╡ рд╣реИ, рдЕрд░реНрдерд╛рдд рдпрд╣ рдХреНрд╡реЗрд░реАрдЬрд╝ рдореЗрдВ рдЕрдкрд░рдХреЗрд╕ рдФрд░ рд▓реЛрдЕрд░рдХреЗрд╕ рдЕрдХреНрд╖рд░реЛрдВ рдХреЛ рд╕рдорд╛рди рд░реВрдк рд╕реЗ рдорд╛рдирддрд╛ рд╣реИред
<hql> FROM Users WHERE username = 'john' </hql>
рднрд▓реЗ рд╣реА рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ‘John’ рд╣реЛ, рдпрд╣ рдХреНрд╡реЗрд░реА рд╕рдлрд▓рддрд╛рдкреВрд░реНрд╡рдХ рд░рд┐рдХреЙрд░реНрдб рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд▓реЗрдЧреАред
LIKE рдФрд░ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде рдЙрдиреНрдирдд WHERE рдХреНрд▓реЙрдЬ
рдкреИрдЯрд░реНрди рдореИрдЪрд┐рдВрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП LIKE рдСрдкрд░реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреИрд░реЗрдХреНрдЯрд░реНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- %: рд╢реВрдиреНрдп рдпрд╛ рдЕрдзрд┐рдХ рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
- _: рдПрдХрд▓ рдЕрдХреНрд╖рд░ рдХрд╛ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХрд░рддрд╛ рд╣реИред
<hql> FROM Users WHERE password LIKE '%123' </hql>
рдпрд╣ рдХреНрд╡реЗрд░реА рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддреА рд╣реИ рдЬрд┐рдирдХреЗ рдкрд╛рд╕рд╡рд░реНрдб ‘123’ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред
рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдХреЛрдб рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЖрдЗрдП рдХреЛрдб рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ HQL WHERE рдХреНрд▓реЙрдЬ рдХреЗ рдкреНрд░рд╛рдпреЛрдЧрд┐рдХ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд░реЗрдВред
рдЙрджрд╛рд╣рд░рдг 1: рдПрдХрд▓ рд░рд┐рдХреЙрд░реНрдб рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛
рдЙрджреНрджреЗрд╢реНрдп: ‘John’ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред
<java> // HQL Query String hql = "FROM Users WHERE username = 'John'"; Query query = session.createQuery(hql); Users user = (Users) query.uniqueResult(); System.out.println(user); </java>
рд╡реНрдпрд╛рдЦреНрдпрд╛:
1. HQL Statement: рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ‘John’ рд╣реИред
2. Execution: рдХреНрд╡реЗрд░реА рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдПрдХ рдЕрджреНрд╡рд┐рддреАрдп рдкрд░рд┐рдгрд╛рдо рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
3. Output: рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рд╡рд┐рд╡рд░рдг рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг 2: рдХрдИ рд╢рд░реНрддреЛрдВ рдХреЛ рдорд┐рд▓рд╛рдирд╛
рдЙрджреНрджреЗрд╢реНрдп: рдЬрд┐рди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ‘John’ рд╣реИ OR рдЕрдВрддрд┐рдо рдирд╛рдо ‘Sharma’ рд╣реИ, рдЙрдиреНрд╣реЗрдВ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ред
<java> // HQL Query String hql = "FROM Users WHERE username = 'John' OR lastname = 'Sharma'"; Query query = session.createQuery(hql); List<Users> users = query.list(); for (Users user : users) { System.out.println(user); } </java>
рд╡реНрдпрд╛рдЦреНрдпрд╛:
1. HQL Statement: рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХрд╛ рдЪрдпрди рдХрд░рддрд╛ рд╣реИ рдЬрд┐рдирдХрд╛ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдирд╛рдо ‘John’ рд╣реИ рдпрд╛ рдЕрдВрддрд┐рдо рдирд╛рдо ‘Sharma’ рд╣реИред
2. Execution: рдорд┐рд▓рддреЗ-рдЬреБрд▓рддреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреА рд╕реВрдЪреА рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
3. Output: рдкреНрд░рддреНрдпреЗрдХ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рдЙрджрд╛рд╣рд░рдг 3: рдкреИрдЯрд░реНрди рдореИрдЪрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛
рдЙрджреНрджреЗрд╢реНрдп: рдЙрди рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЬрд┐рдирдХреЗ рдкрд╛рд╕рд╡рд░реНрдб ‘123’ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрддреЗ рд╣реИрдВред
<java> // HQL Query String hql = "FROM Users WHERE password LIKE '%123'"; Query query = session.createQuery(hql); List<Users> users = query.list(); for (Users user : users) { System.out.println(user); } </java>
рд╡реНрдпрд╛рдЦреНрдпрд╛:
1. HQL Statement: ‘%’ рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХреЗ рд╕рд╛рде LIKE рдСрдкрд░реЗрдЯрд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ ‘123’ рдкрд░ рд╕рдорд╛рдкреНрдд рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ рдкрд╛рд╕рд╡рд░реНрдб рдорд┐рд▓реЗрдВред
2. Execution: рдкреИрдЯрд░реНрди рд╕реЗ рдореЗрд▓ рдЦрд╛рдиреЗ рд╡рд╛рд▓реЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИред
3. Output: рд╕рдВрдмрдВрдзрд┐рдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЛ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред
рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ рдФрд░ рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ
рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ
- Parameterized Queries рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ: рд╣рд╛рд░реНрдб-рдХреЛрдбреЗрдб рдорд╛рдиреЛрдВ рд╕реЗ рдмрдЪрдХрд░ SQL рдЗрдВрдЬреЗрдХреНрд╢рди рдХреЛ рд░реЛрдХреЗрдВред
<java> String hql = "FROM Users WHERE username = :username"; Query query = session.createQuery(hql); query.setParameter("username", "John"); </java>
- Named Queries рдХрд╛ рд▓рд╛рдн рдЙрдард╛рдПрдВ: рдкреБрди: рдЙрдкрдпреЛрдЧ рдХреЗ рд▓рд┐рдП рдореИрдкрд┐рдВрдЧ рдлрд╛рдЗрд▓реНрд╕ рдпрд╛ рдПрдиреЛрдЯреЗрд╢рдиреНрд╕ рдореЗрдВ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░реЗрдВред
- Fetch Strategies рдХреЛ рдСрдкреНрдЯрд┐рдорд╛рдЗрдЬрд╝ рдХрд░реЗрдВ: рдкреНрд░рджрд░реНрд╢рди рдмрдврд╝рд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреБрдХреНрдд fetching (eager vs. lazy) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВред
- Exceptions рдХреЛ Gracefully рд╣реИрдВрдбрд▓ рдХрд░реЗрдВ: рдХреНрд╡реЗрд░реА рд╡рд┐рдлрд▓рддрд╛рдУрдВ рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рддреНрд░реБрдЯрд┐ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рд▓рд╛рдЧреВ рдХрд░реЗрдВред
рд╕рд╛рдорд╛рдиреНрдп рдЧрд▓рддрд┐рдпрд╛рдБ
- Case Sensitivity рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░рдирд╛: рд╣рд╛рд▓рд╛рдВрдХрд┐ HQL рдХреЗрд╕-рдЗрдиреНрд╕реЗрдВрд╕рд┐рдЯрд┐рд╡ рд╣реИ, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЛрд▓реЗрд╢рди рд╕реЗрдЯрд┐рдВрдЧреНрд╕ рдкрд░рд┐рдгрд╛рдореЛрдВ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХрддреА рд╣реИрдВред
- Wildcards рдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрдпреЛрдЧ: рд╡рд╛рдЗрд▓реНрдбрдХрд╛рд░реНрдб рдХрд╛ рдЕрддреНрдпрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдкреНрд░рджрд░реНрд╢рди рдореЗрдВ рдЧрд┐рд░рд╛рд╡рдЯ рд▓рд╛ рд╕рдХрддрд╛ рд╣реИред
- Transaction Management рдХреА рдЙрдкреЗрдХреНрд╖рд╛: рдбреЗрдЯрд╛ рдПрдХрддрд╛ рдмрдирд╛рдП рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рд╣рдореЗрд╢рд╛ рдЯреНрд░рд╛рдВрдЬреИрдХреНрд╢рди рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░реЗрдВред
- Session Handling рдореЗрдВ рдЧрдбрд╝рдмрдбрд╝реА: рд░рд┐рд╕реЛрд░реНрд╕ рд▓реАрдХ рдХреЛ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░реЗрдВ рдХрд┐ sessions рд╕рд╣реА рдврдВрдЧ рд╕реЗ рдЦреЛрд▓реЗ рдФрд░ рдмрдВрдж рдХрд┐рдП рдЧрдП рд╣реИрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
рдЗрд╕ рдИрдмреБрдХ рдореЗрдВ, рд╣рдордиреЗ Hibernate HQL рдХреЗ WHERE рдХреНрд▓реЙрдЬ рдХреА рд╢рдХреНрддрд┐рд╢рд╛рд▓реА рдХреНрд╖рдорддрд╛рдУрдВ рдХрд╛ рдЕрдиреНрд╡реЗрд╖рдг рдХрд┐рдпрд╛ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рдЖрдк рд╕рдЯреАрдХ рдФрд░ рдХреБрд╢рд▓ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реАрдЬрд╝ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рд╕рд░рд▓ рд╕реЗ рд▓реЗрдХрд░ рдЙрдиреНрдирдд рдХреНрд╡реЗрд░реАрд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдореЗрдВ рдорд╣рд╛рд░рдд рд╣рд╛рд╕рд┐рд▓ рдХрд░рдХреЗ, рдЖрдк рдЕрдкрдиреЗ Java рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреА рдбреЗрдЯрд╛ рд╣реИрдВрдбрд▓рд┐рдВрдЧ рдХреНрд╖рдорддрд╛ рдХреЛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд░реВрдк рд╕реЗ рдмрдврд╝рд╛ рд╕рдХрддреЗ рд╣реИрдВред
рдореБрдЦреНрдп рдирд┐рд╖реНрдХрд░реНрд╖
- Hibernate HQL рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реАрд┐рдВрдЧ рдХреЗ рд▓рд┐рдП рдПрдХ рд▓рдЪреАрд▓рд╛, рдСрдмреНрдЬреЗрдХреНрдЯ-рдУрд░рд┐рдПрдВрдЯреЗрдб рджреГрд╖реНрдЯрд┐рдХреЛрдг рдкреНрд░рджрд╛рди рдХрд░рддрд╛ рд╣реИред
- WHERE рдХреНрд▓реЙрдЬ рдбреЗрдЯрд╛ рдХреЛ рдлрд╝рд┐рд▓реНрдЯрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИрдВ, рдЬрд┐рдиреНрд╣реЗрдВ рд▓реЙрдЬрд┐рдХрд▓ рдСрдкрд░реЗрдЯрд░ рдФрд░ рдкреИрдЯрд░реНрди рдореИрдЪрд┐рдВрдЧ рдХрд╛ рд╕рдорд░реНрдерди рдкреНрд░рд╛рдкреНрдд рд╣реИред
- рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ рдЬреИрд╕реЗ parameterized queries рдФрд░ рдЙрдЪрд┐рдд session management рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рджрд░реНрд╢рди рдФрд░ рд╕реБрд░рдХреНрд╖рд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддреЗ рд╣реИрдВред
рдЗрди рддрдХрдиреАрдХреЛрдВ рдХреЛ рдЕрдкрдирд╛рдПрдВ рддрд╛рдХрд┐ рдЖрдк рдордЬрдмреВрдд, рд░рдЦрд░рдЦрд╛рд╡ рдпреЛрдЧреНрдп, рдФрд░ рдЙрдЪреНрдЪ-рдкреНрд░рджрд░реНрд╢рди рд╡рд╛рд▓реЗ Java рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛ рд╕рдХреЗрдВред
SEO Keywords: Hibernate HQL, WHERE рдХреНрд▓реЙрдЬ, HQL рдХреНрд╡реЗрд░реАрдЬрд╝, Hibernate рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓, Java ORM, рдбреЗрдЯрд╛рдмреЗрд╕ рдХреНрд╡реЗрд░реАрд┐рдВрдЧ, HQL рдЙрджрд╛рд╣рд░рдг, Hibernate рд╕рд░реНрд╡реЛрддреНрддрдо рдкреНрд░рдерд╛рдПрдБ, рдЙрдиреНрдирдд HQL, Hibernate рдкреНрд░рджрд░реНрд╢рди
рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрди
- Hibernate рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝
- Java Persistence with Hibernate
- HQL рдЪрд┐рдЯ рд╢реАрдЯ
- Hibernate рдлреЛрд░рдореНрд╕ рдФрд░ рд╕рдореБрджрд╛рдп
- рдЯреНрдпреВрдЯреЛрд░рд┐рдпрд▓: Hibernate рдХреЗ рд╕рд╛рде Java рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдмрдирд╛рдирд╛
рдЦреБрд╢ рдХреЛрдбрд┐рдВрдЧ!
рдзреНрдпрд╛рди рджреЗрдВ: рдпрд╣ рд▓реЗрдЦ AI рджреНрд╡рд╛рд░рд╛ рдЙрддреНрдкрдиреНрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред
“`