Java 从包含分组的表中选择

Java 从包含分组的表中选择,java,orm,mybatis,Java,Orm,Mybatis,我想选择如下所示的对象列表 class CategoryProduct { String id String name List<String> products } getTemplate().selectList(getNamespace() +".getProductsForAllCategories"); id: CATEGORY_1, name: 'first category', products: [CATEGORY_1, CATEGORY

我想选择如下所示的对象列表

class CategoryProduct { 
    String id
    String name
    List<String> products
}
getTemplate().selectList(getNamespace() +".getProductsForAllCategories");
id: CATEGORY_1,
name: 'first category',
products: [CATEGORY_1, CATEGORY_1]
我期待这个结果

id: CATEGORY_1,
name: 'first category',
products: [PRODUCT_1, PRODUCT_2]
但我得到的结果是这样的

class CategoryProduct { 
    String id
    String name
    List<String> products
}
getTemplate().selectList(getNamespace() +".getProductsForAllCategories");
id: CATEGORY_1,
name: 'first category',
products: [CATEGORY_1, CATEGORY_1]
它不返回产品,而是在
产品
字段中复制
id
。为什么呢?有什么问题


还需要分组依据。

我将我的
结果映射更改为

<resultMap type="CategoryProduct" id="categoryProductMap">
    <id property="id" column="cpm_category"/>
    <result property="name" column="c_name"/>
    <collection property="products" ofType="string" javaType="java.util.ArrayList">
        <result column="cpm_license_product"/>
    </collection>
</resultMap>

它开始起作用了