我必须参加表格
Tasks:
id
title
Description
Task_reply_mapping
task_id
parent_id
我编写了以下查询来获取数据
select t1.id,t1.title,t1.description,t2.id,t2.title,t2.description
from tasks t1
left join Task_reply_mapping trm on t1.id = trm.task_id
left join tasks t2 on t2.id = t1.id
order by fe.created_at desc limit 0,10
这似乎工作正常,但它没有正确填充数据。我想知道这个查询是否正确?
在我的mapper文件中我有
<resultMap id="TaskResultMap" type="com.mycom.myproj.bean.TaskBean">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="title" jdbcType="VARCHAR" property="title" />
<result column="description" jdbcType="VARCHAR" property="description" />
<collection ofType="com.mycom.myproj.bean.TaskBean" property="replyTask">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="title" jdbcType="VARCHAR" property="title" />
<result column="description" jdbcType="VARCHAR" property="description" />
</collection>
</resultMap>
或者我在mapper类中做错了。
对象中的记录与第一个索引一样,放置最新的任务,无论是回复还是新任务等等。
它应该插入这样的记录
Task1
--1st reply task
--2nd reply task
Task 2
--1st reply task
--2nd reply task
如果需要更多信息,请与我们联系。
答案 0 :(得分:1)
第二个join
必须与Task_reply_mapping
表格相同:
select t1.id,
t1.title,
t1.description,
t2.id,
t2.title,
t2.description
from tasks t1
left join Task_reply_mapping trm
on t1.id = trm.task_id
left join tasks t2
on t2.id = trm.parent_id
答案 1 :(得分:1)
不确定问题出在哪里。
我想可能查询和映射不正确。
试试这个:
select
t1.id
,t1.title
,t1.description
,t2.id as id_2
,t2.title as title_2
,t2.description as description_2
from tasks t1
left join Task_reply_mapping trm on t1.id = trm.task_id
left join tasks t2 on t2.id = t1.id
order by fe.created_at desc limit 0,10
映射
<resultMap id="TaskResultMap" type="com.mycom.myproj.bean.TaskBean">
<id column="id" jdbcType="BIGINT" property="id" />
<result column="title" jdbcType="VARCHAR" property="title" />
<result column="description" jdbcType="VARCHAR" property="description" />
<collection ofType="com.mycom.myproj.bean.TaskBean" property="replyTask">
<id column="id_2" jdbcType="BIGINT" property="id" />
<result column="title_2" jdbcType="VARCHAR" property="title" />
<result column="description_2" jdbcType="VARCHAR" property="description" />
</collection>
</resultMap>
在您的查询中,您必须id
,两个'标题and two
描述,因此可能存在问题。