你好StackOverflowers,MyBatis - 根据javaType的返回结果地图
有一些我没有得到关于MyBatis resultMap。
我工作的这个模型beeing更新。我们决定创建一个反映我们未来数据库模式的对象的新图形(当前的图形很糟糕)。
总结我们的问题,这里是一个简单的例子: 当前对象whith与表SITE相关的是org.example.model.SiteModel
。我们创建了一个名为org.example.entity.Site
的新对象。 (包名称是临时的)。
目标是现在使用开发的MyBatis感谢的现有SQL请求,并添加一个新的ResultMap链接到我们的方法的返回类型。
这里有一个例子:
/**
* Get all site defined as template.
*/
@Select("SELECT * FROM SITE WHERE ISTEMPLATE = 'True'")
@ResultMap({"siteResMap" , "siteResultMap"})
@Options(statementType = StatementType.CALLABLE)
<T> List<T> findTemplates();
然后,在一个XML配置文件中,我们定义了以下映射:
...
<resultMap id="siteResMap" type="org.example.entity.Site" />
<resultMap id="siteResultMap" type="org.example.model.SiteModel" />
...
然后我们调用方法从我们的DAO:
List<Site> site = siteDao.findTemplates();
List<SiteModel> siteMod = siteDao.findTemplates();
我们期待从这是MyBatis的动态解释,采取正确的Resul tMap根据计算的返回类型。
但是这两个列表都显示为List<org.example.entity.Site>
from debuger。
这让我觉得第一的ResultMap取,忽略了第二个。
我错过了什么吗?有没有办法让MyBatis以这种方式行事?
问候