如果要自定义查询的结果集有3种方法:
- 使用List<Object[]>来接收结果,只支持原生sql查询。
- 使用自定义对象来接收结果,支持JPA,JPQL查询。
- 使用自定义的接口来映射结果,支持JPA,JPQL,原生sql查询。
本章将使用原生sql实现接收联合查询后的结果集
持久层
@Repository
public interface NurseDao extends JpaRepository<Nurse,String>, JpaSpecificationExecutor<Nurse>, Serializable {
//通过nurse_truename查询nurse
@Query(value = "select nurse_photoid,nurse_no,nurse_truename,nurse_age,nurse_worktime,nurse_remark,nurse_price,nurse_ordernum from t_nurse where nurse_truename like :nurse_truename",nativeQuery = true)
List<NurseDaoHelp> findNurseByName(@Param(("nurse_truename"))String nurse_truename);
}
持久层中的NurseDaoHelp是自己定义的一个接口,当中定义你需要的结果集.
NurseDaoHelp Interface
public interface NurseDaoHelp {
String getNurse_PhotoId();