Proceduce in SpringBoot and RepositoryCustom is the best way
0. Tạo Proceduce
1. Khai báo ở @Entity
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
Post a Comment