2015-02-27 6 views
0

Я пытаюсь подключиться в MYSQL, и у меня есть ошибка при попытке добавить в configure следующий ресурс: hibernate.cfg.xml. И есть следующая org.hibernate.MappingNotFoundException ошибка: ресурс: не hibernate.cfg.xml найденоorg.hibernate.MappingNotFoundException: resource: hibernate.cfg.xml не найден

HibernateUtil:

package util; 

    Imports 

    public class HibernateUtil { 
    private static SessionFactory sessionFactory; 
    private static ServiceRegistry serviceRegistry; 


    static{ 
     try { 
      Configuration configuration = new Configuration(); 
      configuration.addResource("hibernate.cfg.xml"); 
      configuration.configure(); 
      serviceRegistry = new StandardServiceRegistryBuilder().applySettings(
        configuration.getProperties()).build(); 
     sessionFactory = configuration.buildSessionFactory(serviceRegistry); 
    } catch (HibernateException he) { 
     System.err.println("Error creating Session: " + he); 
     throw new ExceptionInInitializerError(he); 
    } 
} 

public static SessionFactory getSessionFactory() { 
     return sessionFactory; 
    } 
} 

hibernate.cfg.xml:

<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
     <property name="connection.driver_class">com.mysql.jdbc.Driver</property> 
     <property name="connection.url">jdbc:mysql://**.**.**.**/land_of_dkl_db</property> 
     <property name="connection.username">*****</property> 
     <property name="connection.password">****</property> 
     <property name="connection.pool_size">10</property> 
     <!-- Возможно потом нужно будет поставить MySQLInnoDBDialect диалект --> 
     <property name="dialect">org.hibernate.dialect.MySQLDialect</property> 
     <!-- Логирование sql запросов в консоль --> 
     <property name="show_sql">true</property> 
     <!-- Есть недокументированная возможность none вместо validate, но вроде validate нас устраивает --> 
     <property name="hbm2ddl.auto">validate</property> 
     <!-- Спросить у преподов, что значит Enables autocommit for JDBC pooled connection --> 
     <property name="hibernate.connection.autocommit">false</property> 
     <property name="current_session_context_class">thread</property> 

     <mapping class="DAO.logic.User" /> 

    </session-factory> 
</hibernate-configuration> 

ProjectName.iml (I удалить многие мусорные контейнеры, импортировать причалы maven и другие):

<?xml version="1.0" encoding="UTF-8"?> 
<module org.jetbrains.idea.maven.project.MavenProjectsManager.isMavenModule="true" type="JAVA_MODULE" version="4"> 
    <component name="FacetManager"> 
    <facet type="hibernate" name="Hibernate"> 
     <configuration> 
     <datasource-map /> 
     <naming-strategy-map /> 
     <deploymentDescriptor name="hibernate.cfg.xml" url="file://$MODULE_DIR$/hibernate.cfg.xml" /> 
     </configuration> 
    </facet> 
    </component> 
    <component name="NewModuleRootManager" LANGUAGE_LEVEL="JDK_1_7" inherit-compiler-output="false"> 
    <output url="file://$MODULE_DIR$/target/classes" /> 
    <output-test url="file://$MODULE_DIR$/target/test-classes" /> 
    <content url="file://$MODULE_DIR$"> 
     <sourceFolder url="file://$MODULE_DIR$/src/main/java" isTestSource="false" /> 
     <excludeFolder url="file://$MODULE_DIR$/target" /> 
    </content> 
    </component> 
</module> 

Структура проекта:

+project 
++src 
+++main 
++++java 
+++++util 
++++++HibernateUtil 
++hibernate.cfg.xml 
++project.iml 

ответ

2

Попробуйте ввести hibernate.cfg.xml под src/main/resources.

+0

Да, это решена моя проблема. Какая магия? В project.iml у меня следующая строка: FRAGnat

+0

Я не уверен, как работает IDEA его внутренние файлы, но 'hibernate.cfg.xml' должен находиться в пути к классу проекта, чтобы быть видимым из кода, а также (maven) по умолчанию все под' src/main/java' и 'src/main/resources' включен в classpath –

Смежные вопросы