Recently I was developing a simple hibernate application with version
4.3.5.Final
and everything looked fine to me until I got below exception.
最近我正在开发一个简单的Hibernate应用程序,版本为
4.3.5.Final
,一切对我来说都很好,直到出现异常为止。
org.hibernate.HibernateException: get is not valid without active transaction
org.hibernate.context.internal.ThreadLocalSessionContext$TransactionProtectionWrapper.invoke(ThreadLocalSessionContext.java:352)
com.sun.proxy.$Proxy26.get(Unknown Source)
org.hibernate.HibernateException:如果没有活动的交易,get无效
(
org.hibernate.HibernateException: get is not valid without active transaction
)
Exception
in thread "main"
org
.
hibernate
.
Hibernate
Exception
: get is not
valid
without
active
tran
sac
t
ion
at
org
.
hibernate
.context.ThreadLocalSess
ion
Context$
Tran
sac
t
ion
Protect
ion
Wrapper.invoke(ThreadL
在配置文件中已经默认开启了本地Sess
ion
但还是爆了
org
.
hibernate
.
Hibernate
Exception
: get is not
valid
without
active
tran
sac
t
ion
的错误
错误原因:使用Sess
ion
Factory的getCurrentSess
ion
获取本地Sess
ion
,未开启
事务
就使用Sess
ion
解决
办法:不管是查询还是修改都开启
事务
在进行。
Exception
in thread "main"
org
.
hibernate
.
Hibernate
Exception
:*** is not
valid
without
active
tran
sac
t
ion
at
org
.
hibernate
.context.ThreadLocalSess
ion
Context$
Tran
sac
t
ion
Protect
ion
Wrapper.in...
最近在使用
hibernate
jpa中出现了该错误
org
.
hibernate
.
Hibernate
Exception
: identifier of an instance 并且反复检查
没有
映射
没有
任何问题
最后发现问题竟然是主键的问题 比如我在一个合同对象中包含一个附件即1对1的关系 那么该合同的主键id假如在丢失后,进行插入不会有问题 无非是一个是JpaRepository进行保存操作一个是修改操作 区分是通过主键的id 但是如果后续附件要关联上合同的外键 那么当合同的主键丢失后 hibernat...
Exception
in thread "main"
org
.
hibernate
.
Hibernate
Exception
: Calling method 'isConnected' is not
valid
without an
active
tran
sac
t
ion
(Current status: NOT_
ACTIVE
)
at
org
.
hibernate
.context.internal....
Hibernate
requires a lot of configurat
ion
s and sometimes you get weird
exception
and there is no clue that it’s because of some missing configurat
ion
.
Hibernate
需要大量的配置,有时您会得到奇怪的异常,并且
没有
任何线索是由于缺少某些配置。
org
.
hibernate
.
Hibernate
Exception
: No
Hibernate
Sess
ion
bound to thread, and configurat
ion
does not allow creat
ion
of non-
tran
sac
t
ion
al one here
这句话显而易见,就是
事务
没有
的到
spring
管理,
public Sess
ion
getSess
ion
(
getCurrentSess
ion
()抛出异常:
org
.
hibernate
.
Hibernate
Exception
: No CurrentSess
ion
Context configured!
在集成
Hibernate
的环境下(例如Jboss),要在
hibernate
.cfg.xml中sess
ion
-factory段加入:
在不集成
Hibernate
的环境下(例如使用JD
遇到这个问题之前,我去百度和谷歌去搜索了一下,发现各种说法,但是针对我的项目而言,也就是公司的项目而言,这个问题的根源并非是网上所说的那样。
最后是通过自己的想法做测试得到了
解决
。
1.首先说说我的配置吧!我的配置是通过
spring
自带的注解来实现 声明式事物管理的。如果我们没去了解
spring
的声明式事物管理的话,或许我们是得不出什么结论的。
如果你配置过声明式事物管理,你就知道sprin...