Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
hibernate:LazyInitializationException使用netbeans和JSF_Hibernate_Jsf_Netbeans_Lazy Loading - Fatal编程技术网

hibernate:LazyInitializationException使用netbeans和JSF

hibernate:LazyInitializationException使用netbeans和JSF,hibernate,jsf,netbeans,lazy-loading,Hibernate,Jsf,Netbeans,Lazy Loading,我正在使用netbeans 7.1、glassfish 3.1.1和hibernate 4.01 我正在使用netbeans生成的JSF文件 -Facade.java -Controller.java 还有我自己的实体豆 在我的基本票证实体中,我映射了以下内容 @OneToMany(mappedBy=“baseTicket”,cascade=javax.persistence.CascadeType.ALL) @Fetch(值=FetchMode.SUBSELECT) java.util.Lis

我正在使用netbeans 7.1、glassfish 3.1.1和hibernate 4.01 我正在使用netbeans生成的JSF文件 -Facade.java -Controller.java 还有我自己的实体豆

在我的基本票证实体中,我映射了以下内容

@OneToMany(mappedBy=“baseTicket”,cascade=javax.persistence.CascadeType.ALL)
@Fetch(值=FetchMode.SUBSELECT)
java.util.List自定义属性;
如果我添加
fetch=EAGER
注释,我就能够从JSF网页访问customAttributes。然而,如果我把它作为延迟加载,我会得到

hibernate: LazyInitializationException
我在网上搜索并尝试了许多建议,但我无法让它发挥作用。 我曾尝试创建实体管理器,但似乎无法成功创建em


最好的解决方案是什么?

如果您不想急切地加载它,您可以编写一个命名查询来获取DAO层中的列表

注释样式:

@NamedQueries({
    @NamedQuery(
    name = "findCustomAttributes",
    query = "from CustomAttribute ca where ca.ticket = :ticketId"
    )
})
这里我假设CustomAttribute中有到Ticket(
@ManyToOne
)实体的链接

在代码中,您可以按如下方式获取结果:

Query query=em.createNamedQuery("findCustomAttributes");
query.setParameter("ticketId", 1);
List CustomAttributesList=query.getResultList(); 
您可以根据需要使用此列表,唯一的问题是您需要知道当前的票证id

更多信息,您可以从


  • 感谢您的回复-问题是我似乎无法在实体本身中获得对实体管理器的有效引用。@anthonys您不需要在dao bean的实体中使用实体管理器。参考本文,了解分层体系结构的一些基本知识,也可以参考本文,了解更多知识。只需在代码中检查他们现在是如何获取实体的,并适当地修复它,它必须在DAO层中。