问题标签 [hibernate-session]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
8 回答
99617 浏览

hibernate - 休眠:session.get 和 session.load 之间的区别

从 API 中,我可以看到它与代理有关。但是我找不到很多关于代理的信息,也不明白调用session.get和之间的区别session.load。有人可以解释或指导我到参考页面吗?

谢谢!!

0 投票
1 回答
1800 浏览

hibernate - Hibernate:ThreadLocalSessionContext:在调用 bind() 时已经绑定了会话

当我尝试通过以下方式使用 ThreadLocalSessionContext 时:

我对每一个 Struts Action 都这样做。我做错了什么,导致我收到以下错误吗?

我检查了所有包含 ThreadLocalSessionContext.bind 的文件,并确保这些会话已明确关闭。有没有办法监控会话何时绑定到会话工厂?

谢谢!!

0 投票
3 回答
6621 浏览

grails - Grails Quartz Job 升级后没有 Hibernate 会话,导致 LazyInitializationException

我已将 Grails 1.0.4 应用程序升级到 1.1.1。升级后,我在执行 Quartz 作业(使用 Quartz 插件 0.4.1)时反复出现异常。该插件用于通过服务使用 Simple 和 Cron Triggers 手动安排作业(解释代码如下):

我的 BatchJob 作业设置如下:

这是 Batch.groovy(域)的缩写定义:

但是,当schedulerService.schedule()使用现有的已保存批处理调用时,我收到以下异常:

我已经尝试了以下操作来解决这个问题,但没有一个奏效:

  • 我已经static fetchMode = [batchStatus: 'eager']在我的 Batch 域类中指定
  • static mapping = { columns { batchStatus lazy:false }}在我的 Batch 域类上使用过
  • batch.attach()在调用Batch.get()Job后尝试使用

我不能BatchJob.triggerNow()在这种情况下使用,因为这只是几个示例之一 - 其他示例仍由服务安排,但可能被安排为 cron 作业或其他方式。我应该提一下,我在升级 Grails 时也升级了 Quartz 插件;之前的 Quartz 版本是 0.4.1-SNAPSHOT(相对于升级版,只有 0.4.1)。

如何让 Hibernate 会话在这些手动触发的 Quartz 作业中正常工作?

我还将这个问题发送到 grails-user 邮件列表,至于像这样的更小众问题,该列表似乎引起了更多的响应。如果有人从那里出来,我会用答案更新这个问题。这是一个链接

0 投票
1 回答
762 浏览

grails - Grails 中的 Spring Webflow 保持大量休眠会话打开

我有一个在 Grails 1.1.2 上运行的 Internet 应用程序,它集成了 Spring WebFlow 机制。问题是有些机器人忽略了 robots.txt 并且经常进入流程。

因为流程的第二步需要一些人工智慧,所以机器人会在第一步之后留下开放的流程。这会导致大量开放流,从而导致大量废弃的开放休眠会话。

您知道 Grails+Spring WebFlow 中这种无人值守流(加上休眠会话)的一些常见清理机制吗?

谢谢,帕维尔

0 投票
4 回答
10456 浏览

grails - 如何将 Hibernate Session 绑定到 Grails 中的线程?

我正在 Grails 中编写一个多线程应用程序,其他线程需要访问 GORM/Hibernate。当他们尝试访问 GORM 时,我收到错误“org.hibernate.HibernateException:没有绑定到线程的 Hibernate 会话,并且配置不允许在此处创建非事务性会话”。

好吧,公平地说,有人可以指导我设置线程以进行访问的最佳方式吗?错误消息听起来就像您只需要更改一些配置选项,但我感觉,它并不那么简单......

0 投票
4 回答
47604 浏览

java - Hibernate 的会话线程安全吗?

我需要知道 Hibernate 的会话是否是线程安全的。但很明显,每个线程都附加了一个新会话以供执行。但我的问题是,如果在一个线程中我更新了某个实体的某些值,那么在同一时间执行期间会反映在其他线程中吗?

我的问题是当我从两个线程顺序触发更新时,值会正确更新,但是当我几乎完全触发更新时,它会失败。

例如。表的当前阶段。

我正在尝试执行以下操作:

当我尝试在循环中运行上述代码 10 时,表“student”中的“marks”值被正确更新,即该值被更新为 64,这是正确的。

但是当我尝试在线程环境中运行相同的代码时,结果很糟糕。

0 投票
1 回答
1114 浏览

hibernate - 用于休眠会话的 Spring Config

您好我正在尝试通过 Spring 的注入获取休眠的 Session。

这是我的弹簧上下文 xml:

这是代码:

但是我获得的会话是空的。

通过 sf.getObject().getCurrentSession() 获取 Session 是否正确?

谢谢 :)

0 投票
4 回答
2136 浏览

java - 我是否需要用 try-catch 封装所有 saveOrUpdate 方法?

我是否总是需要使用如下所示的 try-catch 块将saveOrUpdatedelete放在DAO 中?Session

0 投票
2 回答
6284 浏览

hibernate - 调试 Hibernate 会话/事务错误的好主意?

我使用 Hibernate 已经有一段时间了,并且已经习惯了大多数常见的错误消息。大多数人直接指出了这个问题,但我一直遇到这个问题:

我理解错误(会话有两个具有相同 ID 的不同对象),但我真的不知道调试代码以查找问题根源的好方法。通常,我查看我当前正在更改的代码,并寻找我加载一个对象并手动创建另一个对象的位置,希望我能在我的逻辑中找到一个简单的错误。但是,我目前正在使用一个不是我编写的、不熟悉的并且没有文档的代码集。我能想到的唯一解决方案是逐行检查代码,希望能找到错误。您知道调试此错误的更好方法吗?

此外,我得到的确切错误来自对 的调用saveOrUpdate(),这让我想知道它是否save()在应该调用时调用update()。有什么方法可以查看 Hibernate 在当前 Session 中的对象以进行调试?

0 投票
1 回答
745 浏览

java - 没有 Hibernate Session 绑定到带有 generic-hibernate-dao 库的线程

我正在使用 Spring 3.0.5、Hibernate 3.3 和generic-hibernate-dao。我已经将 Hibernate SessionFactory 配置如下:

我创建了一个 BaseDAOImpl 并使用域 DAO 进行扩展,如下所示:

在访问我的 spring 控制器(调用dao.findAll())时,我收到以下错误: