Sobes.tech
Junior — Middle

Hibernate'da nomlangan so'rov nima va qanday qo'llaniladi, tushuntirib bera olasizmi?

sobes.tech AI

AIdan javob

Hibernate'da nomlangan so'rov, oldindan belgilangan (HQL yoki SQL) va unga noyob nom berilgan, kodda takroran ishlatilishi mumkin bo'lgan so'rovdir. Bunday so'rov odatda @NamedQuery anotatsiyalari yoki XML konfiguratsiyasida e'lon qilinadi.

Nomi bilan belgilangan so'rovlarning afzalliklari:

  • Bir xil so'rovni turli joylarda takrorlash.
  • So'rovlarni markazlashtirilgan boshqarish.
  • Dastur yuklanayotganda so'rov sintaksisini tekshirish imkoniyati.

Anotatsiya yordamida nomlangan so'rovni e'lon qilish misoli:

@Entity
@NamedQuery(
    name = "User.findByEmail",
    query = "FROM User u WHERE u.email = :email"
)
public class User {
    @Id
    private Long id;
    private String email;
    // getter va setterlar
}

Kodni ishlatish:

Query query = session.createNamedQuery("User.findByEmail");
query.setParameter("email", "example@mail.com");
User user = (User) query.uniqueResult();