使用使用ManyToOne和OneToMany映射的Spring JPA从2表中获取计数数据

时间:2018-06-17 12:21:07

标签: java hibernate spring-data-jpa

我的模特就像这样

@Entity
@Table(name="vendor_orders")
public class VendorOrder {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonProperty("vendor_order_id")
    private Integer id;

    //some more variables with getters and setters

    @OneToMany(mappedBy = "vendorOrder", fetch = FetchType.LAZY)
    private List<VendorOrderItem> vendorOrderItemList = new ArrayList<>();

    @JsonProperty("number_of_items_in_order")
    @Transient
    private Integer numberOfItemsInOrder;
}

Seond实体

@Entity
@Table(name="product_vendor_order_items")
public class VendorOrderItem {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    @JsonProperty("vendor_order_item_id")
    private Integer id;

    @ManyToOne
    private VendorOrder vendorOrder;
//more variables with getters and setters

}

当我从存储库进行数据库查询时,除了订单中的项目数之外,我需要的是什么,因为该列不在表中。我需要在服务函数中为每个 VendorOrder 对象运行一个循环,以通过计算List的大小来设置其项目数。这大大降低了程序的性能。任何人都可以提出别的建议。

0 个答案:

没有答案