当前位置: 首页 > 面试题库 >

Hibernate / JPA中注释字段或getter方法之间的性能差异

黄查猛
2023-03-14
问题内容

我很好奇是否有人在使用私有字段而不是公共获取方法注释实体之间的性能差异方面有任何困难的数字。我听说人们说字段变慢了,因为它们被称为“通过反射”,但是getter方法也是,不是吗?Hibernate需要它试图读它,我可以看到有一些前场的无障碍设置为true
轻微的
开销。但是,不是在Session范围内的Class级别上执行此操作,还是在读取Configuration并构建SessionFactory时仅执行一次?

只是好奇这是一个神话还是真的有道理?我个人发现对字段进行注释更具可读性。


问题答案:

将5000条记录加载到一个简单的3列表中。将两个类映射到该表,一个类使用带注释的私有字段,另一个使用带注释的公共获取方法。运行Spring的HibernateTemplate.loadAll(),然后运行HibernateTemplate.clear()进行30次,以清除会话缓存。结果以毫秒为单位…

方法总计:6510,平均:217

字段总数:6586,平均:219

在为每个类添加更多属性之后,我可能应该再刺一眼,但现在这种差异在统计上似乎并不明显。



 类似资料:
  • 问题内容: 我很好奇是否有人在使用私有字段而不是公共获取方法注释实体之间的性能差异方面有任何困难的数字。我听说人们说字段变慢了,因为它们被称为“通过反射”,但是getter方法也是,不是吗?Hibernate需要它试图读它,我可以看到有一些前场的无障碍设置为true 轻微的 开销。但是,这不是在Session范围内的类级别上完成,还是在读取Configuration并构建SessionFactor

  • 问题内容: 我有一个关于Hibernate使用的简单问题。我通过注释类的字段以及注释相应bean的get方法,以两种方式之一不断看到人们使用JPA注释。 我的问题如下:使用JPA注释(例如@Id),注释字段和bean方法之间是否有区别? 例: - - - - - -要么 - - - - - - 问题答案: 是的,我相信您想搜索现场访问与财产访问: 休眠注释-字段访问或属性访问哪个更好? Sprin

  • 问题内容: 我有一个关于Hibernate使用的简单问题。我通过注释类的字段以及注释相应bean的get方法,以两种方式之一不断看到人们使用JPA注释。 我的问题如下:使用JPA注释,例如@Id,注释字段和bean方法之间是否有区别。 例: - - - - - -要么 - - - - - - 问题答案: Spring首选项是字段访问。这就是我所遵循的。

  • 问题: 1) 和之间的差异? 我已经读到,这两种方法都消除了将代码连接到XML中的必要性,但没有得到它们之间的区别。 2) 、和之间有什么区别? -何时使用哪一种? -每种方法的优缺点是什么?

  • 我正在使用Lombok注释,但我希望一些字段是可选的,并默认为,以避免NPE。有没有一个简单的方法可以做到这一点?我什么也找不到。 或者,一种自定义的方法,用于在变量为时返回默认值。

  • 问题内容: 我继承了在getter / setter上具有@JsonProperty批注的某些位代码。目的是当使用Jackson库序列化对象时,字段具有该特定名称。 当前代码: 现在,对于另一个工具,我还需要使用JsonProperty对该字段进行注释。因此,这将是我更改的代码: 是否有人在字段和获取器/设置器上都使用了相同的注释?我在网上四处张望,却什么也没看见。 我已经编译并运行了代码,但是我