Java 使用Struts对Hibernate查询执行列表操作
我正在对其他人的Struts/Hibernate应用程序进行更改,我对Java知之甚少,但对其他OO语言了解很多。我创建了一个新类,我正在尝试创建一个页面,列出该类的所有相关对象,这些对象位于以该类命名的表中Java 使用Struts对Hibernate查询执行列表操作,java,hibernate,struts,struts-config,Java,Hibernate,Struts,Struts Config,我正在对其他人的Struts/Hibernate应用程序进行更改,我对Java知之甚少,但对其他OO语言了解很多。我创建了一个新类,我正在尝试创建一个页面,列出该类的所有相关对象,这些对象位于以该类命名的表中 我一直在对现有的代码库进行建模以尝试这一点。所讨论的类的名称是CRMEntries。我有一个listCRMEntries.jsp、CRMEntries.hbm.xml、CRMEntries.java和ListCRMEntriesAction.java。struts-config.xml文件
我一直在对现有的代码库进行建模以尝试这一点。所讨论的类的名称是CRMEntries。我有一个listCRMEntries.jsp、CRMEntries.hbm.xml、CRMEntries.java和ListCRMEntriesAction.java。struts-config.xml文件将listCRMEntries.jsp文件指向ListCRMEntriesAction.java文件,其中包含一个参数CRM_ENTRIES,即表名。我遇到的问题是,我的Hibernate查询无效,因为它没有正确构建。正在创建的查询是这样的:select*from select from rownum您似乎在使用专有框架。如果您无法找到在何处以及如何使用可用的源代码和文档构建查询,那么如果没有源代码和文档,我看不出我们如何构建查询。使用调试器并进入super.getList调用。我不知道所使用的框架是专有的。我假设,由于使用了Struts和Hibernate,底层Java框架也很常见。话虽如此,你是对的,如果没有看到所有的来源,你就无法提供很多帮助。我将尝试单步执行该函数,谢谢您的帮助。@DavidMyers看起来ListAction是一个基类,处理CRUD功能的这一方面应该不难找到。
public class ListCRMEntriesAction extends ListAction {
protected List getList(HttpServletRequest request, User user,
String parameter) throws Exception {
String id = request.getParameter("id");
if (id == null){
return super.getList(request,
user,
parameter);
}
Command cmd = new LoadByKeyCommand(getUser(request), CRMEntries.class, new Integer(id));
request.setAttribute("CRMEntries", cmd.execute());
return super.getList(request,
user,
parameter + " where CRMEntries=" + id);
}
}