2011-02-17 2 views
2

webproject에서 나는 동적 쿼리를 작성하기위한 복잡한 형식을 가지고 있습니다. 이 코드를 작성할 때 JPA 1 (조건 없음 API) 만 있으므로 동적으로 쿼리 문자열을 작성했지만 (여전히 바인드 매개 변수를 사용합니다). 지금까지 잘 작동합니다. 이제 사용자가 동일한 쿼리를 나중에 다시 실행할 수 있도록 쿼리 (결과가 아님)를 저장하려고합니다.동적 JPA 쿼리 저장

Idealisticaly, 나는 단지 쿼리 문자열을 db에 저장합니다. 쿼리를 작성하는 동안 ID ("user = : user"가 아닌 "user.id = : userid") 만 사용하면됩니다.

매개 변수의 입력은 사용자가 제공하기 때문에 나는 'little bobby tables'을 피하기 위해 쿼리 매개 변수를 사용합니다.

쉬운 방법이 있나요?

답변

0

쿼리를 저장할 테이블을 만들 이유가 없기 때문에 이것이 왜 문제인지 모르겠습니다. 까다로운 부분은 이어야합니다. 1) 어딘가에서 사용 가능한 매개 변수를 가져 오는 중입니다. 필요할 경우 매개 변수 테이블에 저장할 수 있습니다. 2) 설정할 매개 변수 결정. 쿼리 쿼리에서 모든 매개 변수를 찾고 사용 가능한 매개 변수가 있는지 확인하고 쿼리에서 설정하십시오.

무엇이 누락 되었습니까?

+0

누락 된 것이 없습니다. 나는 그것을 스스로 구현할 필요가 없길 바랐다. 로켓이 아니라, 매개 변수와 위치를 저장해야합니다. 유형은 항상 String입니다. – bert

+0

매개 변수의 이름 만 위치를 저장할 필요가 없습니다. – AmanicA