Java.Hibernate.Beginner.How do you create a basic HQL query?

🔹 Step-by-step example:

Session session = sessionFactory.openSession();
Transaction tx = session.beginTransaction();

// Basic HQL query: fetch all User entities
String hql = "FROM User";
List<User> users = session.createQuery(hql, User.class).list();

for (User user : users) {
    System.out.println("Username: " + user.getUsername());
}

tx.commit();
session.close();

🔹 Key points:
FROM User is an HQL statement selecting the entire User entity — no need for SELECT if you want the whole object.
session.createQuery(hql, User.class) creates a typed query returning List<User>.
✅ Always execute inside an active transaction when reading or modifying data.

🔹 Adding filtering with parameters:

String hql = "FROM User u WHERE u.username = :username";
User user = session.createQuery(hql, User.class)
                   .setParameter("username", "john")
                   .uniqueResult();

if (user != null) {
    System.out.println("Found user: " + user.getUsername());
}

🔹 What makes HQL powerful?

  • You query entities and properties → not tables or columns.
  • Hibernate translates HQL to database-specific SQL.
  • It’s portable and works across supported databases without changing your queries.

Key takeaway:
To create a basic HQL query:
1️⃣ Write an HQL string (e.g., FROM Entity).
2️⃣ Pass it to session.createQuery().
3️⃣ Execute it with list(), uniqueResult(), or other query methods.

This entry was posted in Без рубрики. Bookmark the permalink.

Leave a Reply

Your email address will not be published.