Java 在遗留世界中需要Hibernate
我有几个关于hibernate的问题 在stackoverflow中的许多问题中,有几个人说hibernate不是非常复杂的数据库的好选择。如果我们有非常复杂的数据库,那么hibernate不是正确的选择。它更适合绿地项目,但不适合复杂的遗留数据库Java 在遗留世界中需要Hibernate,java,hibernate,orm,Java,Hibernate,Orm,我有几个关于hibernate的问题 在stackoverflow中的许多问题中,有几个人说hibernate不是非常复杂的数据库的好选择。如果我们有非常复杂的数据库,那么hibernate不是正确的选择。它更适合绿地项目,但不适合复杂的遗留数据库 这是真的吗? hibernate还生成查询。 每个项目经理都希望优化查询(hibernate无法生成比sql specialist更优化的查询!)。所以对于大型项目来说,雇佣sql专家并不是问题。sql专家将优化查询(使用解释sql、使用连接…) 我
hibernate还生成查询。 每个项目经理都希望优化查询(hibernate无法生成比sql specialist更优化的查询!)。所以对于大型项目来说,雇佣sql专家并不是问题。sql专家将优化查询(使用解释sql、使用连接…)
(你会说你可以写HQL,但正如我在很多帖子中看到的那样,HQL并没有sql强大,很多程序员都会头疼,需要几个小时的调整)(你喜欢你身体中的所有器官都能理想地工作,不是吗?) 另外,二级缓存对hibernate有很大帮助,因为hibernate知道生成大量查询,而不是复杂的联接
因此,在这种情况下,二级缓存没有多大帮助
(当你买一辆车时,你感兴趣的是每公里1千克油的汽车经济性,而不是制造商生产的汽车有多短、多容易!)。因此,作为一个软件消费者,我对您的生产力不感兴趣,只对软件的速度感兴趣。当然,价格也是相关的,但如果我们谈论价格,有更复杂的数学 当我们真的无法预测系统的某个部分时,我们能称之为工程吗?
(如果电气工程师不能预测电流,他真的能成为工程师吗) 请分享你的意见 问候
是否从anycol=@anyvalue
优化的任何表中选择*?我不知道。谁也没有。因为只有一个真正的优化标准——这就是此类查询的性能。使用hibernate或其他ORM可以节省大量时间,然后利用这段时间查找实际较慢的查询。据我所知,Hibernate有一些使用优化查询的方法ORM有一个巨大的优势,它将所有数据访问逻辑集中在可管理的形式中,并将其放在特定的位置。此外,它还支持一些在您自己的数据访问库中实现起来不那么简单和直接的功能,如事务管理(包括嵌套事务等)、标识映射(一行一个对象)、复杂层次结构持久化(如果使用对象和对象层次结构)、乐观锁定等,ORM可以极大地帮助您。您的问题可能太广泛了。我可以告诉你我的经历 我参与了一个采用.NET版本(NHibernate)的项目。从一个表加载一行的简单实现比原始ADO查询慢了近两个数量级。经过多次优化后,我相信他们只把速度降低了一个数量级 在java中,启动时间可能不是一个重要因素。web服务器在服务器启动时加载java和hibernate,而不是在用户等待桌面应用程序启动时加载 就我个人而言,我真的不喜欢它。它隐藏了有效管理数据所必需的实现细节。我还没有发现任何现实世界中的应用程序可以通过隐藏数据库细节的数据层的普通实现来执行。 但这对我来说可能是酸葡萄,因为我被迫使用它,并被指责为
不能给猪贴上足够的口红。
这对绿色田园工程有好处,但也有好处。