0
集合中獲取單個「默認」實體我有一個具有多個電話號碼的Person實體。如何熱切地從EJB3/JPA
@OneToMany(mappedBy="person", cascade=CascadeType.ALL)
public Set<PhoneNumberOfPerson> getPhoneNumbers() {
return phoneNumbers;
}
現在我想實現一個「獲取默認電話號碼」方法的人是熱切地提取。此默認電話號碼是電話號碼集中的電話號碼之一。有沒有辦法做到這一點?
我試圖實現這個的原因是有一個頁面上列出的這個默認電話號碼列出db中的所有人。
作爲JPA初學者最初我用下面的方法試了一下:
@Transient
public PhoneNumberOfPerson getDefaultPhoneNumber(){
if(this.getPhoneNumbers().size()==0)
return null;
return this.getPhoneNumbers().iterator().next();
}
但是這當然導致了一個非常非常緩慢的上市頁。
那麼有沒有什麼辦法來定義一個瞬態屬性,從基於某些查詢的實體集合中獲取單個實體?我使用Hibernate作爲我的持久性提供者。