* [BAEL-5438] Added Criteria Queries for Employee

* [BAEL-5438] Added tests and entities for named queries and criteria queries

* [BAEL-5438] Removed unused sorting files

* [BAEL-5438] Ignored spring context test

* BAEL-5438 Indented with 4 spaces

Co-authored-by: Mayank Agarwal <mayankaggarwal@zeta.tech>
This commit is contained in:
Mayank Aggarwal
2022-05-07 17:52:36 +05:30
committed by GitHub
parent 737704e59b
commit 85eb40496f
6 changed files with 151 additions and 142 deletions

View File

@@ -7,12 +7,12 @@ import javax.persistence.Id;
@Entity
public class Employee {
@Id
@GeneratedValue
private Integer id;
@Id
@GeneratedValue
private Integer id;
private String name;
private String name;
private Long salary;
private Long salary;
}

View File

@@ -9,29 +9,32 @@ import org.springframework.data.repository.query.Param;
public interface EmployeeRepository extends JpaRepository<Employee, Integer> {
@Query(value = "SELECT e FROM Employee e")
List<Employee> findAllEmployees(Sort sort);
@Query(value = "SELECT e FROM Employee e")
List<Employee> findAllEmployees(Sort sort);
@Query("SELECT e FROM Employee e WHERE e.salary = ?1")
Employee findAllEmployeesWithSalary(Long salary);
@Query("SELECT e FROM Employee e WHERE e.salary = ?1")
Employee findAllEmployeesWithSalary(Long salary);
@Query("SELECT e FROM Employee e WHERE e.name = ?1 and e.salary = ?2")
Employee findUserByNameAndSalary(String name, Long salary);
@Query("SELECT e FROM Employee e WHERE e.name = ?1 and e.salary = ?2")
Employee findUserByNameAndSalary(String name, Long salary);
@Query(
value = "SELECT * FROM Employee e WHERE e.salary = ?1",
nativeQuery = true)
Employee findUserBySalaryNative(Long salary);
@Query(
value = "SELECT * FROM Employee e WHERE e.salary = ?1",
nativeQuery = true
)
Employee findUserBySalaryNative(Long salary);
@Query("SELECT e FROM Employee e WHERE e.name = :name and e.salary = :salary")
Employee findUserByEmployeeNameAndSalaryNamedParameters(
@Param("name") String employeeName,
@Param("salary") Long employeeSalary);
@Query("SELECT e FROM Employee e WHERE e.name = :name and e.salary = :salary")
Employee findUserByEmployeeNameAndSalaryNamedParameters(
@Param("name") String employeeName,
@Param("salary") Long employeeSalary);
@Query(value = "SELECT * FROM Employee e WHERE e.name = :name and e.salary = :salary",
nativeQuery = true)
Employee findUserByNameAndSalaryNamedParamsNative(
@Param("name") String employeeName,
@Param("salary") Long employeeSalary);
@Query(
value = "SELECT * FROM Employee e WHERE e.name = :name and e.salary = :salary",
nativeQuery = true
)
Employee findUserByNameAndSalaryNamedParamsNative(
@Param("name") String employeeName,
@Param("salary") Long employeeSalary);
}