问题标签 [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.
hibernate - 休眠:session.get 和 session.load 之间的区别
从 API 中,我可以看到它与代理有关。但是我找不到很多关于代理的信息,也不明白调用session.get
和之间的区别session.load
。有人可以解释或指导我到参考页面吗?
谢谢!!
hibernate - Hibernate:ThreadLocalSessionContext:在调用 bind() 时已经绑定了会话
当我尝试通过以下方式使用 ThreadLocalSessionContext 时:
我对每一个 Struts Action 都这样做。我做错了什么,导致我收到以下错误吗?
我检查了所有包含 ThreadLocalSessionContext.bind 的文件,并确保这些会话已明确关闭。有没有办法监控会话何时绑定到会话工厂?
谢谢!!
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 邮件列表,至于像这样的更小众问题,该列表似乎引起了更多的响应。如果有人从那里出来,我会用答案更新这个问题。这是一个链接。
grails - Grails 中的 Spring Webflow 保持大量休眠会话打开
我有一个在 Grails 1.1.2 上运行的 Internet 应用程序,它集成了 Spring WebFlow 机制。问题是有些机器人忽略了 robots.txt 并且经常进入流程。
因为流程的第二步需要一些人工智慧,所以机器人会在第一步之后留下开放的流程。这会导致大量开放流,从而导致大量废弃的开放休眠会话。
您知道 Grails+Spring WebFlow 中这种无人值守流(加上休眠会话)的一些常见清理机制吗?
谢谢,帕维尔
grails - 如何将 Hibernate Session 绑定到 Grails 中的线程?
我正在 Grails 中编写一个多线程应用程序,其他线程需要访问 GORM/Hibernate。当他们尝试访问 GORM 时,我收到错误“org.hibernate.HibernateException:没有绑定到线程的 Hibernate 会话,并且配置不允许在此处创建非事务性会话”。
好吧,公平地说,有人可以指导我设置线程以进行访问的最佳方式吗?错误消息听起来就像您只需要更改一些配置选项,但我感觉,它并不那么简单......
java - Hibernate 的会话线程安全吗?
我需要知道 Hibernate 的会话是否是线程安全的。但很明显,每个线程都附加了一个新会话以供执行。但我的问题是,如果在一个线程中我更新了某个实体的某些值,那么在同一时间执行期间会反映在其他线程中吗?
我的问题是当我从两个线程顺序触发更新时,值会正确更新,但是当我几乎完全触发更新时,它会失败。
例如。表的当前阶段。
我正在尝试执行以下操作:
当我尝试在循环中运行上述代码 10 时,表“student”中的“marks”值被正确更新,即该值被更新为 64,这是正确的。
但是当我尝试在线程环境中运行相同的代码时,结果很糟糕。
hibernate - 用于休眠会话的 Spring Config
您好我正在尝试通过 Spring 的注入获取休眠的 Session。
这是我的弹簧上下文 xml:
这是代码:
但是我获得的会话是空的。
通过 sf.getObject().getCurrentSession() 获取 Session 是否正确?
谢谢 :)
java - 我是否需要用 try-catch 封装所有 saveOrUpdate 方法?
我是否总是需要使用如下所示的 try-catch 块将saveOrUpdate
或delete
放在DAO 中?Session
hibernate - 调试 Hibernate 会话/事务错误的好主意?
我使用 Hibernate 已经有一段时间了,并且已经习惯了大多数常见的错误消息。大多数人直接指出了这个问题,但我一直遇到这个问题:
我理解错误(会话有两个具有相同 ID 的不同对象),但我真的不知道调试代码以查找问题根源的好方法。通常,我查看我当前正在更改的代码,并寻找我加载一个对象并手动创建另一个对象的位置,希望我能在我的逻辑中找到一个简单的错误。但是,我目前正在使用一个不是我编写的、不熟悉的并且没有文档的代码集。我能想到的唯一解决方案是逐行检查代码,希望能找到错误。您知道调试此错误的更好方法吗?
此外,我得到的确切错误来自对 的调用saveOrUpdate()
,这让我想知道它是否save()
在应该调用时调用update()
。有什么方法可以查看 Hibernate 在当前 Session 中的对象以进行调试?
java - 没有 Hibernate Session 绑定到带有 generic-hibernate-dao 库的线程
我正在使用 Spring 3.0.5、Hibernate 3.3 和generic-hibernate-dao。我已经将 Hibernate SessionFactory 配置如下:
我创建了一个 BaseDAOImpl 并使用域 DAO 进行扩展,如下所示:
在访问我的 spring 控制器(调用dao.findAll()
)时,我收到以下错误: