Hibernate에서 사용자 정의 쿼리에 @Query 주석을 사용하는 방법은 무엇입니까? Hibernate의 @Query 주석을 사용하면 JPQL 또는 SQL을 사용하여 사용자 정의 쿼리를 수행할 수 있습니다. JPQL 쿼리: 엔터티 클래스 메서드에 @Query 주석을 추가합니다. JPQL 쿼리 문자열을 지정합니다. SQL 쿼리: @NamedNativeQuery 주석을 사용하여 명명된 기본 쿼리를 정의합니다. 쿼리 문과 결과 클래스를 지정합니다. 실제 예: 다음 쿼리를 사용하여 특정 부서의 직원을 찾을 수 있습니다. @Query("SELECT e FROM Employee e WHERE e.department = :department")
List
Hibernate의 @Query
주석을 사용하면 엔터티 클래스에 대한 사용자 정의 JPQL 또는 SQL 쿼리를 정의합니다. 낮은 수준의 SQL 코드를 작성하지 않고도 고급 쿼리를 수행할 수 있는 편리한 방법을 제공합니다. @Query
注解允许我们在实体类上定义自定义 JPQL 或 SQL 查询。它提供了一个方便的方式来执行更高级的查询,而无需编写低级别 SQL 代码。
要使用 JPQL(Java 持久化查询语言),需要在实体类方法上添加 @Query
注解,并指定 JPQL 查询字符串。例如:
@Query("SELECT e FROM Employee e WHERE e.salary > 50000") List<Employee> findEmployeesWithSalaryGreaterThan50000();
这段代码定义了一个查询,它返回所有薪水大于 50,000 的员工。
要使用原生 SQL 查询,可以使用 @NamedNativeQuery
注解。@NamedNativeQueries
允许我们定义多个命名的原生查询。例如:
@NamedNativeQueries({ @NamedNativeQuery( name = "findEmployeesWithSalaryGreaterThan50000", query = "SELECT * FROM Employee WHERE salary > 50000", resultClass = Employee.class ) })
这段代码定义了一个名为 "findEmployeesWithSalaryGreaterThan50000" 的原生 SQL 查询,它返回所有薪水大于 50,000 的员工。
考虑这样的实体类:
@Entity public class Employee { @Id private Long id; private String name; private double salary; //省略 getter 和 setter }
我们可以使用 @Query
注解来查找特定部门中的所有员工:
@Query("SELECT e FROM Employee e WHERE e.department = :department") List<Employee> findEmployeesInDepartment(@Param("department") String department);
现在,我们可以使用 findEmployeesInDepartment
方法来获取特定部门中的所有员工,如下所示:
List<Employee> employees = employeeRepository.findEmployeesInDepartment("Engineering");
@Query
@Query
주석을 추가하고 JPQL 쿼리 문자열을 지정해야 합니다. 예: 🎜rrreee🎜이 코드는 급여가 50,000보다 큰 모든 직원을 반환하는 쿼리를 정의합니다. 🎜🎜SQL 쿼리🎜🎜네이티브 SQL 쿼리를 사용하려면 @NamedNativeQuery
주석을 사용할 수 있습니다. @NamedNativeQueries
를 사용하면 여러 개의 명명된 기본 쿼리를 정의할 수 있습니다. 예: 🎜rrreee🎜이 코드는 급여가 50,000보다 큰 모든 직원을 반환하는 "findEmployeesWithSalaryGreaterThan50000"이라는 기본 SQL 쿼리를 정의합니다. 🎜🎜실용 사례🎜🎜다음 엔터티 클래스를 고려하세요. 🎜rrreee🎜@Query
주석을 사용하여 특정 부서의 모든 직원을 찾을 수 있습니다. 🎜rrreee🎜이제 findEmployeesInDepartment 메소드를 사용하면 아래와 같이 특정 부서의 모든 직원을 얻을 수 있습니다. 🎜rrreee🎜Conclusion🎜🎜<code>@Query
주석은 사용자 정의 쿼리를 수행할 수 있게 해주는 Hibernate의 강력한 도구입니다. JPQL 또는 기본 SQL을 사용하여 쿼리를 작성하고 명명된 매개변수를 사용하여 쿼리 매개변수를 동적으로 전달할 수 있습니다. 🎜위 내용은 Hibernate에서 사용자 정의 쿼리에 @Query 주석을 사용하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!