0
有沒有辦法只使用標準部分獲取關聯的關聯實體部分ManyToOne
?條件獲取@ManyToOne部分關係
我有以下的情況下
@Entity
public class Foo {
@ManyToOne(optional = false, fetch = FetchType.LAZY)
private Bar bar;
// getters/setters and lots other attributes
}
@Entity
public class Bar {
private String name;
@OneToMany(fetch = FetchType.EAGER)
private Collection<ComplexObject> complexObjects;
// getters/setters
}
而且我有一個Criteria
選擇所有我Foo
的,我想用它一起只獲取與之相關的Bar
的name
。我不想將ComplexObject
的集合加載在一起。有沒有辦法做到這一點,而無需修改Bar
?
我想這是因爲我想展現給用戶類似
Foo.Attr1, Foo.Attr2, Foo.Bar.Name
約不讓收集懶惰收集我所知道的部分。但你回答了我的問題:)這是我需要的投影。 –
有沒有辦法讓Hibernate將這個投影列表映射到Foo? –
有一種方法,使用ResultTransformer,但它非常髒。返回實體實例的方法應該返回實體實例,尊重它們的不變量和契約,附加到會話等。不是一些半滿的對象。 –