当前位置:编程学习 > JAVA >>

EJB如何实现多条件查询

现在有查询患者的需求,需要按一个或多个条件(患者id,姓名,性别,状态)查询。没有使用的条件则设置为空值。
我写了一个EJB 2.0的ql,
*@ejb.finder signature="java.util.Collection findPatientByMulitKey(java.lang.String pid, java.lang.String pn, java.lang.String sex, java.lang.String status)"
 *             query="SELECT OBJECT(p) FROM Patient AS p WHERE p.patientId = ?1 AND p.patientName LIKE ?2 AND p.patientSex = ?3 AND p.patientStatus = ?4" transaction-type="Supports"
 * @jboss.query signature="java.util.Collection findPatientByMulitKey(java.lang.String pid, java.lang.String pn, java.lang.String sex, java.lang.String status)"
 *              strategy="on-find" eager-load-group="pid"

现在问题来了,只有当pid,pn,sex,status均与数据库中的内容匹配时才可以查询出指定记录。当仅按姓名查询时,其他条件为空时是检索不到对应姓名的患者信息的。
向高手请教一下该怎么解决。
有个类似的问题:http://bbs.csdn.net/topics/90486543 EJB 数据库
补充:Java ,  Java EE
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,