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

休眠:动态更新动态插入-性能影响

司空高义
2023-03-14
问题内容

http://www.mkyong.com/hibernate/hibernate/hibernate-dynamic-update-attribute-
example/
也提到了使用dynamic-update或dynamic-
insert有积极的作用,尽管通常只对性能有一点影响。

但是参考文档提到,这也会对性能产生负面影响,如下所述:http :
//docs.jboss.org/hibernate/core/3.3/reference/en/html/mapping.html#mapping-
declaration-
class:

尽管这些设置在某些情况下可以提高性能,但实际上在其他情况下却可以降低性能。

有人可以建议一些示例/场景提及相同的负面性能影响吗?


问题答案:

Hibernate为 每个 实体缓存实际的INSERT / SELECT / UPDATE
SQL字符串,其明显的好处是,当您要保留,查找或更新实体时,它不必计算SQL。

但是,当使用动态插入或动态更新时,Hibernate每次都必须生成相应的SQL字符串,因此,在Hibernate方面会降低性能。

换句话说,在数据库端和hibernate端的开销之间需要权衡。

我的观点是,对于具有胖blob列的表或具有大量列的表,动态插入和动态更新可能会很有趣。在其他情况下,我不相信动态插入或更新总是意味着提高性能(默认情况下我不使用它们)。但与往常一样,您应该对其进行衡量。

也可以看看

  • 回复:要求动态更新-SQL,以从Hibernate开发人员那里获得一些反馈


 类似资料:
  • 问题内容: 有没有办法使用Hibernate全局设置属性(因此它将是所有实体的默认设置)? 问题答案: 在NHibernate中是 我不知道hibernate中的确切语法。

  • 问题内容: 这是一个Hibnerate多态性问题和一个数据模型设计问题。他们交织在一起。过去我曾经使用过Hibernate,并且很喜欢它,但是有时候我发现很难想到除了琐碎的设计之外的任何事情。不能敲打hibernate;只是观察到ORM通常可能具有挑战性。 我认为这是一个Hibernate 101问题,但我不确定。我试图实现的目标甚至不可能。 我有一个抽象类Fruit,它将被分为Apple和Ora

  • 问题内容: 我试图建立一个查询,其中基于用户选择从客户端发送一些字段。我计划根据用户的选择创建一个动态查询。尽管我可以简单地用一些Java代码来完成它,并且让hibernate为我激发该查询并返回结果。 我的问题是,我可以使用内置hibernate机制来做同样的事情。例如我会得到一张地图说 唯一的区别是地图可以包含的值的数量,并基于此我想创建一个查询 提前致谢 问题答案: 通过使用条件,这应该不成

  • 如果Springbean配置发生变化,有没有办法动态更新Springbean? 例如,假设我有一个具有布尔属性的Springbean,当应用程序启动时,Springbean的值为。 因此spring创建了属性设置为true的bean。 是否有一种方法可以使我在应用程序运行时将属性更改为,该属性将被更新,例如更改为?

  • 问题内容: 我有问题,也许有人认为它很愚蠢。Hibernate快吗?我在系统中使用它,对数据库的查询非常多。并且性能变得警觉。和其他问题脱离当前背景。有什么更好的选择- 许多简单查询(使用单个表)还是较少一些查询的查询? 先进的坦克的Artem 问题答案: 首先,您可以做很多事情来加快Hibernate的速度。查阅这些高性能hibernate技巧文章,以全面了解可以采取哪些措施来加快数据访问层的速

  • 问题内容: 我有一个dao,它基本上使用hibernate将记录插入到一​​个表中,该dao用标记为注释,并且我有一个服务,该服务会生成其他一些东西,然后调用我的dao。我的服务也标注了使用。 我叫服务循环。我在dao上的插入内容是否可以批量或一个接一个地工作?我如何确定它们可以批量工作?hibernateTransaction Manager是否管理批处理插入? 我正在使用Oracle DB。