Proceduce in SpringBoot and RepositoryCustom is the best way

0. Tạo Proceduce 
Delimiter $$
Create proceduce 'get_all_employees'()
Begin
    select * from employees;
end

1. Khai báo ở @Entity
Entity
@Table(name = "employees")
@Data
@NamedStoredProcedureQueries({
        @NamedStoredProcedureQuery(name = "getAllEmployees",
                                    procedureName = "get_all_employees",
        resultClasses = Employees.class)
})
public class Employees implements Serializable {

    @Id
    @Column(name = "employeeID")
    private long employeeID;
    @Column(name = "firstName")
    private String firstName;
    @Column(name = "lastName")
    private String lastName;
    @Column(name = "address")
    private String address;
}
Và Call ở @Repository
@Procedure(name = "getAllEmployees")
List<Employees> getAllEmployees();
2. Hoặc là Call ở Custom Repository
public interface EmployeeRepositoryCustom {

    List<Employees> getAllEmployees();
}
public interface EmployeeRepository extends CrudRepository<Employees, Long>, EmployeeRepositoryCustom {

}
public class EmployeeRepositoryImpl implements EmployeeRepositoryCustom {

    @PersistenceContext
    private EntityManager em;


    @Override
    public List<Employees> getAllEmployees() {
        StoredProcedureQuery findByYearProcedure =
              em.createNamedStoredProcedureQuery("getAllEmployees");
        return findByYearProcedure.getResultList();
    }
}

Comments

Popular posts from this blog

Fixing the DeepSpeed Import Error While Fine-Tuning the Qwen Model

Amazon Linux 2023 - User data configuration for launch templates to connect to the EKS cluster

How to create ISM policy and rotate logs in opensearch