以前没有做过这种MVC框架下的组合查询,请问谁做过这种组合查询的例子,望给予指导。
帮看一下我下面的代码是不是有问题:
QueryExpertInfo 是一个模型类,我把页面获取的查询数据都放在这个类里了。
public List queryExpertInfoByAll(QueryExpertInfo queryExpertInfo) throws Exception
{
HibernateTemplate ht = new HibernateTemplate(sessionFactory);
List list =ht.find("select a from AbroadExpert a where a.personalInfo.sex=? and a.personalInfo.country.id=? " +
"and a.personalInfo.nation.id=? and a.personalInfo.religion.id=? and a.personalInfo.firstLanguage.id=? " +
"and a.personalInfo.secondLanguage.id=? and a.personalInfo.degree.id=? and a.personalInfo.speciality.id=? " +
"and a.personalInfo.mainSearch.mainSearchFirst.id=? and a.personalInfo.mainSearch.mainSearchSecond.id=? and a.personalInfo.mainSearch.mainSearchThird.id=? " +
"and a.employedInfo.expertClass.expertClassOne.id=? and a.employedInfo.expertClass.expertClassTwo.id=? " +
"and a.personalInfo.title.id=? and a.personalInfo.expertOrg.id=? and a.resume.work.id=? and a.resume.status.id=? " +
"and a.employedInfo.employedState.id=? and a.employedInfo.expertField.id=? and a.awardResult.awardLevel.id=? " +
"and a.awardResult.awardClassOne.id=? and a.awardResult.awardClassTwo.id=? and and a.employedInfo.orgProperty.id=? " +
"and a.inChinaHistoryInfo.jobEvaluation.id=?"
, new Object[]{queryExpertInfo.getSex(),queryExpertInfo.getCountryId(),
queryExpertInfo.getNationId(),queryExpertInfo.getReligionId(),queryExpertInfo.getFirstLanguageId(),
queryExpertInfo.getSecondLanguageId(),queryExpertInfo.getDegreeId(),queryExpertInfo.getSpecialityId(),
queryExpertInfo.getMainSearchFirstId(),queryExpertInfo.getMainSearchSecondId(),queryExpertInfo.getMainSearchThirdId(),
queryExpertInfo.getExpertClassOneId(),queryExpertInfo.getExpertClassTwoId(),
queryExpertInfo.getTitleId(),queryExpertInfo.getExpertOrgId(),queryExpertInfo.getWorkId(),queryExpertInfo.getStatusId(),
queryExpertInfo.getEmployedStateId(),queryExpertInfo.getExpertFieldId(),queryExpertInfo.getAwardLevelId(),
queryExpertInfo.getAwardClassOneId(),queryExpertInfo.getAwardClassTwoId(),queryExpertInfo.getOrgPropertyId(),
queryExpertInfo.getJobEvaluationId()});
return list;
}
帮看一下我下面的代码是不是有问题:
QueryExpertInfo 是一个模型类,我把页面获取的查询数据都放在这个类里了。
public List queryExpertInfoByAll(QueryExpertInfo queryExpertInfo) throws Exception
{
HibernateTemplate ht = new HibernateTemplate(sessionFactory);
List list =ht.find("select a from AbroadExpert a where a.personalInfo.sex=? and a.personalInfo.country.id=? " +
"and a.personalInfo.nation.id=? and a.personalInfo.religion.id=? and a.personalInfo.firstLanguage.id=? " +
"and a.personalInfo.secondLanguage.id=? and a.personalInfo.degree.id=? and a.personalInfo.speciality.id=? " +
"and a.personalInfo.mainSearch.mainSearchFirst.id=? and a.personalInfo.mainSearch.mainSearchSecond.id=? and a.personalInfo.mainSearch.mainSearchThird.id=? " +
"and a.employedInfo.expertClass.expertClassOne.id=? and a.employedInfo.expertClass.expertClassTwo.id=? " +
"and a.personalInfo.title.id=? and a.personalInfo.expertOrg.id=? and a.resume.work.id=? and a.resume.status.id=? " +
"and a.employedInfo.employedState.id=? and a.employedInfo.expertField.id=? and a.awardResult.awardLevel.id=? " +
"and a.awardResult.awardClassOne.id=? and a.awardResult.awardClassTwo.id=? and and a.employedInfo.orgProperty.id=? " +
"and a.inChinaHistoryInfo.jobEvaluation.id=?"
, new Object[]{queryExpertInfo.getSex(),queryExpertInfo.getCountryId(),
queryExpertInfo.getNationId(),queryExpertInfo.getReligionId(),queryExpertInfo.getFirstLanguageId(),
queryExpertInfo.getSecondLanguageId(),queryExpertInfo.getDegreeId(),queryExpertInfo.getSpecialityId(),
queryExpertInfo.getMainSearchFirstId(),queryExpertInfo.getMainSearchSecondId(),queryExpertInfo.getMainSearchThirdId(),
queryExpertInfo.getExpertClassOneId(),queryExpertInfo.getExpertClassTwoId(),
queryExpertInfo.getTitleId(),queryExpertInfo.getExpertOrgId(),queryExpertInfo.getWorkId(),queryExpertInfo.getStatusId(),
queryExpertInfo.getEmployedStateId(),queryExpertInfo.getExpertFieldId(),queryExpertInfo.getAwardLevelId(),
queryExpertInfo.getAwardClassOneId(),queryExpertInfo.getAwardClassTwoId(),queryExpertInfo.getOrgPropertyId(),
queryExpertInfo.getJobEvaluationId()});
return list;
}
解决方案 »
- 关于Hibernate级联的问题
- 关于毕业设计,我想从系统导出点数据
- struts2 与 FckEditor整合上传文件的问题!!
- html中是否有的basePath?
- struts2 interceptor 问题
- struts2类型转换
- 【Struts下使用<html:select>标签时会有一个奇怪的异常问题】
- lookupdispatchaction 问题,在线等!!
- 一个有关Struts如何接收并处理表单中File类型的问题
- AXIS中部署了一个服务,列表中所有显示的服务都消失了, 为什么?
- jdk版本问题造成eclipse发布后不能运行,怎么办?
- 求教一个JAVA关于URL的正则表达式
String sql="select a from AbroadExpert a where 1=1";
ArrayList<Object> lst = new ArrayList<Object>();
//不为空的把条件和参数加进去
if(queryExpertInfo.getSex()!=null&&!queryExpertInfo.getSex().equals("")){
sql+= "and a.personalInfo.sex=?";
lst.add(queryExpertInfo.getSex());
}
if(.....)一个个加下去。
最后
List list =ht.find(sql,lst.toArray());.......hib不懂,只会这个,楼主看看有没有用吧。
打快了,,, 第一个双引号后面加个空格,否则连起来就不是一句sql了。