繼承搜索讓我們假設有下面的實體:春數據 - 通過類型
@Entity
@DiscriminatorColumn(name="Type")
@Inheritance(strategy=InheritanceType.Joined)
public abstract class Employee extends Persistable<Long> {
private String firstName;
private String lastName;
//getters, setters
}
@Entity
@DiscriminatorValue("S")
public class SalariedEmployee extends Employee {
//various fields
}
@Entity
@DiscriminatorValue("C")
public class ContractEmployee extends Employee {
//various fields
}
@Entity
@DiscriminatorValue("H")
public class HourlyEmployee extends Employee {
//various fields
}
而一個Repository
public interface EmployeeRepository implements PagingAndSortingRepository<Employee, Long> {
}
如何搜索做一個查詢讓說「給我所有的員工那不是HourlyEmployees「。很明顯,我會要求這些被分頁/排序,所以我可能無法做到findAll();
,如果我沒有弄錯,只是從Page集合中刪除條目。
如果你想針對特定類型然後爲該類型創建一個存儲庫。其他任何東西都是黑客行爲,特別是如果您開始通過該類型的字段進行查詢。 – zeroflagL 2014-09-26 18:13:25