当我第一次遇到这个问题时,我感到非常惊讶,但是,是的,您只能使用@SqlResultSetMapping将查询结果映射到标量和托管实体。
我猜,您能做的最好的就是跳过自动映射。没有映射的查询将返回
List<Object[]>,您可以按需要的方式映射它。
另一种方法是使用@MappedSuperclass。表示为@MappedSuperclass的类(在您的情况下为CustomStudent)可以在@SqlResultSetMapping中使用(虽然不确定为100%)。但是您需要引入继承层次结构,也就是说,您的Student实体必须扩展CustomStudent。在大多数情况下,正确的OO设计会浪费时间,因为继承会有点人为…



