2013-08-11 3 views
0

내가이 기준 예 우연히작성 기준 API 쿼리 빌더 컴파일 타임 방식 (는 EclipseLink)

http://wiki.eclipse.org/EclipseLink/Examples/JPA/2.0/Criteria

EntityManager em = getEntityManager(); 
CriteriaBuilder qb = em.getCriteriaBuilder(); 
CriteriaQuery<Employee> query = qb.createQuery(Employee.class); 
Root<Employee> employee = query.from(Employee.class); 
query.where(qb.equal(employee.get("firstName"), "Bob")); 
List<Employee> result = em.createQuery(query).getResultList(); 
... 

내 질문은, 내가 필드 이름 (firstName을)에서 지정할 수 있습니다 어쨌든이 컴파일 시간 방식?

답변

0

fieldname을 변수로 전달해 보셨습니까?

String filterField = "firstName"; 
query.where(qb.equal(employee.get(filterField), "Bob")); 

동적 방법으로 사용하면 해당 API의 주요 포인트가되어야합니다.