Создайте репозиторий для AnnualLeave.java, а именно AnnualLeaveRepo.java и CausualLeave.java, как показано ниже:
AnnualLeaveRepo.java
@Repository
public interface AnnualLeaveRepo extends JpaRepository<AnnualLeave,Integer> {
@Query("from AnnualLeave")
public List<AnnualLeave> getLeaves();
//consider noOfLeave is member of AnnualLeave.java class
public List<AnnualLeave> findByNoOfLeave(int noOfLeave);
}
CausalLeaveRepo.java
@Repository
public interface CausalLeaveRepo extends JpaRepository<CausalLeave,Integer> {
@Query("from CausalLeave")
public List<CausalLeave> getLeaves();
}
Теперь, когда вы используете findAll () или getLeaves () или findByNoOfLeave (int) методы или любой другой пользовательский абстрактный метод AnnualLeaveRepo класса, он будет автоматически фильтровать результат с Leave_Type = "Annual" .
аналогично, когда вы используете findAll () или getLeaves () методы или любой другой пользовательский абстрактный метод из CausalLeaveRepo class, он автоматически отфильтрует результат с помощью Leave_Type = "Causal" .
Вам не нужно явно фильтровать.
примечание
Если у вас есть какие-либо свойства в вашем классе, имеющие отношения (@OneToMany и т. Д.) С сущностью LeaveQuota или ее унаследованными сущностями, не забудьте использовать аннотацию @JsonIgnore для этих свойств. В противном случае вы получите ошибку переполнения стека