您的位置:首页 > 编程语言 > Java开发

Pre-bound JDBC Connection found!解决办法

2015-10-02 10:51 2066 查看
今天在做项目时遇到了这种错误:Pre-bound JDBC Connection found! HibernateTransactionManager does not support running within DataSourceTransactionManager if told to manage the DataSource itself. It is recommended to use a single HibernateTransactionManager
for all transactions on a single DataSource, no matter whether Hibernate or JDBC access..刚开始时真的不知道怎么办好,上百度查很多人多说是jdbc和Hibernate事物不兼容的问题,说不能在hibernate事物中嵌套事物,但我试了统一使用hibernate的事物,还是会报上述的错误,到后来我认真查看了程序的日志并通过多次的验证发现:原来是因为我在程序了里像这样

DefaultTransactionDefinition def = new DefaultTransactionDefinition();
def.setPropagationBehavior(TransactionDefinition.PROPAGATION_REQUIRED);
TransactionStatus status = txManager.getTransaction(def);显性启动了事务,当发生错误往外抛异常时,起的事务没有rollback,在等待超时的时间内,重新请求会发生这种问题。遇到这种问题的朋友可以试下这种解决方法。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java