gpt4 book ai didi

java - 用于对数据库进行复杂查询的 Hibernate Criteria Class

转载 作者:搜寻专家 更新时间:2023-11-01 03:13:46 25 4
gpt4 key购买 nike

我正在开发一个基于 Struts2 Framework 的 Web 应用程序以实现 MVC,以及 Hibernate3 通过 DAOs 访问数据库和 DTO 用于映射数据库中的关系对象。在 Hibernate 上下文中,我想知道Criteria Classes 对进行复杂查询的影响,以及是否还有其他选择来执行此类任务?

谢谢。

最佳答案

我假设您所说的“范围”指的是复杂的、与 SQL 相关的查询的域,这些查询可以通过特定条件对象的链接方法调用来构造(如讨论的 here )。

根据我的经验,大多数依赖于结果过滤、排序、投影、分组、逻辑联合或分离语句或子查询的常见任务都可以通过以预期方式改变 Criteria 对象来执行.

作为替代方案,您可以使用 Session.createSQLQuery构造原始 SQL 查询,然后 Query.listQuery.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();

显然,您会想要从这个幼稚的示例进行扩展,但您明白了。

关于java - 用于对数据库进行复杂查询的 Hibernate Criteria Class,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4356901/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com