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;
    // getter և setter
}

Կոդում օգտագործում:

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