0 0

ibatis 对象关联10

对象A组合对象B的时候,在ibatis里面可以通过result的select实现,
即:select="B.selectById"
但是我的问题在于A和B根本就是一个对象的时候怎么办?
又或者说A关联B,B又需要关联A的时候,
就会产生无限循环的情况。

当然我知道这种环形依赖应该避免,但是他们的关系就是这样。而且我也不知道如何避免环形依赖,
希望大家能够给我点提示,谢谢.
2009年2月20日 15:32

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

0 0

怎么会是循环捏,除非两个同样id的同类对象互相引用。这样的数据是不应该存在的,以前看mysql的一个bug是无法删除互相引用的数据。

2009年2月20日 23:51
0 0

那你该A再重新定义个对象C
A与B关联,在B与A关联的时候改成B与C关联

2009年2月20日 16:09
0 0

无限循环? 你的父查询和子查询是同一条sql?
查询出来的结果是类似树形结构?

2009年2月20日 15:51

相关推荐

    使用ibatis操作两个有关系的表

    Ibatis的核心思想是将SQL语句写在XML配置文件中,通过映射关系将Java对象与数据库中的记录对应起来。在处理两个有关系的表时,Ibatis提供了多种策略,如一对一、一对多、多对一、多对多等映射关系。 1. **一对一...

    ibatis总结 ibatis ibatis ibatis ibatis

    Ibatis的主要特点是通过XML或注解定义SQL映射文件,将SQL语句与Java对象绑定。例如,`<select>`标签用于定义查询语句,`<insert>`、`<update>`和`<delete>`分别对应增删改操作。在SQL映射文件中,可以使用动态SQL来...

    ibatis demo,ibatis例子,ibatis示例

    Ibatis提供了多种方式来实现映射,如自动类型匹配、自定义类型处理器、复杂关联映射等。 7. **缓存机制**:Ibatis内置了本地缓存和二级缓存,可以提高数据读取速度。本地缓存作用于单个SqlSession,而二级缓存则...

    ibatis教程_查询指定id的单个对象

    Ibatis不是一个完整的ORM(对象关系映射)框架,而是介于SQL和Java之间的桥梁,允许开发者编写动态SQL,并将SQL语句与Java对象进行映射。它的核心组件包括SqlMapConfig.xml配置文件、Mapper接口和Mapper XML文件。 ...

    ibatis开发指南 经典教材

    此外,ibatis还支持延迟加载,即只有在真正需要时才加载关联对象,从而避免了不必要的数据加载和内存消耗。 ### ibatis高级特性 #### 动态SQL ibatis的一个强大特性是动态SQL。它允许开发者在运行时根据不同的...

    ibatis api,ibatis文档,ibatis说明文档

    通过阅读文档,你可以了解如何配置Ibatis、创建Mapper接口和XML映射文件,以及如何处理复杂的查询和关联。 在说明文档中,通常会包含以下内容: 1. 安装和配置:介绍如何将Ibatis集成到项目中,包括Maven或Gradle...

    ibatis实战之一对多关联(源代码)

    在服务层或DAO层,通过SqlSessionFactory创建SqlSession,调用`selectList`方法,传入SQL查询ID,iBatis会自动处理一对多的关联,将数据填充到对应的Java对象中。 ```java SqlSession sqlSession = ...

    ibatis api 帮助文档+IBATIS 开发文档

    3. **结果集映射**:详细解释了如何通过ResultMap定义结果集到Java对象的映射,包括基本类型、复杂类型、关联映射等。 4. **参数映射**:介绍如何使用parameterMap来指定输入参数,包括基本类型、Map对象、JavaBean...

    ibatis 的 jar包

    5. **结果集映射**:iBATIS能自动将查询结果映射到Java对象,包括单一结果、多个结果集以及复杂的一对多关联映射。 6. **参数映射**:iBATIS可以将Java方法的参数自动映射到SQL的参数,减少了代码量,提高了开发...

    Ibatis 入门经典 实例

    Ibatis 是一款著名的轻量级 Java 持久层框架,它提供了一种映射 SQL 和 Java 对象的简单方式,从而减轻了开发人员在数据库操作中的工作负担。这篇实例教程将带你深入理解 Ibatis 的核心概念和常用功能,帮助你快速...

    ibatis基础知识详解

    Ibatis会自动将这些方法与XML配置文件中的SQL语句关联起来。 ## 3. Ibatis的主要功能 #### 3.1 动态SQL Ibatis支持动态SQL,允许在XML配置文件中根据条件拼接SQL语句,极大地提高了SQL的灵活性和可维护性。 ####...

    iBatis文档\ibatis.doc

    iBatis支持复杂的数据关联,包括一对多、一对一关联。通过`collection`和`association`元素,你可以轻松地处理嵌套的结果集。 #### 一对多关联 在XML映射文件中,定义一个`collection`元素来表示一对多关系,例如:...

    ibatis教程 输入参数详解

    通过`resultMap`可以实现复杂的对象关系映射,如一对一、一对多等关联关系。 ### 动态SQL ibatis还支持动态SQL语句,可以根据业务逻辑动态生成SQL语句。例如,使用`<if>`元素可以实现条件判断,`<choose>`, `...

    Castle+ibatis代码示例

    此外,它们也可能包含了具体的iBATIS映射文件,展示了如何将SQL查询与业务对象关联起来。 学习这个示例,开发者可以了解到如何在.NET环境中结合使用Castle和iBATIS来构建高效、灵活的业务系统。这包括如何利用...

    ibatis.doc

    iBATIS,作为一款“半自动化”的对象关系映射(ORM)框架,相较于Hibernate和Apache OJB等全栈式解决方案,提供了更为灵活的数据库交互方式。它的核心理念在于,允许开发者保留对SQL的直接控制,同时简化了Java与SQL...

    ibatis2.0中文API

    iBATIS提供了集合映射和关联映射的方式来处理这些关系,使我们能够在Java对象中方便地操作这些复杂的数据结构。 其次,属性设置详解涉及到的是如何在iBATIS中设置和获取Java对象的属性,以及如何将这些属性与数据库...

    经典开源插件之ibatis

    - **SQL与代码分离**:ibatis允许开发者编写纯SQL语句,并通过XML配置文件或者注解的方式将这些SQL语句与Java对象关联起来,实现了SQL与业务逻辑的分离。 - **高级映射**:ibatis支持自动结果集到Java对象的映射,...

    ibatis one to many mapping

    1. **使用中间表**:创建一个关联表,存储两个主表的外键,然后通过这个中间表建立两个对象之间的关联。 2. **一对多+多对一组合**:将多对多关系分解为两个一对多关系,一个对象包含另一对象的集合,而另一个对象...

Global site tag (gtag.js) - Google Analytics