Junior — Middle
Мо метавонед шарҳ диҳед, ки чӣ гуна дар Hibernate дархости номгузорӣшуда ва чӣ гуна истифода мешавад?
sobes.tech AI
Ҷавоб аз AI
Дар Hibernate, номгузоштани савол — ин саволи пештар муайяншуда (HQL ё SQL), ки ба он номи беназири дода шудааст ва ки метавонад дар код такрор ба такрор истифода шавад. Ин савол одатан дар аннотатсияҳои @NamedQuery ё дар конфигуратсияи XML эълон карда мешавад.
Афзалиятҳои саволҳои номгузоришуда:
- Истифодаи такрорӣ аз як савол дар ҷойҳои гуногун.
- Идоракунии марказонидашудаи саволҳо.
- Имконият барои санҷиши синтаксис дар вақти боркунии барнома.
Масалан барои эълон кардани саволи номгузоришуда бо истифода аз аннотатсия:
@Entity
@NamedQuery(
name = "User.findByEmail",
query = "FROM User u WHERE u.email = :email"
)
public class User {
@Id
private Long id;
private String email;
// геттерҳо ва сеттерҳо
}
Истифода дар код:
Query query = session.createNamedQuery("User.findByEmail");
query.setParameter("email", "example@mail.com");
User user = (User) query.uniqueResult();