首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将递归连接转换为java对象

将递归连接转换为java对象
EN

Stack Overflow用户
提问于 2017-05-03 14:52:18
回答 1查看 73关注 0票数 0

假设我有下面的模型

代码语言:javascript
复制
public class ExampleComment {
    private int id;
    private Integer commentOf;
    private List<ExampleComment> comments;
    ...
    getters, setters
    ...
}

和数据库:

代码语言:javascript
复制
id | commentOf 
1  | null 
2  | 1  
3  | 1  
4  | 2  

如果我使用一些讨厌的sql过程(这可能不是正确的解决方案?),我仍然不知道如何将它转换为mybatis中的java对象。

我知道当我在.net中做同样的事情时,它是由实体框架制作的,所以很可能是可以用mybatis制作的,但是我在google上找不到任何解决方案。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2017-05-03 15:19:02

假设comments属性将包含COMMENTOF列中当前注释中的所有注释,则下面的注释应该可以使用。

主要评论ResultMap:

代码语言:javascript
复制
<resultMap id="commentMap" type="ExampleComment">
    <id property="id" column="id" />
    <result property="commentOf" column="commentOf" />
    <collection property="comments" javaType="ArrayList" column="COMMENTOF" ofType="ExampleComment" select="selectChildComments"
</resultMap>

选择selectChildComments:

代码语言:javascript
复制
<select id="selectChildComments" resultMap="commentMap">
  SELECT ID, COMMENTOF FROM COMMENT_TABLE WHERE COMMENTOF=#{id}
</select>
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/43763472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档