栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

dynamic

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

dynamic

因此,经过将近两个月的等待,我终于能够在各种来源的帮助下得出以下建议作为对我自己问题的回答:

1.)使用时

dynamic-update
,Hibernate每次都必须生成相应的SQL字符串,因此Hibernate方面会降低性能。换句话说,在数据库端和hibernate端的开销之间需要权衡。

2.)Hibernate为每个实体缓存实际的SELECT,INSERT和UPDATE
SQL字符串。这样就不必在每次要查找,保留或更新实体时都重新创建这些语句。但是,使用时

dynamic-update
,Hibernate必须每次都生成相应的SQL字符串。这会导致hibernate方面的性能损失。

3.)应用于非常小的和简单的表时很有用,因为使用此注释可以显着提高性能。在更现实的情况下,在使用远程数据库的更大表上,性能提升可能会更加明显。当然,您从中获得的里程数会有所不同,大多数列都需要更新。

4.)

@DynamicUpdate annotation/ dynamic-update=true
用于指定每次修改实体时都应生成UPDATE
SQL语句。默认情况下,Hibernate使用缓存的UPDATE语句来设置所有表列。当使用注释对实体进行
@DynamicUpdate
注释时,PreparedStatement将仅包括其值已更改的列。

总体可以总结为:

  1. 运行时SQL生成开销。
  2. 不再使用PreparedStatement(缓存)。
  3. 性能开销。

积分 : _Hibernate的ORM 5.2.7.Final用户指南, http://memorynotfound.com/hibernate-
dynamic-update-attriburte-example/

PS:

dynamic-insert=true/ @DynamicInsert
注解也适用



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/367755.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号