我想找到最簡單的解決方案,以查找具有查詢方法的情況,該查詢方法採用某個實體的某個屬性,並基於該屬性執行返回該實體的查詢。將參數添加到條件查詢的最簡單方法
問題是,如果我想添加更多可以搜索實體的屬性,使用jpa標準時最簡單的解決方案是什麼?這裏的一個方面是該方法必須是可移植的 - 如果稍後添加屬性,我不想重寫所有的代碼。
我知道這可以通過方法重載來完成,但我正在尋找更簡單的解決方案。
例如我的方法的代碼是:
public List<Car> findCar(String name) {
CriteriaBuilder cb = em.getCriteriaBuilder();
CriteriaQuery<Car> c = cb.createQuery(Car.class);
Root<Car> d = c.from(Car.class);
Predicate condition = cb.equal(d.get(Car_.name), name);
c.where(condition);
TypedQuery<Car> q = em.createQuery(c);
List<Car> results = q.getResultList();
return results;
}
,如果我想在某種程度上,我可以搜索其他屬性租車實體擴展該查詢,例如,日期,應該怎麼辦。我不希望這種方法需要多個參數。