`
wtnhwbb
  • 浏览: 166629 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Example关联查询

阅读更多
	

OneToManyUser和TAddress之间是一个双向一对多的关系,在其他的测试中没有任何问题,但是当我想根据一个TAddress对象来查询数据库中有OneToManyUser的address所匹配的数据时,总是出现以下SQL语句select this_.id as id5_0_, this_.name as name5_0_, this_.age as age5_0_ from otmuser this_ where (1=1)
明显这条语句会返回全部otmuser表中的信息,代码如下:
OneToManyUser user2 = new OneToManyUser();
TAddress address = new TAddress();
address.setAddress("ShangHai3");
user2.addAddresses(address);
List list5 =
session.createCriteria(OneToManyUser.class).add(Example.create(user2)).list();
for(int i = 0; i < list5.size(); ++i){
System.out.println(((OneToManyUser)list5.get(i)).getId());
}

其中addAddresses()方法是
public void addAddresses(TAddress address){
address.setUser(this);
this.getAddresses().add(address);
}
希望一下

声明:JavaEye文章版权属于作者,受法律保护。没有作者书面许可不得转载。若作者同意转载,必须以超链接形式标明文章原始出处和作者。
相关文章:      

推荐链接:      

为什么没人回答呢?Example的查询难道不能对私有成员对象进行查询的吗?

不能对子表进行查询(那需要join)
如果是同一个表中的子字段可以
PS:你写的语句很不清楚很难明白
要是想让人明白重写首帖

多谢指教!我明白你的意思了
PS:楼上所说的不清楚是指我写的代码还是我之前的描述?
如果是描述的话那是有可能,我的语文很一般,代码的话我觉得好象没什么问题

代码我刚刚试完所以看到你写的有印象
描术是一点也没看明白

我刚才看了Example的API,似乎可以关联表的
List results = session.createCriteria(Parent.class)
.add( Example.create(parent).ignoreCase() )
.createCriteria("child")
.add( Example.create( parent.getChild() ) )
.list();
这是API写的,但是我试了一下, 报
Exception in thread "main" java.lang.ClassCastException: java.util.HashSet
at org.hibernate.criterion.Example.getEntityMode(Example.java:247)
at org.hibernate.criterion.Example.toSqlString(Example.java:177)
at org.hibernate.loader.criteria.CriteriaQueryTranslator.getWhereCondition(CriteriaQueryTranslator.java:333)
at org.hibernate.loader.criteria.CriteriaJoinWalker.<init>(CriteriaJoinWalker.java:82)
at org.hibernate.loader.criteria.CriteriaLoader.<init>(CriteriaLoader.java:67)
at org.hibernate.impl.SessionImpl.list(SessionImpl.java:1514)
at org.hibernate.impl.CriteriaImpl.list(CriteriaImpl.java:283)
at org.hibernate.impl.CriteriaImpl$Subcriteria.list(CriteriaImpl.java:458)
at com.hibernate.lockandquery.ComplexQuery.main(ComplexQuery.java:35)
什么莫名
 
分享到:
评论

相关推荐

    Hibernate中Example的用法

    `Example`还可以用于查询具有关联关系的对象。假设`Cat`类与`Mate`类之间存在一对多的关系,我们可以这样查询: ```java Cat cat = new Cat(); cat.setName("Tom"); List&lt;Cat&gt; results = session.createCriteria...

    thinkPHP5解决不同服务器不同数据库表关联查询问题

    ### thinkPHP5解决不同服务器不同数据库表关联查询问题 在实际的应用场景中,尤其是在大型分布式系统中,数据往往不会集中存放在同一个数据库或同一台服务器上。为了提高系统的可用性和可扩展性,开发者通常会选择...

    hibernate多表联合查询

    ### Hibernate多表联合查询详解 #### 一、引言 在实际项目开发中,我们经常需要处理复杂的数据库查询,特别是涉及到多个表之间的关联查询。Hibernate作为一款流行的Java持久层框架,提供了一种非常便捷的方式来处理...

    mybatis自关联查询

    本篇文章将重点讲解 MyBatis 中的自关联查询,以“新闻栏目”为例,探讨如何实现一对多的关系。 在新闻系统中,栏目(Category)与新闻(News)通常存在一对多的关系:一个栏目可以包含多个新闻,而一个新闻则属于...

    Spring boot2基于Mybatis实现多表关联查询

    Spring Boot 2 基于 MyBatis 实现多表关联查询 Spring Boot 2 是目前非常流行的 Java 框架,它提供了许多强大的功能,例如自动配置、 starters 机制等。MyBatis 是一个流行的持久层框架,提供了强大的数据库交互...

    用MyBatis实现表的一对多关联查询

    本文主要围绕"用MyBatis实现表的一对多关联查询"这一主题,详细阐述如何在实际项目中实现这种关联关系。 一、MyBatis一对多映射基础 MyBatis的一对多映射是指一个表(父表)中的多条记录可以与另一个表(子表)中...

    Mybatis实现多表联合查询和批量插入

    在实际开发中,经常需要对多个表进行联合查询,例如,查询员工信息同时需要关联部门信息和职位信息。Mybatis提供了强大的联合查询功能,可以轻松地实现这种需求。 1. 配置mybatis-cfg.xml文件 首先,需要在mybatis...

    Ibatis的简单例子(增删改查,联合查询等)

    在这个"Ibatis的简单例子"中,我们将探讨如何使用Ibatis进行数据库的增删改查(CRUD)操作以及联合查询。 1. **安装与配置**: 在开始之前,你需要在项目中添加Ibatis的依赖,通常是通过Maven或Gradle。在Maven的`...

    Specification Example.docx

    "Specification Example.docx"文档提供了一个实用的Odoo需求规格书模板,旨在帮助开发者明确理解客户需求,优化业务流程,并确保技术实现与预期目标一致。以下是基于该模板的详细解析: 1. **业务需求**: 在这个...

    MySQL Example Databases(world database InnoDB version)

    MySQL Example Databases,特别是其中的"world database"(InnoDB版本),是学习和演示数据库管理、SQL查询以及MySQL功能的理想示例。这个数据库包含了不同国家和城市的详细信息,包括人口、GDP等统计数据,适用于...

    ListExample.rar

    这通常通过为ListView控件添加imagelist(CImageList对象)来实现,然后使用`SetImageList`函数将它关联到控件。之后,当添加或编辑列表项时,使用`SetItem`函数指定相应的图像索引。这样,每个列表项都可以有一个...

    Hibernate example

    2. **查询语言(HQL)**:使用Hibernate查询语言,类似SQL,但面向对象。 3. ** Criteria 查询**:提供动态构建查询的方式,无需预先编写SQL。 4. **缓存机制**:了解如何利用二级缓存提高性能。 5. **懒加载和级联...

    django by example 源代码

    《Django by Example》是一本深受开发者欢迎的书籍,它深入浅出地介绍了Django框架的应用。这本书通过一系列具体的实例,让读者能够快速掌握Django的精髓,从而能够构建自己的Web应用。源代码是学习过程中的重要参考...

    The Python 3 Standard Library by Example.pdf 英文原版

    文档内容中出现的技术术语,如Beaux-Arts建筑风格、Historical Monument(历史纪念物)等,虽然与Python标准库无直接关联,但这些信息有助于丰富读者的知识面,拓展对世界艺术和历史的认识。 知识点5:编程语言与...

    MyBatis example

    MyBatis的核心是SQL映射文件,这些文件将SQL语句与Java对象关联起来,使得开发者可以更灵活地控制SQL执行。在本示例中,你可能会看到一个名为`mybatis-config.xml`的全局配置文件,它包含了数据源、事务管理器等信息...

    Django by Example

    通过定义URL模式,你可以将特定的URL路径与处理该路径的视图关联起来。在《Django by Example》中,作者可能会展示如何设置URL模式以处理文章列表、文章详情以及表单提交。 除此之外,书中还会涉及其他关键话题: ...

    《MySQL性能调优与架构设计》附录--example数据库脚本

    在《MySQL性能调优与架构设计》一书中,附录部分提供了一个名为“example”的数据库创建脚本。这个脚本是用于演示和学习如何构建一个简单的数据库结构,它包含了几个核心表,如event、group_message、group_message_...

    Listexample1.rar_CListCtrl_Listexample

    对于包含复杂数据的项,可以使用SetItemData将额外的数据关联到列表项。 4. **响应用户事件**:CListCtrl可以响应各种用户事件,例如单击、双击、选择等。开发者需要重写OnLvnItemchanged、OnLvnGetdispinfo等消息...

    SAS Programming By Example

    这部分介绍了如何使用SAS提供的表格查找工具,如数组、哈希表等,来关联来自不同数据源的信息。这些工具对于处理复杂的数据关系非常有用。 **SAS Functions (SAS函数)** SAS提供了丰富的内置函数库,涵盖了数学...

    example12.zip

    【example12.zip】是一个压缩包文件,其中包含的是一系列与PHP编程语言相关的练习案例。PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,尤其在Web开发领域中占据重要地位。这个压缩包可能包含了从基础...

Global site tag (gtag.js) - Google Analytics