我正在开发一个基于Struts2 Framework的web应用程序,以及通过DAOs访问数据库的Hibernate3,以及在E 110
数据库E 211
中映射关系对象的DTO。在Hibernate上下文中,我想知道条件Clases用于进行复杂查询的范围,以及是否还有执行此类任务的另一种选择?
谢谢。
发布于 2010-12-05 02:00:53
通过"reach“,我假设您是指复杂的、与SQL相关的查询的域,这些查询可以通过通过特定的条件对象(如讨论的这里)进行链接方法调用来构造。
根据我的经验,依赖于结果过滤、排序、投影、分组、逻辑连接语句或析取语句或子查询的大多数常见任务都可以通过以预期的方式变异Criteria
对象来执行。
作为另一种选择,您可以使用Session.createSQLQuery
构造一个原始的SQL查询,然后使用Query.list
或Query.executeUpdate
来执行它。例如:
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();
显然,您会希望从这个天真的例子中扩展,但是您有了这个想法。
https://stackoverflow.com/questions/4356901
复制相似问题