рд╣рд╛рдЗрдмрд░рдиреЗрдЯ: рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдореЗрдВ рдЖрд▓рд╕реА рдЖрд░рдВрднреАрдХрд░рдг рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛

рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдП рдЧрдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рдбреЛрдореЗрди рдХреЛ рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд░рддреЗ рд╕рдордп, рдбреЗрд╡рд▓рдкрд░ рдХреЛ рдПрдХ рд╡рд┐рдХрд▓реНрдк рдмрдирд╛рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ: рдХреНрдпрд╛ рд╕рдВрдмрдВрдзрд┐рдд рдбреЛрдореЗрди рдХреЗ рд╕рдВрдЧреНрд░рд╣ рдХреЗ рд╕рдорд╛рди рдбреЛрдореЗрди рдЧреБрдгреЛрдВ рдХреЛ рддреБрд░рдВрдд рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реИ (FetchType = EAGER) рдпрд╛ рдХреЗрд╡рд▓ рдЙрдиреНрд╣реЗрдВ рдПрдХреНрд╕реЗрд╕ рдХрд░рддреЗ рд╕рдордп рдРрд╕рд╛ рдХрд░реЗрдВ (FetchType = LAZY)ред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдорд╛рдорд▓реЗ рдореЗрдВ рдЬрдм рд╡рд┐рд╖рдп рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рд╡рд╕реНрддреБрдУрдВ рдХреЗ рдмреАрдЪ рд╕рдВрдмрдВрдзреЛрдВ рдХреА рдХрд┐рд╕реА рднреА рдкреНрд░рдХрд╛рд░ рдХреА рдЬрдЯрд┐рд▓ рд╕рдВрд░рдЪрдирд╛ рд╣реЛрддреА рд╣реИ, рддреЛ рд╡рд┐рдХрд▓реНрдк рдкрд╣рд▓реЗ рд╣реА рдмрдирд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдПрдХ рд╡рд╕реНрддреБ рдХреА рдЦрд╛рддрд┐рд░ рдЖрдзрд╛ рдбреЗрдЯрд╛рдмреЗрд╕ рд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЬреИрд╕рд╛ рдХрд┐ FetchType = EAGER рдХреЗ рд╕рд╛рде рд╣реЛрдЧрд╛, рдХрдо рд╕реЗ рдХрдо, рдЕрдиреБрдЪрд┐рдд рдХрд╣рдиреЗ рдХреЗ рд▓рд┐рдПред рдЗрд╕рд▓рд┐рдП, рд╕рдВрдЧреНрд░рд╣ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рдЖрд▓рд╕реА рдЖрд░рдВрднреАрдХрд░рдг рд╕рдВрдмрдВрдзрд┐рдд рд╡рд╕реНрддреБрдУрдВ рдХреЛ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдкрд╕рдВрджреАрджрд╛ рд░рдгрдиреАрддрд┐ рд╣реИред



рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╕рдм рдХреБрдЫ рдЗрддрдирд╛ рд╕рд░рд▓ рдирд╣реАрдВ рд╣реИред JDK рдбрд╛рдпрдиреЗрдорд┐рдХ рдкреНрд░реЙрдХреНрд╕реА рдпрд╛ CGLIB рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░реЙрдХреНрд╕реА рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ рдЖрд▓рд╕реА рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╣рд╛рд╕рд┐рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреЛрдиреЛрдВ рд╣реА рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдЙрдЪрд┐рдд рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЙрдЪрд┐рдд рддрд░реАрдХреЗ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕рддреНрд░ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдиреАрдЪреЗ рдЖрддрд╛ рд╣реИред рдЙрддреНрддрд░рд╛рд░реНрджреНрдз, рдмрджрд▓реЗ рдореЗрдВ, рдЗрд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдХрд┐рд╕реА рд╡рд╕реНрддреБ рдХреЗ рдЖрд▓рд╕реА рдЧреБрдгреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреЗрд╡рд▓ рддрднреА рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ рдЬрдм рдХреЛрдИ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕рддреНрд░ рд╣реЛред рдЕрдиреНрдпрдерд╛, рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдкреНрд░реЙрдкрд░реНрдЯреА рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдЕрд╡рд┐рд╕реНрдорд░рдгреАрдп рдЕрдкрд╡рд╛рдж "LazyInitializationException: рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реЛрдЧрд╛: рдкреНрд░реЙрдХреНрд╕реА рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ - рдорд╛рд▓рд┐рдХ рд╕рддреНрд░ рдмрдВрдж рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛"ред





рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реИ рдХрд┐ рд╣рд╛рде рдореЗрдВ рдПрдХ рдЦреБрд▓рд╛ рд╕рддреНрд░ рд╣реЛрдирд╛ рд╣рдореЗрд╢рд╛ рд╕рдВрднрд╡ рд╣реИ, рдЬреЛ рдХреБрдЫ рдЕрд╕реБрд╡рд┐рдзрд╛ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдорд╡реАрд╕реА рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдЯреЗрдореНрдкреНрд▓реЗрдЯ рдореЗрдВ рдЖрд▓рд╕реА рдЗрдирд┐рд╢рд┐рдпрд▓рд╛рдЗрдЬрд╝реЗрд╢рди рд╡рд╛рд▓реЗ рдбреЛрдореЗрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдкрдХреЛ " OpenSessionInView " рд╡рд┐рдзрд┐ рдХрд╛ рд╕рд╣рд╛рд░рд╛ рд▓реЗрдирд╛ рд╣реЛрдЧрд╛, рдЬрд┐рд╕рдХрд╛ рд╕рд╛рд░ рдлрд╝рд┐рд▓реНрдЯрд░ рдмрдирд╛рдирд╛ рд╣реИ рдЬреЛ рдпрд╣ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рддрд╛ рд╣реИ рдХрд┐ рд╕рддреНрд░ рдЕрдиреБрд░реЛрдз рдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЦреБрд▓рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЕрдВрдд рдореЗрдВ рдмрдВрдж рдХрд░ рджреЗрддрд╛ рд╣реИред



рд▓реЗрдХрд┐рди рдХреНрдпрд╛ рд╣реЛрдЧрд╛ рдпрджрд┐ рдЕрдкрд▓реЛрдб рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рд╡рд╛рд▓реЗ рдбреЛрдореЗрди рдХреЛ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕рддреНрд░ рдХреЗ рдмрд╛рд╣рд░ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ? рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдХреНрд▓рд╛рдЗрдВрдЯ-рд╕рд░реНрд╡рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рд╕рд░реНрд╡рд░ рдХреЛ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЛ рдбреЛрдореЗрди рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХрдм рд╣реЛрддреА рд╣реИ? рдмреЗрд╢рдХ, рдЧреНрд░рд╛рд╣рдХ рдкрдХреНрд╖ рдкрд░ рдПрдХ рд╕рддреНрд░ рдЦреЛрд▓рдиреЗ рдХреА рдХреЛрдИ рдмрд╛рдд рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИ, рдпрджрд┐ рдХреЗрд╡рд▓ рдЗрд╕рд▓рд┐рдП рдХрд┐ рд╕рд╛рдорд╛рдиреНрдп рдорд╛рдорд▓реЗ рдореЗрдВ рд╡рд╣ рдбреЗрдЯрд╛рдмреЗрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреБрдЫ рднреА рдирд╣реАрдВ рдЬрд╛рдирддрд╛ рд╣реИред рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рдХрд╛ рдПрдХрдорд╛рддреНрд░ рддрд░реАрдХрд╛, рдореЗрд░реА рд░рд╛рдп рдореЗрдВ, рдбреЛрдореЗрди рдСрдмреНрдЬреЗрдХреНрдЯреНрд╕ рдХрд╛ "рдбреА-рдбреНрд░реЙрдкрд┐рдВрдЧ" рд╣реЛрдЧрд╛ рдФрд░ рдЙрдиреНрд╣реЗрдВ рд╕рд░реНрд╡рд░ рд╕реЗ рдХреНрд▓рд╛рдЗрдВрдЯ рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдХреЗ рд╕рд╛рде рдЙрдиреНрд╣реЗрдВ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред



рдХрд▓реНрдкрдирд╛ рдХрд░реЗрдВ рдХрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧ рдХреЗ рд╕рд░реНрд╡рд░ рдкрдХреНрд╖ рдореЗрдВ 3 рдкрд░рддреЗрдВ рд╣реИрдВ:



рдбреЛрдореЗрди рдХрдХреНрд╖рд╛рдПрдВ рд╕реНрд╡рдпрдВ рд╕рд░реНрд╡рд░ рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рджреЛрдиреЛрдВ рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВ (рдЬреЛ рд╕рд╛рдорд╛рдиреНрдп рд░реВрдк рд╕реЗ, рддрд╛рд░реНрдХрд┐рдХ рд╣реИ)ред



рдЗрд╕ рдкрд░рд┐рджреГрд╢реНрдп рдореЗрдВ, рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рддрд░реНрдХ рдкрд░рдд рдЖрд╕рд╛рдиреА рд╕реЗ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рд╕рддреНрд░ рдХреЗ рднреАрддрд░ рдбреЛрдореЗрди рдкреНрд░реЙрдХреНрд╕реА рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреА рд╣реИред рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ рд╕реЗрд╡рд╛ рдкрд░рдд рдХреА рднреВрдорд┐рдХрд╛ рд╡реНрдпрд╛рдкрд╛рд░ рддрд░реНрдХ рдкрд░рдд рдФрд░ рдХреНрд▓рд╛рдЗрдВрдЯ рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рд╕рдВрд░рдЪрдирд╛ рд╕реЗ рдЖрд╡рд╢реНрдпрдХ рдбреЗрдЯрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрдо рд╣реЛ рдЬрд╛рддреА рд╣реИ: рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдЧрд╣рд░рд╛рдИ рдФрд░ рд╡рд┐рд╡рд░рдг рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдХрд░ рдбреЛрдореЗрди рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдбреАрдЯреАрдУ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдирд╛ред



рд╕рд╡рд╛рд▓ рдХреЗрд╡рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдЗрд╕ "рдбреАрдкреЛрдХреНрд╕рд┐рдВрдЧ" рдХреЛ рдХреИрд╕реЗ рдкреВрд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рдПред рд╕рд┐рджреНрдзрд╛рдВрдд рд░реВрдк рдореЗрдВ, рдпрд╣ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ :



public static <T> T initializeAndUnproxy(T entity) {

if (entity == null ) {

throw new

NullPointerException( "Entity passed for initialization is null" );

}



Hibernate.initialize(entity);

if (entity instanceof HibernateProxy) {

entity = (T) ((HibernateProxy) entity).getHibernateLazyInitializer()

.getImplementation();

}

return entity;

}



* This source code was highlighted with Source Code Highlighter .








рдРрд╕рд╛ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдХрд┐рд╕реА рджрд┐рдП рдЧрдП рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рд╕рднреА рд╕рдВрдЧреНрд░рд╣реЛрдВ рдХреЛ рдЖрд░рдВрдн рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдкреНрд░реЙрдХреНрд╕реА рд╕реЗ "рдкреНрд░рд╛рдкреНрдд" рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЗрд╕рдореЗрдВ рдХрдИ рдХрдорд┐рдпрд╛рдБ рд╣реИрдВ: рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд╕рднреА рд╕рдВрдЧреНрд░рд╣ рдЖрд░рдВрднреАрдХреГрдд рд╣реИрдВ рдФрд░ рдХреЗрд╡рд▓ рдореВрд▓ рд╡рд╕реНрддреБ рдХреЛ рд╣реА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ (рдХрдо рд╕реЗ рдХрдо рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рд╕реНрдкрд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдбреАрдкреЛ рдХреЛ рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╕рдордп рдХрдиреЗрдХреНрд╢рди рдХреЗ рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЧреНрд░рд╛рдл рдХреЛ рдиреАрдЪреЗ рдЬрд╛рдиреЗ рдХреА рдХрд┐рддрдиреА рдЧрд╣рд░реА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ)ред



рдЗрд╕ рд╕реНрдерд┐рддрд┐ рдореЗрдВ рд╕рдорд╛рдзрд╛рди рдПрдХ рдЫреЛрдЯреЗ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рд╡рд░реНрдЧ рдХрд╛ рдирд┐рд░реНрдорд╛рдг рд╣реЛ рд╕рдХрддрд╛ рд╣реИ рдЬреЛ рдПрдХ рд╣реА рд╡рд░реНрдЧ рдХрд╛ рдПрдХ рдирдпрд╛ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рдХрд░ рдФрд░ рд╣рд╛рдЗрдмрд░рдиреЗрдЯ рдмреЗрд╕ рдХрдХреНрд╖рд╛рдУрдВ рдХреЗ рдЕрдиреБрд░реВрдк рдЧреБрдгреЛрдВ рдХреЛ рдкреНрд░рд╛рд░рдВрдн рдХрд░рдХреЗ рдбреЛрдореЗрди рдбреАрдкреЛрдХреНрд╕рд┐рдВрдЧ рдХрд╛ рдкреНрд░рджрд░реНрд╢рди рдХрд░реЗрдЧрд╛ред рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЗ рдЕрдиреНрдп рд╕рднреА рдЧреБрдгреЛрдВ рдХреЛ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╕реЗрд╡рд╛рдУрдВ рдХреА рдкрд░рдд рджреНрд╡рд╛рд░рд╛ рдЖрд░рдореНрдн рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред



рдореИрдВ рдпрд╣ рдирд╣реАрдВ рдХрд╣рддрд╛ рдХрд┐ рдпрд╣ рджреГрд╖реНрдЯрд┐рдХреЛрдг рдЗрд╖реНрдЯрддрдо рд╣реИ рдФрд░ / рдпрд╛ рдПрдХрдорд╛рддреНрд░ рд╕рд╣реА рд╣реИред рдпрджрд┐ рдЖрдкрдХреЗ рдкрд╛рд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рдЕрд▓рдЧ рддрд░реАрдХреЗ рд╕реЗ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреЛрдИ рд╕реБрдЭрд╛рд╡ рд╣реИ, рддреЛ рдореБрдЭреЗ рдЙрдиреНрд╣реЗрдВ рд╕реБрдирдиреЗ рдореЗрдВ рдЦреБрд╢реА рд╣реЛрдЧреАред



All Articles