2 qq 33500630 qq_33500630 于 2017.01.13 21:40 提问

在eclipse中运行Hibernate,出现Autocommit mode: false错误 1C

我的Hibernate版本是:5.2.2以下是代码与错误提示
no1
一月 13, 2017 9:25:47 下午 org.hibernate.Version logVersion
INFO: HHH000412: Hibernate Core {5.2.2.Final}
一月 13, 2017 9:25:47 下午 org.hibernate.cfg.Environment
INFO: HHH000206: hibernate.properties not found
一月 13, 2017 9:25:47 下午 org.hibernate.cfg.Environment buildBytecodeProvider
INFO: HHH000021: Bytecode provider name : javassist
no2
一月 13, 2017 9:25:47 下午 org.hibernate.annotations.common.reflection.java.JavaReflectionManager
INFO: HCANN000001: Hibernate Commons Annotations {5.0.1.Final}
一月 13, 2017 9:25:47 下午 org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity
WARN: HHH90000012: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/hibernate-mapping. Use namespace http://www.hibernate.org/dtd/hibernate-mapping instead. Support for obsolete DTD/XSD namespaces may be removed at any time.
一月 13, 2017 9:25:48 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure
WARN: HHH10001002: Using Hibernate built-in connection pool (not for production use!)
一月 13, 2017 9:25:48 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001005: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql:///testhibernate]
一月 13, 2017 9:25:48 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001001: Connection properties: {user=root, password=****}
一月 13, 2017 9:25:48 下午 org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator
INFO: HHH10001003: Autocommit mode: false
Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;I)V
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.(PooledConnections.java:36)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections.(PooledConnections.java:20)
at org.hibernate.engine.jdbc.connections.internal.PooledConnections$Builder.build(PooledConnections.java:161)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.buildPool(DriverManagerConnectionProviderImpl.java:109)
at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:72)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:240)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.buildJdbcConnectionAccess(JdbcEnvironmentInitiator.java:145)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:66)
at org.hibernate.engine.jdbc.env.internal.JdbcEnvironmentInitiator.initiateService(JdbcEnvironmentInitiator.java:35)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:88)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:257)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:231)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:51)
at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:94)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:240)
at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:210)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.handleTypes(MetadataBuildingProcess.java:352)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.complete(MetadataBuildingProcess.java:111)
at org.hibernate.boot.model.process.spi.MetadataBuildingProcess.build(MetadataBuildingProcess.java:83)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:418)
at org.hibernate.boot.internal.MetadataBuilderImpl.build(MetadataBuilderImpl.java:87)
at org.hibernate.boot.MetadataSources.buildMetadata(MetadataSources.java:179)

at com.hibernate.test1.test.main(test.java:17)

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE hibernate-configuration PUBLIC
"-//Hibernate/Hibernate Configuration DTD 3.0//EN"
"http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd">

<property name="connection.driver_class">com.mysql.jdbc.Driver</property>
<property name="connection.url">jdbc:mysql:///testhibernate</property>
<property name="connection.username">root</property>
<property name="connection.password">root</property>

<!-- org.hibernate.dialect.MySQLDialect -->
org.hibernate.dialect.MySQL5InnoDBDialect
update
true

package com.hibernate.test1;

import org.hibernate.Session;
import org.hibernate.SessionFactory;
import org.hibernate.Transaction;
import org.hibernate.boot.MetadataSources;
import org.hibernate.boot.registry.StandardServiceRegistry;
import org.hibernate.boot.registry.StandardServiceRegistryBuilder;

public class test {

public static void main(String[] args) {
    // TODO Auto-generated method stub
    StandardServiceRegistry registry=new StandardServiceRegistryBuilder().configure().build();
    SessionFactory sessionfactory=new MetadataSources(registry).buildMetadata().buildSessionFactory();
    Session session=sessionfactory.openSession();
    Transaction transaction=session.beginTransaction();

    log log1=new log();
    log1.setName("nihao");
    log1.setPass("dkjk");
    session.save(log1);

    transaction.commit();



}

}

<?xml version="1.0"?>
<!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
"http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd">











4个回答

pangesange
pangesange   2017.01.13 21:44

Exception in thread "main" java.lang.NoSuchMethodError是这个报错,应该是包导错了,你查看一下。

jackson_0559
jackson_0559   2017.01.14 01:37

导包出现了错误,根据提示导包吧,新手常遇到的问题,尽量多百度,自己解决!

qq_33500630
qq_33500630   2017.01.14 11:00

已解决。我把这个web项目建立在tomact服务器上就可以了。。

JE_GE
JE_GE   2017.01.14 12:01

Exception in thread "main" java.lang.NoSuchMethodError: org.hibernate.internal.CoreMessageLogger.debugf(Ljava/lang/String;I)
jar文件问题,最好maven项目了

http://blog.csdn.net/je_ge/article/details/53235868

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
hibernate的hibernate.connection.autocommit值为什么建议设置为false
做了不少项目,遇到不少hibernate配置,对于hibernate.connection.autocommit值的设置,存在很多争议,一些人认为应该设置为true,一些人认为应该设置为false,而我坚决选择后者,下面就来讲讲我的理由吧 1、当在做业务系统的时候,大家都知道会在同一个操作中,一个业务可能包含多个子业务,那么就要进行多次提交,假设“业务A”中包含“子业务1”、“子业务2”
Hibernate 自动提交autoCommit一般建议设置成false
connection.autocommit=true 这个属性是说,如果是true的话,就是自动提交,比如 在一个业务中中,你有多个操作数据库的子业务, 例如 业务SuperA中有子业务suba,subb,subc..... 如果是自动的话, suba操作成功 提交 subb操作失败 回滚 subc操作失败 回滚 按照我们的逻辑当SuperA中有某一环节操作失败的话,都应
MySQL AutoCommit带来的问题
现象描述测试中发现,服务A在得到了服务B的注册用户成功response以后,开始调用查询用户信息接口,却发现无法查询出任何结果。检查binlog发现,在查询请求之前,数据库确实已经完成了commit操作,并且可以在sqlyog等客户端工具中查询出正确的结果。下面是这个流程的时序图:问题出现在Server A向数据库发起查询的时候,返回的结果总是空。问题分析这个问题显然是一个事务隔离的问题,最开始的...
hibernate之autoCommit属性详解
1.JDBC的autoCommit属性 对于每一个jdbc connection,都有一个autoCommit属性,只有执行commit后该connection中的操作(statement操作)才会在数据库中真正执行。所以:若是jdbc connection的autoCommit属性是false,且sql语句中没有显示commit,则sql语句即使被发送到数据库中,但因为没有commit,所以实
could not inspect jdbc autocommit mode
could not inspect jdbc autocommit mode 项目报了这样一个错误,这个是用户导入的时候报的错误,之前在开发的时候测试也没有问题。那么这个错误和数据库是有关系的。 查看用户的导入的代码是一个service就把所以逻辑写完,连接池使用的proxool,如果导入的用户过多就会报错。 错误原因是spring 事务 在获取到连接,直到service执行完才会commi
使用hibernate中connection.release_mode,connection.autocommit和transaction.auto_close_session用法及需要注意的问题
hibernate默认情况: auto--释放jdbc resources 方式 如果不配置默认是auto (当然现在没有auto了,等同于"after_statement" or "after_transaction"),注意3.0以及之前默认是ON_CLOSE(也就是session关闭才释放jdbc链接) false--自动关闭session false--自动提交 release_m
中间件不支持setautocommit(false)怎么办?
前提最近在某个公司实习,框架使用的是springmvc+spring+mybatis,具体名字就不说了,所有事务都没有用无法回滚,导师叫我和db人员对接,我就写了一个Jdbc的原生的测试测试代码如下: try { Class.forName("com.mysql.jdbc.Driver"); } catch (ClassNotFoundException e)
Spring+Hibernate进行单元测试时出现read-only mode错误
Spring+Hibernate进行单元测试时出现read-only mode错误
Hibernate复习笔记(3)——Session缓存(Hibernate一级缓存)详解
Session 概述 通过 Session 操纵对象 •Session 接口是 Hibernate 向应用程序提供的操纵数据库的最主要的接口, 它提供了基本的保存, 更新, 删除和加载 Java 对象的方法.注意,这里只有加载,而没有查询。因为查询并不是由Session直接来操作的,我们需要用到Query query=session.createQuery来进行查询。 •Session 具有
Connection中的autocommit问题
JDBC中的Connection的属性autocommit是默认为true的,所以在使用时应先调用con.setAutoCommit(false);否则后面调用con.commit()或con.rollback()方法则一定会报SQLException.