Junior — Middle
Репозитории JPA чӣ гуна усулҳоро, ки дар вақти оғозёбии барнома худ ба худ эҷод мешаванд, иҷро мекунад?
sobes.tech AI
Ҷавоб аз AI
Репозитори JPA дар Spring Data методҳоро ба таври худкор амалӣ мекунад, бо истифода аз механизми эҷоди динамикии proxy объектҳо дар вақти оғозёбии барнома.
Вақте ки шумо интерфейси репозиторииро эълон мекунед, масалан, ки аз JpaRepository мерос мегирад, Spring Data номҳо ва сигнатураҳои методҳоро таҳлил мекунад, то фаҳмад, ки кадом пурсишҳоро бояд ташкил диҳад. Сипас, бо ёрии Reflection ва Proxy, иҷроишро барои ин интерфейс месозад, ки дар вақти даъват ба методҳо, пурсишҳои JPQL ё SQL-ро ташкил ва иҷро мекунад.
Масалан:
public interface UserRepository extends JpaRepository<User, Long> {
List<User> findByLastName(String lastName);
}
Вақти оғозёбии Spring, proxy эҷод мешавад, ки вақте findByLastName даъват мешавад, пурсиши навъи SELECT u FROM User u WHERE u.lastName = ?1-ро ташкил медиҳад ва онро автоматӣ иҷро мекунад.