[英]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.