meG*_*ind 5 spring hibernate jpa spring-data-jpa spring-boot
我有以下关系 bw 下面给出的两个实体,当我从存储库中获取 OutletProductVariety 对象时,即使在使用 fetchtype Eager 之后,价格也会出现在 PersistentBag 中,而不是作为列表。
@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;
}
Run Code Online (Sandbox Code Playgroud)
和
@Entity
public class Price {
@Id
@GeneratedValue(strategy=GenerationType.AUTO)
Long Id;
@ManyToOne
@JoinColumn(name="outletVareityId")
private OutletProductVariety outletVariety;
private Double price;
}
Run Code Online (Sandbox Code Playgroud)
如何获得价格列表而不是 PersistentBag?
看看 Hibernate PersistentBag
可以多次包含相同元素的无序、无键集合。奇怪的是,Java 集合 API 没有 Bag。大多数开发人员似乎都使用 List 来表示包语义,因此 Hibernate 遵循这种做法。
public class PersistentBag extends AbstractPersistentCollection implements List
protected List bag;
Run Code Online (Sandbox Code Playgroud)
它实现java.util.List;所以它基本上是一个List并在内部包装你的 List
这只是表示您的列表的 Hibernates 方式。
| 归档时间: |
|
| 查看次数: |
4786 次 |
| 最近记录: |