Junior — Middle
Môžete vysvetliť, čo je pomenovaný dopyt v Hibernate a ako sa používa?
sobes.tech AI
Odpoveď od AI
V Hibernate je pomenovaná dopyt, ktorý je vopred definovaný (HQL alebo SQL), ktorému je pridelené jedinečné meno a ktorý je možné opakovane používať v kóde. Takýto dopyt sa zvyčajne deklaruje v anotáciách @NamedQuery alebo v XML konfigurácii.
Výhody pomenovaných dopytov:
- Opakovanie toho istého dopytu na rôznych miestach.
- Centralizované riadenie dopytov.
- Možnosť overiť syntax dopytu pri načítaní aplikácie.
Príklad deklarácie pomenovaného dopytu pomocou anotácie:
@Entity
@NamedQuery(
name = "User.findByEmail",
query = "FROM User u WHERE u.email = :email"
)
public class User {
@Id
private Long id;
private String email;
// gettery a settery
}
Použitie v kóde:
Query query = session.createNamedQuery("User.findByEmail");
query.setParameter("email", "example@mail.com");
User user = (User) query.uniqueResult();