@Repository
public interface DinOrderDao extends JpaRepository<DinOrder, Integer> {
/**
* 查询
*
* @return
*/
@Query(
value =
"SELECT new com.sys.zhhq.vo.Meals.DinOrderVo(d1.userId,d1.totalPrice,d3.name,d3.price) " +
"FROM DinOrder d1, DinOrderDetail d2 , DinReleaseDetail d3 ,DinRelease d4 " +
"where d1.id = d2.orderId and d2.ReleaseDetailID= d3.id and d1.releaseId= d4.id and d4.id=20",
nativeQuery = false)
public abstract List<DinOrderVo> getall();
/**
* 使用 JpaRepository 实现多表连查,返回自定义vo类
* 1.dao的方法名,禁止使用find一类的开头,不然会报错,因为,Jparepository会根据find等关键词自动映射sql,这个机制导致报错
* 2.@Query nativeQuery = false 因为我们要用到hql查询 如果使用原生sql 这里=true 返回的结果是list<Object[]>,需要我们自
JPA使用hql实现多表联查,并返回自定义vo类(三)
最新推荐文章于 2023-08-13 01:37:47 发布