簡體   English   中英

JPA 查詢映射

[英]JPA Query mapping

我想在 ProductRepository 中使用 orderNumber,但我不斷收到 SQL 錯誤。 我映射了雙方。

這是產品實體。

@Entity
public class Product extends BaseEntity {
    @Id
    @GeneratedValue
    @Column(name = "product_id")
    private Long id;
    @ManyToOne
    @JoinColumn(name = "orderItem_id")
    private OrderItem orderItem;
this is orderItem entity.
@Entity
public class OrderItem extends BaseEntity {
    @Id
    @GeneratedValue
    @Column(name = "orderItem_id")
    private Long id;
    private String orderNumber
    
    @OneToMany(mappedBy = "orderItem", cascade = CascadeType.ALL, orphanRemoval = true)
    @Builder.Default
    private List<Product> products = new ArrayList<Product>();

這是 ProductRepository 中的查詢。

@Query(value = "SELECT * FROM OrderItem a, Product b WHERE a.orderItem_id = b.orderItem_id", nativeQuery = true)
    Product findByOrderNumber(String orderNumber);

或者,您可以嘗試通過如下所示的方法進行查詢,這種情況下您不需要使用@Query

產品資料庫

 Product findByOrderItemOrderNumber(String orderNumber);

你可以在這里找到更多細節

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM