Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 休眠错误,无法创建SessionFactory_Java_Eclipse_Hibernate_Maven - Fatal编程技术网

Java 休眠错误,无法创建SessionFactory

Java 休眠错误,无法创建SessionFactory,java,eclipse,hibernate,maven,Java,Eclipse,Hibernate,Maven,我正在尝试使用Hibernate和Maven,根据教程创建一个MySQL数据库。但是我得到了一个错误,看起来程序无法读取xml文件,我不知道我哪里出错了。欢迎任何帮助,谢谢 这是User.hbm.xml的代码 <?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE hibernate-mapping PUBLIC "-//Hibernate/Hibernate Mapping DTD//EN" "http://hibernate.so

我正在尝试使用Hibernate和Maven,根据教程创建一个MySQL数据库。但是我得到了一个错误,看起来程序无法读取xml文件,我不知道我哪里出错了。欢迎任何帮助,谢谢

这是User.hbm.xml的代码

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

<hibernate-mapping>
    <class name="com.javawebtutor.User"table="USER">
        <id name="userId"type="int"column="USER_ID">
            <generator class="assigned"/>
        </id>
        <property name="username">
            <column name="USERNAME"/>
        </property>
        <property name="createdBy">
            <column name="CREATED_BY"/>
        </property>
        <property name="createdDate"type="date">
            <column name="CREATED_DATE"/>
        </property>
    </class>
</hibernate-mapping>

Eclipse IDE在以下行中发现错误:

pom.xml文件是

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.javawebtutor</groupId>
  <artifactId>HibernateSampleExample</artifactId>
  <packaging>jar</packaging>
  <version>1.0-SNAPSHOT</version>
  <name>HibernateSampleExample</name>
  <url>http://maven.apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>4.3.5.Final</version>
        </dependency>
        <!-- https://mvnrepository.com/artifact/org.hibernate/hibernate -->


        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>5.1.6</version>
        </dependency>

        <dependency>
            <groupId>javax.transaction</groupId>
            <artifactId>jta</artifactId>
            <version>1.1</version>
        </dependency>
        <dependency>
        <groupId>org.hsqldb</groupId>
        <artifactId>hsqldb</artifactId>
        <version>2.2.9</version>
    </dependency>
    <dependency>
        <groupId>javax</groupId>
        <artifactId>javaee-api</artifactId>
        <version>6.0</version>
    </dependency>
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.0.1</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.common</groupId>
        <artifactId>hibernate-commons-annotations</artifactId>
        <version>4.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>org.hibernate.javax.persistence</groupId>
        <artifactId>hibernate-jpa-2.0-api</artifactId>
        <version>1.0.1.Final</version>
    </dependency>
    <dependency>
        <groupId>securityfilter</groupId>
        <artifactId>securityfilter</artifactId>
        <version>2.0</version>
    </dependency>
    <dependency>
        <groupId>javax.persistence</groupId>
        <artifactId>persistence-api</artifactId>
        <version>1.0.2</version>
    </dependency>
    <dependency>
        <groupId>cglib</groupId>
        <artifactId>cglib</artifactId>
        <version>2.2.2</version>
    </dependency>
    <dependency>
        <groupId>asm</groupId>
        <artifactId>asm-all</artifactId>
        <version>3.3.1</version>
    </dependency>
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.16</version>
    </dependency>
<!-- log4j -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>1.5.10</version>
            <!-- <scope>runtime</scope>  -->
        </dependency>       
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>1.5.10</version>
        </dependency>
       <!-- https://mvnrepository.com/artifact/dom4j/dom4j -->
       <dependency>
           <groupId>dom4j</groupId>
           <artifactId>dom4j</artifactId>
           <version>1.6.1</version>
       </dependency>



    </dependencies>

</project>

4.0.0
com.javawebtutor
Hibernate示例
罐子
1.0-快照
Hibernate示例
http://maven.apache.org
朱尼特
朱尼特
3.8.1
测试
org.hibernate
冬眠核心
4.3.5.最终版本
mysql
mysql连接器java
5.1.6
javax.transaction
jta
1.1
org.hsqldb
hsqldb
2.2.9
爪哇
JavaEEAPI
6
javax.servlet
javax.servlet-api
3.0.1
org.hibernate.common
hibernate commons注释
4.0.1.最终版本
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本
安全过滤器
安全过滤器
2
javax.persistence
持久性api
1.0.2
cglib
cglib
2.2.2
asm
asm all
3.3.1
log4j
log4j
1.2.16
org.slf4j
slf4j-log4j12
1.5.10
org.slf4j
slf4j api
1.5.10
dom4j
dom4j
1.6.1
我收到的错误消息如下:

 SessionFactory creation failed.org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
Exception in thread "main" java.lang.ExceptionInInitializerError
    at com.javawebtutor.HibernateUtil.buildSessionFactory(HibernateUtil.java:19)
    at com.javawebtutor.HibernateUtil.<clinit>(HibernateUtil.java:9)
    at com.javawebtutor.Test.main(Test.java:11)
Caused by: org.hibernate.exception.JDBCConnectionException: Error calling Driver#connect
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:122)
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140)
    at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58)
    at org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75)
    at org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl.configure(DriverManagerConnectionProviderImpl.java:106)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
    at org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
    at org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
    at org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
    at org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
    at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
    at com.javawebtutor.HibernateUtil.buildSessionFactory(HibernateUtil.java:15)
    ... 2 more
Caused by: java.sql.SQLException: Access denied for user 'root'@'localhost' (using password: YES)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
    at com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3491)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)
    at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)
    at com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
    at com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
    at com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
    at com.mysql.jdbc.ConnectionImpl.<init>(ConnectionImpl.java:718)
    at com.mysql.jdbc.JDBC4Connection.<init>(JDBC4Connection.java:46)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
    at com.mysql.jdbc.Util.handleNewInstance(Util.java:406)
    at com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
    at com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
    at org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
    ... 16 more
SessionFactory创建失败。org.hibernate.exception.jdbconnectionexception:调用驱动程序#connect时出错
线程“main”java.lang.ExceptionInInitializeError中出现异常
位于com.javawebtutor.HibernateUtil.buildSessionFactory(HibernateUtil.java:19)
在com.javawebtutor.HibernateUtil.(HibernateUtil.java:9)
位于com.javawebtutor.Test.main(Test.java:11)
原因:org.hibernate.exception.JDBCConnectionException:调用驱动程序#connect时出错
位于org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator$1$1.convert(BasicConnectionCreator.java:122)
位于org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.convertSqlException(BasicConnectionCreator.java:140)
位于org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:58)
位于org.hibernate.engine.jdbc.connections.internal.BasicConnectionCreator.createConnection(BasicConnectionCreator.java:75)
位于org.hibernate.engine.jdbc.connections.internal.DriverManager连接ProviderImpl.configure(DriverManager连接ProviderImpl.java:106)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.buildJdbcConnectionAccess(jdbcservicesiml.java:260)
位于org.hibernate.engine.jdbc.internal.jdbcservicesiml.configure(jdbcservicesiml.java:94)
位于org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
位于org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
位于org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
位于org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
位于com.javawebtutor.HibernateUtil.buildSessionFactory(HibernateUtil.java:15)
... 还有两个
原因:java.sql.SQLException:用户“root”@“localhost”的访问被拒绝(使用密码:是)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:1055)
位于com.mysql.jdbc.SQLError.createSQLException(SQLError.java:956)
在com.mysql.jdbc.MysqlIO.checkErrorPacket上(MysqlIO.java:3491)
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3423)上
在com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:910)上
位于com.mysql.jdbc.MysqlIO.secureAuth411(MysqlIO.java:3923)
位于com.mysql.jdbc.MysqlIO.doHandshake(MysqlIO.java:1273)
位于com.mysql.jdbc.ConnectionImpl.createNewIO(ConnectionImpl.java:2031)
位于com.mysql.jdbc.ConnectionImpl(ConnectionImpl.java:718)
JDBC4Connection.(JDBC4Connection.java:46)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance0(本机方法)
位于sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62)
在sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
位于java.lang.reflect.Constructor.newInstance(Constructor.java:423)
位于com.mysql.jdbc.Util.HandleneInstance(Util.java:406)
位于com.mysql.jdbc.ConnectionImpl.getInstance(ConnectionImpl.java:302)
位于com.mysql.jdbc.NonRegisteringDriver.connect(NonRegisteringDriver.java:282)
位于org.hibernate.engine.jdbc.connections.internal.DriverConnectionCreator.makeConnection(DriverConnectionCreator.java:55)
... 还有16个

基于错误消息中的最后一个原因:
原因
<hibernate-mapping>
    <class name="com.javawebtutor.User" table="USER">
        <id name="userId" type="int" column="USER_ID">
<!-- and so on -->
<hibernate-mapping>
    <class name="com.javawebtutor.User" table="USER">
        <id name="userId" type="int" column="USER_ID">
            <generator class="assigned"/>
        </id>
        <property name="username">
            <column name="USERNAME"/>
        </property>
        <property name="createdBy">
            <column name="CREATED_BY"/>
        </property>
        <property name="createdDate" type="date">
            <column name="CREATED_DATE"/>
        </property>
    </class>
</hibernate-mapping>