MyBatis填坑日記

MyBatis填坑日記

配置了映射後,原字段的值爲空

描述

以用戶、部門爲例,一個用戶對應一個部門,一對一映射。

在配置映射@Result之前,可以讀出deptId的值。

但配置映射@Result之後,deptId的值爲空。

代碼爲

@Select("select * from employee e where e.id=#{id}")
@Results({
        @Result(property = "department", column = "dept_id", one = @One(select="com.doss.framework.mapper.DepartmentMapper.findById"))
})
public Employee findById(Integer id);

原因&解決方案

需要再配置一個@Result,將結果寫入deptId,代碼如下

@Select("select * from employee e where e.id=#{id}")
@Results({
        @Result(property = "department", column = "dept_id", one = @One(select="com.doss.framework.mapper.DepartmentMapper.findById")),
        @Result(property = "deptId", column = "dept_id")
})
public Employee findById(Integer id);

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章