我们都知道,在spring-Hibernate应用程序中不使用@transactional注释会产生一个Hibernate异常:
线程“main”org.hibernate.hibernateException异常:无法获取当前线程的事务同步会话
我想知道“事务同步会话”是什么意思?
它是一个状态与基础事务同步的会话。例如:事务完成后,会话关闭。
spring通过TransactionSynchronizationManager
管理它,该管理器包含一组TransactionSynchronization
适配器。AbstractPlatformTransactionManager
在使用事务执行不同操作时调用这些适配器。
最值得注意的同步是springsessionsynchronization
。其中,它负责在提交之前刷新会话,并在事务完成后关闭会话。
众所周知,不在Spring-Hibernate应用程序中使用@Transactional注释会产生Hibernate异常: 线程"main"org.hibernate.HibernateException中的异常:无法获取当前线程的事务同步会话 我想知道“事务同步会话”是什么意思?
问题内容: 我正在使用同时使用JMS和Hibernate的独立应用程序。 该文档建议,如果我想同时使用这两种资源进行事务处理,则必须使用JTA。 但是,现在使用带有@Transaction注释的DAO方法(和HibernateTransactionManager),这似乎已经可以工作。当我在JmsTemplate上调用send()时,消息不会立即发送,而是随着方法的返回,使用Hibernate会话
问题内容: 我使用spring + hibernate创建了一个应用程序,但始终会收到此错误。这是我第一个使用hibernate的应用程序,我阅读了一些指南,但无法解决此问题。我在哪里做错了? 这是我的应用程序的代码 student.java studentDAO.java StudentDAOImpl.java MainApp.java springConfig.xml sql 问题答案: 你必
同样的问题已经被问了很多次了,但是请在重复之前仔细阅读我的问题。 我不想使用基于注释的事务管理,所以我的问题与这里提出的问题不同。 我的XML声明 遵循作为bean的DAO声明 我的TX建议 AOP配置 我的刀 我的模型 我的Hibernate映射文件 当我通过以下代码以编程方式运行此应用程序时, 它会抛出以下异常 org.hibernate.hibernateException:无法在org.s
我用spring+hibernate创建了一个应用程序,但总是得到这个错误。这是我使用hibernate的第一个应用程序,我读了一些指南,但我不能解决这个问题。我哪里做错了? 这是我的应用程序的代码 student.java StudentDAO.java StudentDAOImpl.java MainApp.java SpringConfig.xml SQL
我对Hibernate中的会话和事务的概念有点困惑。据我所知,Hibernate使用会话(持久性上下文),它基本上是需要持久,删除或数据库中任何内容的实体的缓存。会话封装事务,因此我启动一个会话,然后创建一个事务。事务关闭后,持久性上下文中的所有内容都将刷新到数据库,如果我关闭会话,也会发生同样的事情。 为什么我需要两者?我可以在不创建交易的情况下做同样的事情吗?