Sobes.tech
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();