`
sunxboy
  • 浏览: 2871709 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

hibernate之 DetachedCriteria实现多表查询

阅读更多
DetachedCriteria detachedCriteria = DetachedCriteria
			.forClass(ExternalSysOrderInfo.class);
	detachedCriteria.add(Restrictions.eq("serviceId", serviceId));
	detachedCriteria.add(Restrictions.eq("orderNo", billno));
	// singleOrder : endDate is null
	detachedCriteria.add(Restrictions.between("orderDate",
			getStartGregorianTime(beginDate),
			getEndGregorianTime(beginDate)));
	ProjectionList projectionList = Projections.projectionList();
	projectionList.add(Property.forName("orderState"));
	projectionList.add(Property.forName("VT.tradeMoney"));
	projectionList.add(Property.forName("orderNo"));
	projectionList.add(Property.forName("VT.beginDate"));
	projectionList.add(Property.forName("VT.endDate"));

	detachedCriteria.createAlias("vbaoTrade", "VT").setProjection(
			projectionList);

	try {
		List list = getHibernateTemplate().findByCriteria(detachedCriteria);
		if (list != null && list.size() > 0) {
			System.out.println("list size  is  :  " + list.size());
			return new ExtSettleDto((Object[]) list.get(0));
		}
	} catch (Exception e) {
		e.printStackTrace();
	}
	return null;

 

ExtSettleDto.java

	public ExtSettleDto(Object[] object){
		this.state = (String) object[0];
		this.money = (Double) object[1];
		this.billno = (String) object[2];
		this.orderDate = (Date) object[3];
		this.dealDate = (Date) object[4];
	}

 

 

分享到:
评论
1 楼 mulangren1988 2010-12-02  
     
嗯 ,不怎么明白上面两段代码。
首先,第一段代码里面,是那两张表进行联查?
再次,第二段代码的作用是什么?也没明白
请LZ明示
     

相关推荐

    Hibernate - DetachedCriteria 的完整用法

    Hibernate 的 Criteria 和 DetachedCriteria 是两个不同的概念,虽然它们都是用于查询数据的,但它们在创建和使用上有所不同。 首先,Criteria 是在线的,需要通过 Hibernate Session 来创建,即使用 `session....

    Hibernate(24): 为什么用DetachedCriteria不能表连接地取数据?

    然而,表连接通常涉及多个实体之间的关系,而DetachedCriteria的设计初衷是针对单一实体的简单查询,因此在处理多表联合查询时可能力有未逮。 在Hibernate中,表连接通常是通过 Criteria 查询或者 HQL (Hibernate ...

    Hibernate-基础联表模板

    通过DetachedCriteria、Criteria、Projection等接口,可以方便地实现联表查询,同时支持各种查询条件、排序和分页。 6. **多对一(One-to-Many)和一对多(Many-to-One)关联** 这是两种常见的关联关系。在...

    Hibernate_query查询数据表中部分字段.

    本文将深入探讨如何使用Hibernate进行数据表中的部分字段查询,这在实际开发中是非常常见的需求。 首先,理解Hibernate的核心概念:实体(Entity)、持久化类(Persistent Class)和映射文件(Mapping File)。实体...

    hibernate的多态查询

    5. **多态查询的实现**:Hibernate支持使用`DetachedCriteria`或`Criteria` API来进行多态查询,通过`createCriteria()`方法指定父类,并使用`add(Restrictions.in("property", values))`等方法来限制查询条件。...

    hibernate中的查询方式

    ### Hibernate中的查询方式详解 #### 一、HQL查询(Hibernate Query Language) HQL是Hibernate提供的面向对象的查询语言,其语法与SQL相似但并非完全相同。HQL的一个显著优势在于它具有很好的跨数据库能力,这...

    Hibernate的MySql查询.rar

    在Java企业级开发中,Hibernate是一个非常重要的对象关系映射(ORM)框架,它极大地简化了数据库操作。...希望这份"JavaEE学习笔记之Hibernate的MySql查询.doc"文档能帮助你更深入地理解并运用这些技术。

    DetachedCriteria使用介绍

    `DetachedCriteria` 是 Hibernate 提供的一种灵活且强大的查询机制,它允许你在脱离 Session 的情况下构建复杂的查询标准,这意味着你可以提前构建查询标准,然后在任何地方执行查询,而无需关心当前是否有 Session...

    HQL是hibernate自己的一套查询

    根据提供的标题、描述以及部分代码内容,我们可以了解到这段材料主要涉及的是Hibernate框架中的HQL(Hibernate Query Language)查询语言的使用。接下来将详细介绍HQL的相关知识点。 ### HQL概述 HQL是Hibernate...

    六种方式实现hibernate查询

    六种方式实现Hibernate查询 Hibernate是一个功能强大的持久层框架,它提供了多种方式来查询数据库。下面我们将详细介绍六种方式实现Hibernate查询。 HQL查询 HQL(Hibernate Query Language)是Hibernate自己的...

    三种查询方式跟踪Hibernate源码

    在Hibernate中,JPQL查询的处理与HQL大体相同,主要涉及`javax.persistence.Query`接口及其实现。跟踪源码时,重点关注`org.hibernate.jpa.internal.QueryImpl`类,以及`org.hibernate.jpql.internal`包下的解析和...

    Hibernate中,利用Criteria查询容器实现sql的写法

    同时,很多IDE如Eclipse和IntelliJ IDEA提供了对Hibernate的支持,可以自动生成Criteria查询,简化开发过程。 在进行团队协作时,文件管理也非常重要,"java集成svn"可能指的是项目中使用了Subversion(SVN)作为...

    Hibernate曾删改查接口实现

    - Criteria API:提供了一种更加面向对象的查询方式,通过Criteria、DetachedCriteria等类构建查询条件。 - Native SQL:可以直接执行原生的SQL查询,适用于Hibernate无法满足的复杂查询需求。 - Query(JPA 2.0...

    \Hibernate_query条件查询

    HQL是Hibernate提供的面向对象的查询语言,类似于SQL,但操作的对象是对象而非表。例如,要获取所有用户,可以使用以下HQL语句: ```java Query query = session.createQuery("from User"); List<User> users = ...

    hibernate5.1.10 依赖jar包

    Hibernate 是Java领域最流行的ORM框架之一,它通过映射Java对象到数据库表,实现了数据库操作的透明化。Hibernate 5.1.10是该框架的一个稳定版本,提供了一整套功能,包括实体管理、查询语言(HQL)、事务处理、缓存...

    Java_Hibernate QBC条件查询对比

    同时,Hibernate还提供了Criteria API,它是QBC的一部分,提供了更多的动态查询功能,可以组合多个条件,甚至可以与DetachedCriteria结合,实现更复杂的查询逻辑。 总结来说,Java_Hibernate中的QBC和HQL各有优势和...

    Hibernate 手册中文版chm格式

    5. Criteria API和DetachedCriteria:进一步深入,探讨如何使用Criteria API执行复杂的查询,并介绍DetachedCriteria,用于在不同会话间构建和执行查询。 6. Native SQL:当需要充分利用数据库特定特性时,可以使用...

    Hibernate中Criteria的完整用法

    Hibernate 的 Criteria 是一种强大且灵活的查询机制,允许开发者根据需求灵活地组装查询条件。Criteria 的设计是基于 CriteriaSpecification 父接口,提供了 Criteria 和 DetachedCriteria 两个实现。 Criteria 和 ...

    传智播客_hibernate

    4. ** Criteria API的Join操作**: 支持多表查询,包括内连接(inner join)、左连接(left join)等。 5. **Criteria API的Projections**: 用于结果集的投影,例如获取平均值、计数等。 **四、事务管理** 1. **...

    Hibernate的Criteria用法总结

    Criteria用于在线查询,直接与Hibernate Session关联,而DetachedCriteria则可在不依赖Session的情况下创建,适用于离线或延迟执行的查询。DetachedCriteria可以通过`forClass(Class)`或`forEntityName(String)`静态...

Global site tag (gtag.js) - Google Analytics