微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Spring Data Jpa:联合所有两个不相关的表

如何解决Spring Data Jpa:联合所有两个不相关的表

我有两个表,每个表都不相关,但有一些共同的列名。

@Entity
class ABC {
    private String abcName;
    private String abcCity;
    private String abcSomeColumn;
}

@Entity
class XYZ {
    private String xyzName;
    private String xyzCity;
    private String xyzSomeColumn;
}

我想从一个城市的两个表中提取记录并使用 union all 进行本地查询

public interface AbcEntityRepository extends PagingAndSortingRepository < ABC,Long > {
    @Query(value = "select namedto.* from (select abc_name as name,'ABC' as fromTable from abc " +
        "union all " +
        "select xyz_name as name,'XYZ' as fromTable from xyz) namedto " +
        "where (:city is null or namedto.city = city)",nativeQuery = true)
    List < NameDto > findByCity(@Param("city") String city);
}

这里的 NameDto 只是一个模型类

class NameDto {
    private String name;
    private String fromTable;
}

获取

org.springframework.core.convert.ConverterNotFoundException: 
    No converter found capable of converting from type 
 [org.springframework.data.jpa.repository.query.AbstractJpaQuery$TupleConverter$TupleBackedMap] to type [com.model.NameDto]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。