我有下面的关系b.w下面给出的两个实体,当我从存储库中获取OutletProductVariety对象时,即使在使用fetchtype Eager之后,价格也在PersistentBag中而不是作为List出现。
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
' YOUR CODE HERE (Just copy whatever the close button does)
If CloseMode = vbFormControlMenu Then
Cancel = False
End If
End Sub
和
@Entity
public class OutletProductVariety {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
Long id;
@ManyToOne
@JoinColumn(name = "varietyId")
Variety variety;
@OneToMany(mappedBy = "outletVariety", fetch = FetchType.EAGER)
List<Price> price;
}
如何获取价格列表,而不是PersistentBag?
答案 0 :(得分:1)
看看休眠PersistentBag
可以包含相同元素的无序,无键集合 多次。奇怪的是,Java collections API没有 袋。大多数开发人员似乎都使用列表来表示 包语义,因此Hibernate遵循这种做法。
public class PersistentBag extends AbstractPersistentCollection implements List
protected List bag;
它实现了java.util.List;
,因此基本上是List
并在内部包装了列表
这只是休眠状态代表您的列表的方式。