当前位置: 首页 > 知识库问答 >
问题:

@Basic字段上的Hibernate实体图形不能按预期工作

祁增
2023-03-14

Hibernate似乎忽略了javax.persistence.fetchgraph中指定的任何@Basic字段,并始终加载整个html" target="_blank">对象,直到我们显式地将该字段定义为@Basic(fecth=LAZY)。然而,JPA 2.1标准规定:

要指定提取图,请在执行EntityManager.find或查询操作时设置javax.persistence.fetchgraph属性。获取图仅由EntityGraph实例中显式指定的字段组成,并忽略默认的实体图设置。

问题是,我不希望默认情况下将所有字段设置为LAZY加载,因为在某些特定情况下,在用户界面的大量数据提取中,我只需要部分对象。当我可以动态指定加载什么时,这种情况有什么解决办法吗?

正如预期的那样,Eclipse Link可以与pechgraph一起工作。

P. S.冬眠5.3.1。最后,用hibernate-gradle-plugin进行的字节码增强:5.3.1。最终:

hibernate {
    enhance {
        enableLazyInitialization= true
        enableDirtyTracking = true
        enableAssociationManagement = true
        enableExtendedEnhancement = false
    }
}

共有1个答案

权承
2023-03-14

这似乎是冬眠的错误:https://hibernate.atlassian.net/browse/HHH-8776

 类似资料:
  • 我试着将一个双精度值四舍五入到小数点后两位: var x=0.68999995 var roundX=round(x*100.0)/100.0 println(roundX)//打印0.69 如果打印值是正确的...但var值不是我期望的,继续0.68999999999999995 我需要双值...不像其他StackOverflow答案那样字符串:(

  • 问题内容: 我已经为此奋斗了2天,尽我所能用Google搜索和stackoverflow,但是我无法解决。 我正在构建一个简单的节点应用程序(+ Express + Mongoose),其登录页面重定向到主页。这是我的服务器JS代码: 登录页面向发出POST请求,在此验证发布的数据。这可行。我可以在Node控制台中看到“我们在这里:’/ credentials’”。 然后是问题:res.redir

  • 完整的代码示例可以在以下位置查看https://stevia-fallev.codio.io/question.html 谢谢。吉娜

  • 问题内容: 当使用带点名的名称时,例如:,返回的模块不是,返回的内容几乎都是空的!这里发生了什么? 问题答案: 从python文档上: … 当name变量的形式为package.module时,通常返回顶级包(名称直到第一个点),而不是按名称命名的模块。但是,当给出非空的fromlist参数时,将返回按名称命名的模块。这样做是为了与为不同种类的import语句生成的字节码兼容。使用“ import

  • 问题内容: 根据JavaDoc for ,该函数在比较期间不考虑比例。 现在,我有一个测试用例,看起来像这样: 我希望函数返回的值是10,小数位数为10。打印该值可显示预期的结果。但是该功能似乎并未按照我认为的方式工作。 这里发生了什么? 问题答案: 并 没有 代表0.7。 它代表0.69999999999999999999555910790149937383830547332763671875(

  • 问题内容: 我是否错过了明显痛苦的事情?还是世界上没有人真正使用java.util.BitSet? 以下测试失败: 我真的不清楚,为什么我没有得到长度为2的BitSet和值为10的结果。我偷看了java.util.BitSet的源代码,并且在随意检查时似乎无法对两者进行足够的区分。设置为false且从未设置为任何值… (请注意,在构造函数中显式设置BitSet的大小无效,例如: 问题答案: 人们确