今天使用尝试使用MyBatisFlex关联查询,在用户和角色关联查询中出现了一个小问题。
问题场景:
我在user实体类中定义了一个roleIds的属性,想要通过MyBatisFlex提供的@RelationManyToMany来查询。一开始定义是这样的
@Column(ignore = true)
@RelationManyToMany(
joinTable = "sys_user_role",
selfField = "userId", joinSelfColumn = "user_id",
targetField = "roleId", joinTargetColumn = "role_id",
targetTable = "sys_role",
valueField = "roleId"
)
private Long[] roleIds;
然后报错
后查询官方文档,文档里使用的是List,报错也是显示不能实例化Long[]类,故改为List
@Column(ignore = true)
@RelationManyToMany(
joinTable = "sys_user_role",
selfField = "userId", joinSelfColumn = "user_id",
targetField = "roleId", joinTargetColumn = "role_id",
targetTable = "sys_role",
valueField = "roleId"
)
private List<Long> roleIds;
修改完后,可以查询出结果。