2
나는 의사가 있습니다. 각 의사는 다른 실체 인 HealthInsurance 목록을 가지고 있습니다.최대 절전 모드 : 조건을 사용하여 목록별로 필터링
내 목표는 HealthInsurance의 사용자 선택을 기반으로 검색 시스템을 만드는 것입니다. 나는 적어도 1 개의 건강 보험이있는 모든 의사를 사용자 건강 보험 목록에 포함시켜야합니다. 이런 식으로 뭔가가 :
Criteria criteria = session.createCriteria(Doctor.class);
criteria.add(Restrictions.in("healthInsurances", userHealthInsurances));
return criteria.list();
하지만이 코드는 다음과 같은 예외를 throw하지 않습니다 : java.sql.SQLException의를 : 매개 변수 1.
에 대해 지정되지 값을 사용하여이 기준 일을 어떤 방법이 있나요?
감사합니다. ID 목록 대신 엔티티 목록을 표시하므로 ID 목록을 생성하지 않고도 동일한 작업을 수행 할 수있는 방법이 있습니까? –
'HealthInsurance' 객체의'equals' 메소드와'hashCode' 메소드를 id로 덮어 쓰고'in' 메소드의 매개 변수로'userHealthInsurances'리스트를 넘겨 주면 작동 할 수도 있습니다; 하지만 이것에 대해 확실하지 않다;) –
당신은 내가 그 질문에서 제안하는 것을 의미합니까? 이 때 내가 말한 오류가 발생합니다 (java.sql.SQLException : 매개 변수 1에 지정된 값이 없습니다). 그리고 당신이 말한 것을 유지하지만 "userSelectedIds"를 "userHealthInsurances"로 변경하면 다음 오류가 발생합니다. java.lang.ClassCastException : HealthInsurance를 Long으로 형변환 할 수 없습니다. –