假设在Orid的答案中使用GroupDetails,你是否尝试过JPA 2.1 @ConstructorResult?
@SqlResultSetMapping( name="groupDetailsMapping", classes={ @ConstructorResult( targetClass=GroupDetails.class, columns={ @ColumnResult(name="GROUP_ID"), @ColumnResult(name="USER_ID") } ) })@NamedNativeQuery(name="getGroupDetails", query="SELECt g.*, gm.* FROM group g LEFT JOIN group_members gm ON g.group_id = gm.group_id and gm.user_id = :userId WHERe g.group_id = :groupId", resultSetMapping="groupDetailsMapping")并在存储库界面中使用以下命令:
GroupDetails getGroupDetails(@Param("userId") Integer userId, @Param("groupId") Integer groupId);根据springJPA的数据文件,spring将首先尝试找到一个名为查询匹配你的方法名-因此使用
@NamedNativeQuery,
@SqlResultSetMapping并且
@ConstructorResult你应该能够实现这一行为



