spring data jpa 多對一聯表查詢

TurkeyJ發表於2019-03-16

資料庫:

實體類:

public class Product {
    @Id
    @GeneratedValue
    private Long id;
    private String name;
    private Double price;
    private String standerd;
    private String code;
    private String srcPath;
    @ManyToOne(cascade = CascadeType.ALL)
    @JoinColumn(name = "user_id")
    private User user;

    public User getUser() {
        return user;
    }
    public void setUser(User user) {
        this.user = user;
    }
    //其他setter,getter省略

Repository :

public interface ProductRepository extends JpaRepository<Product,Long> {
    @Query("select p from Product p join p.user u  where  u.id=?1 ")
    List<Product> findByUserId(@Param("userId") Long userId);
}

controller:

@PostMapping("/findProductByUserName")
    public List<Product> findProductByName(@RequestParam("name")String name){
        User user=userService.findByProperty(name);
        List<Product> productList=productService.findByUserId(user.getId());
        return productList;
    }

前端post請求測試:
這裡寫圖片描述

相關文章