使用 Hibernate Criteria API 性能不佳

2024-01-12

我有一个使用 Hibernate 与 MsSQL 2005 服务器通信的 Java 应用程序,驱动程序是net.sourceforge.jtds 1.2.4.

一切正常,但性能不佳horrible,我怀疑索引未用于传递给它的查询,因为响应时间与表中的条目数成正比。


我编写了一个小型测试应用程序,它使用相同的驱动程序(jtds)但不使用 Hibernate,并且我已经能够重现糟糕的性能(或者我相信是这样)。当我使用准备好的语句时,我看到与使用 Hibernate 相同的较差性能(响应时间约为 1 秒),但当我不使用准备好的语句时,性能非常好(约 10 毫秒)。

我能够使用以下方法获得同样好的性能Hibernate executeSql方法而不是Criteria接口,但我想避免这种情况,因为我希望代码保持模块化,并且结果也不会转换为我的实体类。

有没有某种方法可以让 Hibernate 获得良好的性能,同时仍然使用与后端无关的方式进行查询并将结果转换为实体类对象?


您是否尝试过微软的专有驱动程序?你可以下载它。并显示了支持的配置的概述here http://blogs.msdn.com/b/jdbcteam/archive/2010/07/02/support-matrix-for-microsoft-sql-server-jdbc-driver.aspx。它可能会给你带来更好的性能。

SO 的相关帖子也可能对您有帮助:如何为sql server配置hibernate配置文件 https://stackoverflow.com/questions/3585544/how-to-configure-hibernate-config-file-for-sql-server

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Hibernate Criteria API 性能不佳 的相关文章

随机推荐

  • html5语义元素和旧浏览器

    我即将为网页设计一个新的布局 并想利用这一刻来实现一些 html5 标记 我首先想到的是语义元素 导航 标题 文章 检查后http caniuse com feat html5 语义 http caniuse com feat html5s
  • Terraform 错误“您的查询未返回结果”

    我有以下 bom asg tf 文件 data aws ami bom ami most recent true filter name tag ami name values var environment bom ami owners
  • 使用 Conda 和 Spyder 安装 OpenCV

    我在使用 Conda 安装 OpenCV 时遇到问题 我尝试运行许多命令 但没有一个起作用 例如 当我跑步时conda install c anaconda opencv 按照https anaconda org anaconda open
  • 如何将 MongoDB - 正在运行的 Docker 容器的数据保存在新映像中?

    我有一个正在运行的 Mongodb 容器 名为 xyz 来自官方 Mongo Image 我创建了容器docker run d p 21707 21707 mongo在此容器中 我创建了 2 个包含示例数据的集合 现在我想在 dockerh
  • Mule http:outbound-endpoint + multipart/form-data

    我正在尝试调用一个期望接收多部分 表单数据的休息服务 但我遇到了一些问题 经过一段时间的搜索 我了解到我必须将有效负载移动到出站附件并将有效负载设置为空
  • 假设 DayOfWeek 的数值是否安全?

    我将星期几存储在数据库中 其中星期日 1 星期一 2 等 在数据库查询中 我需要将日期转换为System DayOfWeek 根据MSDN http msdn microsoft com en us library system dayof
  • 使用 libgdx 进行触摸滚动

    我正在尝试在 libgdx 游戏中实现触摸滚动 我有一张宽图像 是房间的全景图 我希望能够滚动图像 以便用户可以看到房间周围的情况 我拥有它 这样我就可以滚动一定的距离 但是当注册新的 touchDragged 事件时 图像会移回到原始位置
  • ASP.NET MVC 资源文件的最佳实践

    以下资源文件的最佳用途是什么 属性 资源 Phil http haacked com archive 2009 12 07 localizing aspnetmvc validation aspx在 DataAnnotation 中使用此资
  • MIUM 8 红米手机后台服务被杀死如何重启

    我在用sticky service用于后台操作 即使应用程序处于运行状态 它在所有手机中也能正常工作closed通过从堆栈中滑动 然后服务重新启动 但在RedMi Note 3w当应用程序通过从堆栈滑动关闭时 service is not
  • 代理背后的 Google Drive API Java 客户端

    我正在尝试使用 Drive API 编写一个 java 客户端驱动器 API v2 https developers google com resources api libraries documentation drive v2 jav
  • 将 WPF 样式触发器绑定到自定义依赖项属性

    我在这里找到了许多类似的线程 但似乎没有一个能解决我的具体问题 我需要在某些条件下突出显示文本框的背景 我创建了一个突出显示属性 并尝试使用样式中的触发器来设置它 但它实际上并没有突出显示文本 这是我的风格 简化了
  • Javascript setTimeout 和重定向 - IE 冻结

    我的页面上有一个脚本用于处理会话超时 当会话到期时在客户端重定向用户 完整的代码有点复杂 但我已经将代码精简到导致问题的原因
  • 更改提交者作者姓名

    我需要 SOS 帮助 我向 bitbucket 提交了一个项目并以我的名字提交 但我需要更改作者姓名 和电子邮件地址 最简单的方法是什么 您可以简单地修改最后一次提交并推送 强制 git commit amend author Your n
  • Nodejs 从 http 请求块中读取 JSON 数据

    我正在使用 Jira API 来获取单票数据 我已成功向服务器设置了 http GET 请求 并且可以将数据显示到控制台 但理想情况下我需要从 JSON 格式的数据中获取某些属性 当我尝试读取属性时 我只是得到了未定义的信息 var req
  • 使用 Mercurial 维护 CMS 和网站

    我对 Mercurial 还很陌生 在阅读了一些教程后 我仍然怀疑什么是完成我打算用它做的事情的最佳方法 我的目标是维护我正在开发的 CMS 添加新功能 修复错误等 并能够轻松地将这些更新分发到我使用所述 CMS 制作的网站 我首先为 CM
  • 如何在vuepress中使用jsx?

    Config docs vuepress config js module exports chainWebpack config isServer gt config module rule js Find the rule use ba
  • 在 Azure Cosmos DB 中使用 REST 进行 CRUD 操作

    我正在尝试使用 REST 在 Azure Cosmos DB 上执行 CRUD 操作 根据链接 https learn microsoft com en us rest api documentdb create a document ht
  • MVC 输入日期时间

    如果我在 MVC 中使用 EditorFor 我的 DateTime 字段会显示未格式化的日期时间 如果我使用旧式 html 我的字段不会收到错误类 div class editor field div
  • 暂停 Elastic Beanstalk 应用程序环境?

    我想在升级数据库时关闭应用程序服务器 有没有办法在不终止 破坏环境的情况下暂停或停止应用程序服务器 我是否可以直接访问 Elastic Beanstalk 负载均衡器并暂时进行更改 而不会对 Elastic Beanstalk 配置或其管理
  • 使用 Hibernate Criteria API 性能不佳

    我有一个使用 Hibernate 与 MsSQL 2005 服务器通信的 Java 应用程序 驱动程序是net sourceforge jtds 1 2 4 一切正常 但性能不佳horrible 我怀疑索引未用于传递给它的查询 因为响应时间