当然有问题
EJB QL不支持这种查询只能这样查:
SELECT OBJECT(o) FROM Custom o WHERE o.name LIKE '?1%'另外你的单引号不对,应该是 '不是'‘%?1%’
EJB QL不支持这种查询只能这样查:
SELECT OBJECT(o) FROM Custom o WHERE o.name LIKE '?1%'另外你的单引号不对,应该是 '不是'‘%?1%’
解决方案 »
- MYSQL的 jar包该如何加载
- spring+hibernate慢!!!慢!!!慢!!!
- jsp 登录类的一个小问题
- 大家都是用哪种声明式事务,tx/aop还是用标记?
- sturts2中注入的属性来自spring的bean如何做?
- flex 资料
- j3ee,大牛指教
- jboss下开发ejb,客户端查找ejb时候,context.lookup()函数的参数到底应该怎样写?
- classpath的另类问题
- 关于打印预览的问题,help!!
- 组建点石软件虚拟股份公司的公告
- 一个程序问题,是关于文件读写的,是RandomAccessFile 类的,大家帮忙看看阿,如果打家觉得分不够我可以在加的,问题就在源文件里面的
///完全匹配版本
public ArrayList getDocsByDocName(String docName)throws NotFoundDocumentException{
ArrayList documents=new ArrayList();
try{
//调用SessionBean Remote接口的函数,其实是调用CMP的实体Bean的查询方法
//select distinct object(o) from document as o where o.docName=?1
documents=session.getDocsByDocName(docName);
if(documents.isEmpty())
throw new NotFoundDocumentException(docName+"的");
}
catch(Exception e){
System.err.println(e.toString());
}
return documents;
}
//模糊匹配版本
public ArrayList getMatchedDocsByDocName(String docName)throws NotFoundDocumentException{
ArrayList documents=new ArrayList();
ArrayList matchedDocs=new ArrayList();
try{
documents=session.getAllDocs();
Iterator it=documents.iterator();
while(it.hasNext()){
DocumentDetails details=(DocumentDetails)it.next();
//通过搜索所有的结果,看输入字符串是否为其子串,若是则加入聚集中
if(details.getDocName().indexOf(docName)!=-1){
matchedDocs.add(details);
}
}
if(matchedDocs.isEmpty())
throw new NotFoundDocumentException(docName+"的");
}
catch(Exception e){
System.err.println(e.toString());
}
return matchedDocs;//返回模糊匹配结果
}
这样可以解决,不过十分麻烦,各位还有和简单的方法,请指教