Gil*_*dré 16 java jsf hibernate lazy-loading
我对"懒惰加载"有一个疑问.使用@LazyCollection(LazyCollectionOption.FALSE)和有@OneToMany(fetch = FetchType.EAGER)什么区别 ?
在我的应用程序中,我使用两个列表,但如果我使用这种格式:
@OneToMany(mappedBy = "consultaSQL", orphanRemoval = true, fetch = FetchType.EAGER,
cascade = CascadeType.ALL)
private List<ParametroSQL> parametros;
@OneToMany(mappedBy = "consulta", orphanRemoval = true, fetch = FetchType.EAGER,
cascade = CascadeType.ALL)
private List<Contato> contatos;
Run Code Online (Sandbox Code Playgroud)
我有这个错误:
引起:org.hibernate.loader.MultipleBagFetchException:无法同时获取多个包
我知道这是因为Hibernate不允许我同时加载两个列表.但如果我使用这种格式:
@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(mappedBy = "consultaSQL", orphanRemoval = true,
cascade = CascadeType.ALL)
private List<ParametroSQL> parametros;
@LazyCollection(LazyCollectionOption.FALSE)
@OneToMany(mappedBy = "consulta", orphanRemoval = true,
cascade = CascadeType.ALL)
private List<Contato> contatos;
Run Code Online (Sandbox Code Playgroud)
它完美地运作.
对不起我的英文谢谢
| 归档时间: |
|
| 查看次数: |
14177 次 |
| 最近记录: |