簡體   English   中英

查詢oneToMany關系

[英]Query for oneToMany relationship

我正在尋找解決我的問題的方法。

我有這樣的東西。

class A{
    @OneToMany(mappedBy="a")
    private List<B> bs;
}

class B {
    @ManyToOne
    private A a;
    private String name;

    @Lob
    private byte[] img;
}

我想從數據庫中獲取所有記錄,但關系B中的img字段除外。也許在JPA中創建查詢,但這如何解決?

我怎樣才能做到這一點?

您可以將img定義為惰性:

@Basic(fetch=FetchType.LAZY)
@Lob
private byte[] img;

這樣,僅當您訪問吸氣劑時才加載圖像。

第二種選擇是使用構造函數表達式創建DTO(數據傳輸對象):

package dto;

public class BDto {
   private final String name;
   private final A a;

   public BDto(String name, A a) {
       this.name = name;
       this.a = a;
   }

   // getters for both fields
}

然后,您可以創建如下查詢:

select new dto.BDto(b.name, b.a) from B b where b.a.received = true

重要說明:dto必須在完全限定的查詢中使用(例如dto.BDto)

暫無
暫無

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

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