为什么我不能使用 FetchType.EAGER 在同一实体 class 上使用两个列表
Why can't I use two lists on the same entity class using FetchType.EAGER
我正在实现一个实体 class,它具有 2 个一对多关系,但我不能将 fetch = FetchType.EAGER
用于两个列表。
我应该对两者都使用 FetchType.LAZY
。
是否有同时使用 EAGER 的解决方案?
@OneToMany(mappedBy="fournisseur",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Carburant_entree> carburant_entrees;
@OneToMany(mappedBy="user",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Users> theusers;
是的。可以通过注释与
的关系来实现
@LazyCollection(LazyCollectionOption.FALSE)
在你的情况下应该是。
@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(mappedBy="fournisseur",cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Carburant_entree> carburant_entrees;
@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(mappedBy="user",cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Users> theusers;
只需使用 Set
代替 List
@OneToMany(mappedBy="fournisseur",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private Set<CarburantEntree> carburantEntrees;
@OneToMany(mappedBy="user",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private Set<Users> users;
请遵循 Java 命名约定。
我正在实现一个实体 class,它具有 2 个一对多关系,但我不能将 fetch = FetchType.EAGER
用于两个列表。
我应该对两者都使用 FetchType.LAZY
。
是否有同时使用 EAGER 的解决方案?
@OneToMany(mappedBy="fournisseur",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Carburant_entree> carburant_entrees;
@OneToMany(mappedBy="user",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Users> theusers;
是的。可以通过注释与
的关系来实现 @LazyCollection(LazyCollectionOption.FALSE)
在你的情况下应该是。
@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(mappedBy="fournisseur",cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Carburant_entree> carburant_entrees;
@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(mappedBy="user",cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private List<Users> theusers;
只需使用 Set
代替 List
@OneToMany(mappedBy="fournisseur",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private Set<CarburantEntree> carburantEntrees;
@OneToMany(mappedBy="user",fetch = FetchType.EAGER,cascade={ CascadeType.PERSIST,CascadeType.MERGE,CascadeType.REMOVE} )
private Set<Users> users;
请遵循 Java 命名约定。