public List<FolderVO> listFetch(Long id, int folderType) {
Criteria criteria = getCriteria(FolderVO.class,"fo");
criteria.add(Restrictions.eq("fo.id", id));//id不是主键
criteria.add(Restrictions.eq("fo.folderType", folderType));
criteria.createAlias("fo.dmsVOs", "d", CriteriaSpecification.LEFT_JOIN);//左外连接
//criteria.setFetchMode("dmsVOs", FetchMode.JOIN);
criteria.setResultTransformer(CriteriaSpecification.DISTINCT_ROOT_ENTITY);//根据主表去重复数据
return (List<FolderVO>)criteria.list();
}
这是我写的方法,直接贴出来了。
分享到:
相关推荐
Hibernate Criteria API允许进行关联查询,包括内连接、外连接等。通过addJoin()或createAlias()方法实现。 7. **子查询(Subqueries)** 当需要在查询条件中使用子查询时,Criteria API提供了Subqueries类。可以...
在这个压缩包中的“20.4 两个一维数组的连接运算-根据商品和品牌统计不重复记录数.xls”文件中,我们假设有一个数据表,包含了商品名称和品牌信息,现在我们需要统计每个商品与品牌的不重复组合数量。传统的单条件...
4. 分页查询:避免一次性加载大量数据,可以使用HQL或Criteria的setFirstResult和setMaxResults方法进行分页。 5. 断言和日志:利用Hibernate的assertions功能进行数据验证,同时记录日志便于问题排查。 通过熟练...
同时,HQL还支持连接查询、子查询和聚合函数,使得复杂的数据检索变得轻松。 接下来,是**Criteria查询**。Criteria API是Hibernate提供的另一种查询方式,它是更加面向对象的查询接口,提供了一种动态构建查询的...
DBCP(Database Connection Pool)是Apache Commons项目提供的一种开源数据库连接池实现,它允许应用程序重复使用已建立的数据库连接,从而提高性能并减少资源消耗。DBCP提供了基本的数据源类和连接池管理类,如...
这个方法通过指定条件表达式(criteria)来匹配需要更新的数据,objNew参数用于指定更新后数据的样子,upsert参数决定是否在没有找到匹配数据时插入新的文档,multi参数则决定是否更新所有匹配的文档。例如,通过...
2. **数据库连接配置**:可能封装了数据库连接字符串和配置信息的处理。 3. **CRUD 操作**:提供便捷的方法来执行创建、读取、更新和删除数据库记录的操作。 4. **查询辅助**:可能有用于构建 Criteria 或 HQL ...
Hibernate的配置文件通常包含数据库连接信息、ORM映射信息以及Hibernate配置属性等。常见的配置文件有hibernate.cfg.xml,此外,还可以使用注解来配置实体类和映射。 在Hibernate中,一级缓存是session级别的缓存,...
Hibernate支持乐观锁、悲观锁以及Timestamp、Version等版本控制策略,保证并发环境下的数据一致性。 通过以上对Hibernate 3.3核心API的深入解析,读者应该能够更好地理解和使用这个ORM框架,从而提高Java应用的...
Hibernate提供了查询语言HQL和 Criteria API,可以方便地进行数据检索、更新和删除操作。 数据库驱动和数据库连接池也是此压缩包中的重要组成部分。数据库驱动是连接应用程序与特定数据库的桥梁,例如JDBC驱动。...
在Java开发领域,Hibernate是一个非常重要的对象关系映射(ORM)框架,它简化了数据库操作,...正确配置并使用这些库,开发者可以高效地进行数据持久化操作,避免编写大量重复的SQL语句,从而提高开发效率和代码质量。
通过 DAL,可以实现数据访问的封装、事务管理、错误处理以及数据转换等功能。 #### 知识点二:My Generation 工具的介绍 My Generation 是一款用于自动生成代码的工具,特别是在生成数据访问层(DAL)方面表现突出...
这个工具极大地提高了开发效率,减少了手动编写重复性代码的工作量,使得开发者能够更专注于业务逻辑的实现。 首先,我们需要了解MBG的基本使用流程: 1. **安装与配置**:在项目中引入mybatis-generator-core的...
1. **Hibernate配置**:包括配置hibernate.cfg.xml文件,设置数据库连接信息,启用JNDI查找或者直接在配置文件中指定数据源。 2. **实体类和映射文件**:理解如何创建Java实体类来代表数据库表,以及编写对应的.hbm...
一级缓存的主要优点是使用简单、开销小,能有效避免同一会话内对同一数据的重复查询,从而提高应用性能。但它的局限性也很明显,即缓存的数据仅限于当前会话周期,无法在不同会话间共享,因此对于需要长期保持数据...
检索方式及策略”这一主题中,我们将深入探讨如何在Hibernate 5中有效地检索数据以及相关的检索策略。 一、Hibernate检索方式 1. **HQL(Hibernate Query Language)**: HQL是Hibernate提供的面向对象的查询语言,...
有时也会使用587端口用于提交邮件,以及465端口用于SSL加密连接。 #### 三、实现文件复制功能 **解决方案**: 可以使用Java中的`InputStream`和`OutputStream`类来实现文件的复制功能。 **代码示例**: ```java ...
本指南将深入探讨Hibernate的核心概念、配置、实体映射、查询语言以及最佳实践,旨在帮助开发者高效地利用Hibernate进行数据库操作。 1. **Hibernate核心概念** - ORM:对象关系映射,是将数据库中的数据与Java...
由于每个Session只能操作一个数据库连接,SessionFactory通过线程安全的方式管理多个Session对象,为应用程序提供高效的数据存取服务。Session和SessionFactory之间紧密合作,共同实现Hibernate缓存的基本机制。 ...