簡體   English   中英

如何在 spring 引導中由 @OneToMany 注釋映射的列上使用 JPA findBy

[英]How to use JPA findBy on column mapped by @OneToMany annotation in spring boot

我有這個 model 調用發票,它包含一個@one to many annotation

這是我的 model:

    public class Invoice {
    
        @Id
        @GeneratedValue(strategy= GenerationType.IDENTITY)
        private int id;
        @Column(name = "serial_number")
        private long serialNumber;
        @Column(name = "status")
        private String status;
        @Column(name = "created_date")
        private Timestamp createdDate;
        @Column(name = "is_deleted")
        private boolean isDeleted;
        @ManyToOne
        @JsonIgnore
        @JoinColumn(name = "customer_id")
        private Customer customer;
        @ManyToOne
        @JoinColumn(name = "employee_id")
        private Employee employee;
        @OneToMany(fetch=FetchType.EAGER, mappedBy="invoice")
        private Set <InvoiceHistory> invoiceHistories;
        @OneToMany (mappedBy = "invoice")
        private Set <InvoiceItem> quantity; 
}

如何通過所有具有員工 id = xxxxx 的發票找到?

使用自定義查詢獲取發票

Query("select x from  Invoice  x  where x.employee.employeeId=:empId")
List<Invoice > getAllInvoicesByEmpId(Long empId) ;

或者,您可以通過基於員工 Model 中的 OneToMany 關系的 id 加載員工來獲取屬於員工但來自員工本身的所有發票,但這種方式“不推薦”

暫無
暫無

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

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