Java 用于对数据库进行复杂查询的Hibernate条件类

Java 用于对数据库进行复杂查询的Hibernate条件类,java,hibernate,struts2,nhibernate-mapping,Java,Hibernate,Struts2,Nhibernate Mapping,我正在开发一个基于Struts2框架的web应用程序,用于实现MVC,Hibernate3用于通过DAOs访问数据库,DTOs用于映射数据库中的关系对象。在Hibernate环境中,我想知道用于进行复杂查询的标准类别的范围,以及是否有其他选项来执行此类任务 谢谢。关于“reach”,我假设您指的是复杂的、与SQL相关的查询领域,这些查询可以通过特定的Criteria对象链接方法调用来构造(如上所述) 根据我的经验,大多数依赖于结果筛选、排序、投影、分组、逻辑连接或析取语句或子查询的常见任务都可以

我正在开发一个基于Struts2框架的web应用程序,用于实现MVC,Hibernate3用于通过DAOs访问数据库,DTOs用于映射数据库中的关系对象。在Hibernate环境中,我想知道用于进行复杂查询的标准类别的范围,以及是否有其他选项来执行此类任务

谢谢。

关于“reach”,我假设您指的是复杂的、与SQL相关的查询领域,这些查询可以通过特定的Criteria对象链接方法调用来构造(如上所述)

根据我的经验,大多数依赖于结果筛选、排序、投影、分组、逻辑连接或析取语句或子查询的常见任务都可以通过按预期方式对
条件
对象进行变异来执行

或者,您可以使用构造原始SQL查询,然后使用或执行它。例如:

Sesion sess = getSession();
Query mySelect = sess.createSQLQuery("SELECT * from foo");
List<Entity> results = mySelect.list();

Query myUpdate = sess.createSQLQuery("DELETE * from foo where bar = \"boz\"");
int updateCount = myUpdate.executeUpdate();
Sesion sess=getSession();
Query mySelect=sess.createSQLQuery(“SELECT*fromfoo”);
List results=mySelect.List();
Query myUpdate=sess.createSQLQuery(“从foo中删除*,其中bar=\“boz\”);
int updateCount=myUpdate.executeUpdate();
显然,您希望从这个幼稚的示例中进行扩展,但您得到了这个想法