问题内容: 我正在使用Hibernate EntityManager,并且在我的Hibernate查询中遇到了奇怪的变慢。看一下这段代码: 这在我的机器上运行大约750毫秒。考虑到它只是选择一个恒定的整数,但并不能很快,但是可以接受。在启动查询之前,在EntityManager会话中加载任何实体的时刻就出现了我的问题: em.find()速度很快,但是运行时1000个查询增加了十倍多,达到约10秒
问题内容: 将项目从Ibatis转换为JPA 2.1时,我面临一个问题,即我必须为一组对象加载完整的对象图,而不会由于性能原因而选择N + 1个选择或使用笛卡尔积。 用户查询将产生List ,并且我需要确保在返回任务时,它们具有填充的所有属性,包括 parent , children , dependencies 和 properties 。首先让我解释所涉及的两个实体对象。 任务是层次结构的一部
问题内容: 我有一个Hibernate对象,其属性都被延迟加载。这些属性大多数是其他Hibernate对象或PersistentSets。 现在,我想强制Hibernate只渴望一次加载这些属性。 当然,我可以通过“接触”这些属性中的每一个,但是也许还有另一种方法可以实现我的目标。 问题答案: 该文档将其如下所示: 您可以在HQL中强制执行通常急切的属性获取。 参考文献 Hibernate Cor
问题内容: 我正在使用hibernate创建一个jar。我曾经遇到过一个情况我需要更改设置(URL)的时候,所以我想加载这样 但是然后运行该项目,我得到这个异常 如何从课程路径以外的其他位置加载? 问题答案: 上课有方法 请尝试以下操作,它应该可以正常工作:) 不同之处在于您使用了一种方法,该方法期望类路径中的资源,但是所期望的却在其中,因此您可以传递它。
问题内容: 考虑这种情况: 我已经通过hibernate加载了一个父实体 父级包含子级的集合,这些子项很大且很懒 在此初始加载后,hibernate会话在用户查看父数据时关闭 用户可以选择查看惰性儿童集合的内容 我现在希望加载该收藏集 加载此收藏集的方式/最佳方式是什么? 假设无法进行会话查看,因为只有在用户查看了“父级”并决定查看“子级”之后,才会进行“子级”集合的获取。 这是一项将由基于Web
问题内容: 在启动时本地运行的应用程序(Spring,JPA Hibernate,Sybase 12,Webapp)在基于VisualVM的256MB堆空间中消耗40MB。当我触发返回70,000多行(文本数据无斑点)的搜索时,堆空间图的最大内存为256MB,并耗尽了内存。 我已经通过使用setMaxResults(limit)解决了这个问题。 但是,当我查询相同的数据,将其复制粘贴到文本文件并保
问题内容: 我已经在两周前创建了一个程序(+ ),现在它在加载JDBC驱动程序时遇到了问题(到目前为止还没有发生)。因此,我的文件如下所示: 看来这个文件很清楚。但是,在我尝试创建bean 时无法加载JDBC驱动程序的主要问题是什么。 其它文件: 数据源文件 属性文件 错误: 任何人? 提前致谢 问题答案: 摆脱财产的尽头 Spring使用反射和该属性的值通过完全限定的类名加载实例。没有所谓的班级
问题内容: 关于谷歌搜索,可以找到很多东西,但是我还没有找到解决这个问题的可行方法。 基本上,我想按需加载的特定类上有一个很大的CLOB。天真的方法是: 但是,这不起作用,显然是由于我使用的是oracle驱动程序,即Lob对象没有被视为简单的句柄,而是始终被加载。如此一来,我就被我的尝试所吸引。有一种解决方案使用特殊的工具来进行惰性属性加载,但是由于Hibernate文档似乎表明他们对使它正常工作
问题内容: 我使用Hibernate 5.2.5(如果重要的话,也可以使用kotlin和spring 4.3.5),并且我希望延迟加载类的某些字段。但是问题是所有字段都立即加载,我没有任何特殊的Hibernate设置,也没有使用Hibernate.initialize()。 这就是我的查询方式 TaskRepoImpl: TaskService: 并输出: 请告知我的代码出了什么问题以及如何使Hi
问题内容: 我刚刚使用Hibernate作为JPA2.0提供程序启动了一个Spring Roo应用程序。我使用的jar如下: hibernate-core-3.6.4.Final.jar hibernate-commons-annotations-3.2.0.jar hibernate-entitymanager-3.6.4.Final.jar hibernate-jpa-2.0-api-1.0.
问题内容: 我有一个像这样的领域类: 并且我想启用延迟加载到“内容”列的方法,因为应用程序无需访问此列即可执行某些操作。 但是lazy:true选项不起作用…任何想法或解决方法? 问题答案: 您所说的应用程序是什么意思?您想建立什么? 仅供参考。渴望和延迟加载通常与关系有关,默认情况下,grails启用了延迟加载。例如” 在您的代码中没有关系。content是Document的属性,因此延迟加载在
问题内容: 好吧,我的疑问很简单:为了获得最佳性能,建议在我不需要使用的属性中始终使用惰性初始化(这很明显)。因此,请想象以下类: 在我的主类中,我将未初始化的具有“ type”属性的人称为“波纹管”: 因此,我从数据库中获得了一个简单的Person对象,并在控制台上打印了person类型。在这一刻,代理CGLIB可以发挥作用,并且可以发挥作用,一切正常。 但是,我在这里提出我的问题: 1-当我请
问题内容: 我有一些实体具有一对一的懒惰关系(为简洁起见,省略了逻辑): 在某些(非常罕见)的情况下,我想热切地加载A及其所有关联的实例。这样做的原因是我想对该A实例及其整个子实例进行一些修改,然后根据用户输入保存或丢弃它们。 如果要按需加载内容,则必须根据用户请求将实体重新附加到新的会话,但是这些实体正在被修改,并且修改不应持久化。 所以我写这样的东西: 当我尝试访问内容时,出现以下异常: 如果
问题内容: 我遇到了一个问题,JPA试图在我不想要的时候延迟加载我的数据。从本质上讲,正在发生的事情是我正在使用Service检索一些数据,并且当我将这些数据解析为JSON时,JSON库正在触发hibernate模式以尝试懒惰地加载数据。有什么办法可以阻止这种情况?我在下面给出一个例子。 是否可以将JPA /hibernate设置为不尝试并延迟加载数据? 更新: 我意识到您可以使用FetchTyp
问题内容: 我的多对一映射存在性能问题。当我在日志文件中调试SQL查询时,可以进行主体查询,但是在我有其他表示多对一对象映射的查询之后。 Entity.hbm.xml: Object1.hbm.xml: Object2.hbm.xml: 查询HBM: 在pom.xml中 问题答案: 您是否尝试过像这样的FetchMode.SELECT?