我有一个Food
对象,与其他Food
对象(通过字段ingredients
)有一对多的关系,大多数时候我想用父ingredients
对象加载Food
。然而,当我加载一个Food
对象,它的ingredients
负载,然后他们的ingredients
负载,然后他们的ingredients
负载,令人作呕。有没有办法防止Hibernate递归加载ingredients
而只是加载Food
对象的基本信息(如id
和type
)?
餐饮
@Entity
@Table(name="Foods")
public class Food {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
@Column(name="Id")
private int id;
@Column(name="Name")
private String name;
@Column(name="Description")
private String description;
@OneToMany(mappedBy="food")
private List<Ingredient> ingredients;
.
.
.
成分
@Entity
@Table(name="Ingredients")
public class Ingredient implements Serializable {
@Id
@ManyToOne
@JoinColumn(name="FoodId")
private Food food;
@Id
@ManyToOne
@JoinColumn(name="IngredientId")
private Food ingredient;
@Column(name="Amount")
private int amount;
.
.
.
可以完成收集的加载
food.getIngredients().size()
或food.getIngredients().isEmpty()
或其他方法时会发生这种情况。我假设一些代码正在访问集合,这是导致它。