Spring Data JPA 查询部分字段

矫情吗;* 2023-06-06 10:51 59阅读 0赞

这里使用的是@Query

  1. @Query(value = "select new OrderDetail (productId,productName,sum(productQuantity) as productQuantity) from OrderDetail where " +
  2. "TIMESTAMPDIFF(DAY,:time,createTime) = 0 " +
  3. "group by productId,productName")
  4. List<OrderDetail> findByCreateTime(@Param("time") String timeStamp);

写这个sql语句必须提供相应的构造方法,默认的构造方法和部分字段的构造方法

实体类

  1. @Data
  2. @Entity
  3. @AllArgsConstructor
  4. @NoArgsConstructor
  5. public class OrderDetail {
  6. @Id
  7. private String detailId;
  8. private String orderId;
  9. private String productId;
  10. private String productName;
  11. private BigDecimal productPrice;
  12. private Integer productQuantity;
  13. private String productIcon;
  14. //创建时间
  15. private Date createTime;
  16. //修改时间
  17. private Date updateTime;
  18. public OrderDetail(String productId, String productName, Long productQuantity) {
  19. this.productId = productId;
  20. this.productName = productName;
  21. this.productQuantity = Integer.parseInt(productQuantity.toString());
  22. }
  23. }

因为SUM函数返回的是long,类型,所以我进行了一下转换。

发表评论

表情:
评论列表 (有 0 条评论,59人围观)

还没有评论,来说两句吧...

相关阅读