gpt4 book ai didi

java - hibernate - 如果它的许多选项不能在生产中使用,为什么要使用 hibernate

转载 作者:行者123 更新时间:2023-12-01 11:42:18 25 4
gpt4 key购买 nike

我为所有表编写了类,并使用 hibernate 完成了所有操作,例如应用约束、给出列名称、使用 @ManyToOne 和其他映射注释的所有映射等。

但是我的前辈说,我不应该这样做,它毫无用处,而且所有这些映射都会创建繁重的查询,并且我们应该为数据库操作保留一个单独的 DBScript。

问题:1)我不明白如果你必须只使用SQL来做所有事情,那么hibernate的所有功能有什么用。我什至不应该使用 hbm2ddl.auto 选项作为更新。

2) 如何进行映射,以便 hibernate 创建最佳且最优化的查询。 (如何做到这一点背后的基本思想。)或者我应该不使用映射而只将外键变量类型保留为其他类的主键类型。

最佳答案

问题的答案是在性能、开发成本和速度、可靠性以及许多其他因素之间取得平衡。例如,如果您正在开发使用直接 sql 查询映射而不是 hibernate 的应用程序,您将收到快速的应用程序,其可靠性(主要)基于 jUnit 测试,代码完整性(一致性)较差,并且当某些实体出现问题时,您将工作繁重被改变。另一方面,当您使用 hibernate 时,您会获得高速、可靠的开发以及良好的代码完整性(仅随着 jUnit 测试而增加),但其中的成本是对数据库的非最佳查询,有时您会认为某些数据提取使用 sql 会比 jpa\hibernate\hql 更简单。我看到了混合变体,当数据提取时使用 native sql,但对于数据持久化则使用 hibernate。经过几年在这些问题和因素中的权衡,每个新项目我们都从架构上的 hibernate\jpa 开始:成本是合理的!

关于java - hibernate - 如果它的许多选项不能在生产中使用,为什么要使用 hibernate,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29430607/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com