一尘不染

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

hibernate

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

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


阅读 208

收藏
2020-06-20

共1个答案

一尘不染

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

方法总计:6510,平均:217

字段总数:6586,平均:219

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

2020-06-20