0 0

HQL到DetachedCriteria的转换? 5

    有两个类:ContactLink和Contact, ContactLink类里有对Contact类的ManyToOne的关联,Contact类里并没有对ContactLink类的反向关联.

    现在需求据ContactLink类的一些信息得出Contact类信息(并不需要从数据库里取出ContactLink类信息).用HQL可以表达如下:

        "select cLink.contact from ContactLink cLink where cLink.linkType = ? and cLink.linkObjId = ?"

    那么用DetachedCriteria怎么来表达?

    用DetachedCriteria latestContactQuery = DetachedCriteria.forClass(Contact.class)? 往下好像没法写了.

    用DetachedCriteria latestContactQuery = DetachedCriteria.forClass(ContactLink.class),它会取出ContactLink类信息吧? 这个没必要.

    请大家帮忙看看. 谢谢!

2009年4月29日 15:25

2个答案 按时间排序 按投票排序

0 0

DetachedCriteria dc = DetachedCriteria.forClass(Contact.class);
dc.add(cLink.linkType", linkType));
dc.add(cLink.linkObjId", linkObjId));
getHibernateTemplate().findByCriteria(dc);
getHibernateTemplate().flush();

2009年4月29日 18:38
0 0

把两个类的代码和xml贴出来

2009年4月29日 15:34

相关推荐

    Hibernate 使用DetachedCriteria操作

    这里,`getExecutableCriteria()`方法将DetachedCriteria转换为标准的Criteria,然后通过Session的`list()`方法获取查询结果。 **6. DetachedCriteria 的高级用法** 除了基本的条件和排序,DetachedCriteria还可以...

    hibernate3.2.5

    可以使用Criteria API构建更新条件,然后将其转换为HQL: ```java DetachedCriteria criteria = DetachedCriteria.forClass(EntityName.class); criteria.add(Restrictions.eq("property", value)); String hql = ...

    HibernateAPI

    它提供了`DetachedCriteria`用于构建离线查询,方便复用。 8. **Criteria API的别名和投影** 别名在Criteria查询中用于简化属性引用,如`createCriteria("user").add(Restrictions.eq("name", "John"))`。而投影...

    hibernate查询方法

    HQL适用于简单的查询,Criteria API和DetachedCriteria适合构建复杂条件,Native SQL则在处理特定数据库功能时不可或缺。理解并熟练掌握这些查询方法,将有助于提高Java应用的数据访问效率和代码质量。

    hibernate-2.0.zip

    - Hibernate:一个强大的ORM框架,通过映射Java对象到数据库表,实现了对象和关系数据之间的转换。 - Hibernate 2.0:该框架的特定版本,引入了许多新特性和改进,如查询语言HQL、级联操作等。 **内容:** 1. **...

    Hibernate3.3API

    在Hibernate 3.3版本中,它提供了丰富的API来支持数据库的增删改查、事务管理、查询语言(HQL)以及类型转换等功能。由于官方未提供完整的3.3版API文档,以下将对这个版本中的关键API进行详细解析。 1. **...

    java知识点,面试题总结

    - Criteria查询:使用Criteria、DetachedCriteria构建查询条件,可以添加限制、排序、分页等。 - 查询缓存:提高查询效率,分为一级缓存(Session缓存)和二级缓存(SessionFactory缓存)。 4. Hibernate面试题...

    hibarnate3.1

    6. **Criteria API的DetachedCriteria**:在Hibernate3.1中,DetachedCriteria允许开发者在不持有Session的情况下构造查询条件,增强了代码的可重用性。 7. **缓存机制**:Hibernate3.1引入了第二级缓存,它可以...

    Hibernate的Criteria用法

    当你需要执行查询时,再将DetachedCriteria转换为Criteria并应用于Session: ```java Criteria attachedCriteria = detchedCriteria.getExecutableCriteria(session); List<Person> list = attachedCriteria....

    最经典的hibernate教程_从入门到精通_第四篇

    6. **Criteria与DetachedCriteria**:理解DetachedCriteria的概念,它是Criteria查询的一种扩展,允许在不同的Session中构建查询条件,提高了查询的灵活性。 7. **实体关联映射**:研究一对一、一对多、多对一、多...

    02Hibernate

    6. Criteria与DetachedCriteria:DetachedCriteria用于构建查询条件,可以在任何时候连接到Session执行。 7. Query与Native SQL:Query接口用于执行HQL,而Native SQL则允许直接执行原生的SQL语句。 8. Entity状态...

    ManningHibernateQuicklyAug2005

    10. **实体生命周期**:阐述实体从创建到销毁的各个状态(瞬时、持久化、托管和游离),以及状态转换的过程和注意事项。 11. **性能优化**:提供实用技巧,如批处理操作、延迟加载、查询优化等,以提升Hibernate...

    《精通Hibernate》电子版(孙卫琴)

    Hibernate通过映射XML文件或注解将Java类与数据库表关联,实现了对象与关系数据库之间的透明转换。 二、Hibernate基本配置 书中详细介绍了如何配置Hibernate,包括hibernate.cfg.xml文件的设置,数据库连接参数的...

    Hibernate-基础联表模板

    Hibernate是一种开源的ORM框架,它允许开发者将Java类映射到数据库表,将Java对象映射到数据库记录。这样,我们可以通过操作Java对象来完成对数据库的操作,避免了直接编写SQL语句的繁琐工作,提高了开发效率。 2....

    Hibernate API Doc (3.1.3)

    11. **类型转换与用户类型**:Hibernate提供了丰富的类型转换机制,包括标准类型和用户自定义类型,使得Java对象和数据库列之间的映射更加灵活。 通过阅读和理解Hibernate 3.1.3的API文档,开发者可以深入掌握ORM...

    hibernate学习档案

    Hibernate 提供了一个数据持久化的框架,通过映射Java类到数据库表,实现了对象与关系数据之间的转换。它的核心理念是消除JDBC的繁琐工作,提高开发效率,并提供事务管理和缓存服务。 2. 安装与配置: 使用...

    hibernate in action 第二版中文版

    6. **Criteria API与DetachedCriteria**:DetachedCriteria用于创建可重用的、延迟执行的查询,这对于编写复杂、灵活的查询尤其有用。 7. **事务管理**:书中会讲解如何在Hibernate中处理事务,包括编程式事务管理...

    Hibernate学习笔记

    这本117页的学习笔记旨在全面介绍Hibernate的核心概念、配置以及使用技巧,从基础到进阶,帮助读者逐步掌握这一重要技术。 1. **Hibernate概述** Hibernate作为Java ORM框架,简化了Java应用程序与关系数据库之间...

    Hibernate3.2中文参考文档(CHM)

    6. **Criteria API与DetachedCriteria**:DetachedCriteria用于创建可重用的查询模板,可以在不依赖于Session的情况下预编译查询,提高性能。 7. **缓存机制**:Hibernate支持一级缓存(Session级别的)和二级缓存...

    Hibernate3.2官方中文参考手册

    1. 流程:持久化对象经历瞬时态、持久态和脱管态三个状态,通过Session的save()、saveOrUpdate()、persist()、merge()等方法进行转换。 2. CRUD操作:Hibernate提供了增删改查的便捷接口,如Session的get()、load()...

Global site tag (gtag.js) - Google Analytics