HQL (Hibernate Query Language) é uma linguagem de consulta orientada a objetos usada no framework Hibernate para trabalhar com bancos de dados relacionais. Diferente do SQL (Structured Query Language), que opera diretamente sobre tabelas e colunas, o HQL opera sobre entidades Java e seus atributos, permitindo consultas mais intuitivas e alinhadas ao paradigma de programação orientada a objetos.
User e seu atributo name ao invés da tabela users e sua coluna name.@OneToMany, @ManyToOne e @OneToOne.SELECT * FROM users u WHERE u.name = 'João';
SELECT u FROM User u WHERE u.name = 'João';
Diferenças:
users: Tabela no SQL.User: Entidade no HQL.@Query("SELECT u FROM User u WHERE u.age > :age")
List<User> findUsersOlderThan(@Param("age") int age);