2017-02-24 4 views

답변

1

나는 동일한의 사용이 나를 위해 일한다

.where(AePlan.AE_PLAN.PLAN_ID**.equals**(planId) 
.and(AePlan.AE_PLAN.PHARMACYNETWORK_ID.**equals**(pharmacyNW_Id)) 

처럼 내가 대신 동일한의 equals 메소드를 사용했는데, 그것을 가지고!

1

그 방법 (및 많은 다른 유사한 방법)은 #4763이라는 이슈와 함께 jOOQ 3.8에서 더 이상 사용되지 않으며 경험 한 바대로 documented yourself in your own answer입니다.

많은 사람들이 실수로 그들은 정말 boolean 상수를 생산했다 때 유효한 jOOQ Condition를 생산하고 있다는 믿음의 Object.equals() 방법보다는 (예를 들어 있기 때문에 실수로 IDE의 자동 완성의)를 Field.equal() 방법을 사용했다. 어떤 Condition.and(Boolean) "편리한 메소드 '가 아니었다면

, 당신은 단순히 컴파일 오류를 입수하고 실수를 해결 한 것이다. 그러나 Condition.and(Boolean) 방법, 당신의 코드를 컴파일하고 잘 실행되지만 쿼리는 의도 일을하지 않습니다.

따라서이 혼동 결과를 생성 "편의 방법은"다시 중단시켰다.

보조 노트에서 Field.eq()과 같은 두 자리 약어를 사용하면이 문제를 피할 수 있습니다.

+0

안녕하세요 덕분에 루카스 ... 정말 당신의 응답을 주셔서 감사합니다! 그리고 네, 단지 IDE의 자동 수정 때문입니다. – Shantanu