2012-08-16 2 views
2

내 이메일에 문자열 middle이 들어있는 사용자를 찾고 싶습니다.JPA/Play Framework의 LIKE 절에서 퍼센트를 어떻게 사용할 수 있습니까?

다음 코드는 실패합니다. 인용 부호로 묶여 있기 때문에 JPA는 ?을 매개 변수로 인식하지 못합니다.

List<User> users = User.findAll("email like '%?%'", middle); 

다음 코드는 작동하지만, SQL 주입에 열려 :

List<User> users = User.findAll("email like '%" + middle + "%'"); 

당신은 무엇을 제안?

답변

2

는 자바 측에 문자열 조작을 이동하려고하고, SQL 매개 변수 유지 :

List<User> users = User.findAll("email like ?", "%"+middle+"%"); 
+0

좋은 생각이, 내가 왜 그 생각을하지 않았다을! – ripper234