Junior — Middle
Hibernateдеги @Query белгилөөсүндө native SQL-суроолорду колдонуу эмне дегенди түшүндүрө аласызбы?
sobes.tech AI
AIден жооп
Hibernate-деги @Query анотациясы маалымат алуу үчүн суроолорду жазууга мүмкүндүк берет. Аны алдын ала HQL (Hibernate Query Language) — обьектке багытталган суроо тили деп эсептейт. Бирок, эгер сиз нативдүү SQL суроосун колдонгуңуз келсе, @Query ичинде nativeQuery = true параметрин көрсөтө аласыз.
Бул суроо түздөн-түз SQL катары ишке ашырылат, Hibernate тарабынан өзгөртүүсүз. Бул базага өзгөчө функцияларды колдонуу же HQLде билдирүү кыйын болгон татаал суроолор үчүн пайдалуу.
Мисал:
@Query(value = "SELECT * FROM users WHERE status = ?1", nativeQuery = true)
List<User> findUsersByStatusNative(String status);
Бул жерде, users — базадагы таблицанын аты, эмес, объекттин аты. Бул суроо түздөн-түз базада ишке ашырылат.