【问题标题】:Pros and Cons of Hibernate休眠的优点和缺点
【发布时间】:2014-02-20 11:34:17
【问题描述】:

在我的项目中,我即将使用 Hibernate,但造成混淆的是:

我在某处读到的:

Hibernate 有自己的查询语言,即独立于数据库的 Hibernate 查询语言 因此,如果我们更改数据库,那么我们的应用程序也将工作,因为 HQL 是独立于数据库的 HQL 包含独立于数据库的命令

是不是说我们在java中使用Hibernate的时候不用写存储过程和视图?

【问题讨论】:

    标签: sql hibernate


    【解决方案1】:

    简答:您不必编写任何查询和/或存储过程。 (您也可以在应用程序启动期间休眠告诉您创建/更新所有必需的表。)

    长答案:无需手动定义查询即可使用 Hibernate。 (使用 EntityManager,您可以简单地告诉 hibernate 从数据库中获取 user.class 的所有内容。)但是它也支持 HQL 以及 SQL 查询。

    当您稍后切换到另一个数据库时,SQL 查询当然会停止工作。 HQL 将适用于每个数据库,因为 hibernate 能够将 HQL 查询转换为任何(受支持的)数据库语言。

    但请注意:在我看来如果您让 hibernate 完成所有工作,那么 Hibernate 会非常慢。 (当加载具有复杂关系的实体时,Hibernate 会触发大量单个选择查询)

    【讨论】:

    • 那么hibernate有什么好处
    • @user2983355 如果您不必关心数据库,您可以更快地开发应用程序。此外,using 定义的 java-entities 不需要任何关于数据库项和/或其关系的知识。您不必担心列名或通用数据库布局。
    猜你喜欢
    • 2011-01-08
    • 2011-09-10
    • 1970-01-01
    • 2010-09-20
    • 2011-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多