org.hibernate.HibernateException: /hibernate.cfg.xml не найден

Я пытаюсь использовать hibernate с весной 3 mvc, но на данный момент я получаю это исключение. Я думаю, мне нужно определить hibernate.cfg.xml где-нибудь, но не знаете где?

Я в основном следовал этому примеру здесь http://www.nabeelalimemon.com/blog/2010/05/spring-3-integrated-with-hibernate-part-a/ И в частности видел эту строку кода там, которая предполагает «магически “найдите файл hibernate.cfg, используя это:

 return new Configuration().configure().buildSessionFactory(); 

Я предполагаю, что это неправильно? В настоящее время у меня есть файл hibernate.cfg внутри src/com/jr/hibernate/

ниже мой файл cfg:

      com.mysql.jdbc.Driver jdbc:mysql://localhost:3306/racingleague username password true  1  org.hibernate.dialect.MySQLDialect  thread  org.hibernate.cache.NoCacheProvider  true  update     

мой class hibernate utils:

 package com.jr.utils; import org.hibernate.SessionFactory; import org.hibernate.cfg.Configuration; public class HibernateUtils { private static final SessionFactory sessionFactory = buildSessionFactory(); public static SessionFactory buildSessionFactory() { try { // Create the SessionFactory from hibernate.cfg.xml return new Configuration().configure().buildSessionFactory(); } catch (Throwable ex) { // Make sure you log the exception, as it might be swallowed System.err.println("Initial SessionFactory creation failed." + ex); throw new ExceptionInInitializerError(ex); } } } 

который получает вызов этого абстрактного classа:

 package com.jr.db; import org.hibernate.SessionFactory; import org.hibernate.classic.Session; import com.jr.utils.HibernateUtils; public abstract class DbWrapper { private static SessionFactory sessionFactory = null; private static Session session; public DbWrapper() { setSessionFactory(); } private void setSessionFactory() { sessionFactory = HibernateUtils.buildSessionFactory(); session = sessionFactory.getCurrentSession(); } public boolean addNewItem(T dbItem) { try { session.getTransaction().begin(); session.save(dbItem); session.getTransaction().commit(); } catch (Exception e) { System.err.println("error exception when adding new item to table" + e); } finally { session.close(); sessionFactory.close(); } return false; } public abstract boolean removeItem(String uid); public abstract boolean modifyItem(String uid, T item); } 

И вот controller, который изначально делает некоторые спящие вещи:

 private Logger logger = Logger.getLogger(UserController.class); private UserDb userDb; @RequestMapping(value = "/user/registerSuccess", method = RequestMethod.POST) public String submitRegisterForm(@Valid User user, BindingResult result) { // validate the data recieved from user logger.info("validate the data recieved from user"); if (result.hasErrors()) { logger.info("form has "+result.getErrorCount()+" errors"); return "account/createForm"; } else{ // if everthings ok, add user details to database logger.info("if everthings ok, add user details to database"); userDb = new UserDb(); userDb.addNewItem(user); // display success and auto log the user to the system. return "account/main"; } } 

Приветствия заранее. У меня также есть все мои таблицы hibvernate xml-сопоставлений в том же месте, что и файл hibernate.cfg.xml

Вместо размещения файла hibernate.cfg.xml каталоге src/com/jr/hibernate/ , поместите его в каталог src . Затем он автоматически появится в каталоге WEB-INF/classes , как упомянуто здесь.

hibernate.cfg.xml должен быть найден в корневом пути пути к classам при запуске webapp.

Если вы используете maven для создания проекта, поместите файл hibernate.cfg.xml в каталог src/main/resources чтобы при создании военного пакета он автоматически помещался в /WEB-INF/classes .

Если вы не используете maven, поместите файл непосредственно в каталог WEB-INF/classes .

hibernate.cfg.xml должен быть в WEB-INF/classes . Кроме того, вы можете загрузить его из настраиваемого местоположения, передав соответствующий аргумент методу configure(..) .

Если вы используете Maven, вы должны поместить файл hibernate.cfg.xml в следующий путь /src/main/java/resources/hibernate.cfg.xml в Intellij IDEA. Затем в вашем classе запуска просто вставьте строку:

SessionFactory factory = new Configuration (). Configure (“hibernate.cfg.xml”). AddAnnotatedClass (). BuildSessionFactory ();

В IntelliJ перейдите в «Open Project Settings» >> Modules >> Hibernate и настройте файл hibernate.cfg.xml, используемый в вашем проекте.

У меня такая же проблема и переместился файл hibernate.cfg.xml в директорию src / main / resources, которая будет автоматически помещена в / WEB-INF / classes.

Даже если у меня был hibernate.cfg.xml в папке src , я получаю

  org.hibernate.HibernateException: /hibernate.cfg.xml not found 

после запуска mvn clean install . С помощью Try и error я смог решить проблему, удалив hibernate.cfg.xml из src сложенного и добавленного в другое место. Запустите приложение (это основной class в моем случае). Во время этого я все еще получаю ошибку. и добавьте его обратно в папку src и ром основного classа. It worked!

  • Что вызывает «java.lang.IllegalStateException: ни BindingResult, ни обычный целевой объект для bean name« command », ansible как атрибут запроса»?
  • jackson 2.0 с весной 3.1
  • Загрузка многостраничного файла с использованием шаблона Spring Rest + Spring Web MVC
  • Spring MVC Controller: redirect без параметров, добавленных в мой url
  • Настройка приоритета нескольких @ControllerAdvice @ExceptionHandlers
  • Возврат JsonObject с помощью @ResponseBody в SpringMVC
  • Отображать данные JSON в таблице HTML
  • Как реализовать разбиение на страницы весной MVC 3
  • Spring HandlerInterceptor vs Servlet Filters
  • Сериализация перечислений с помощью Jackson
  • Ресурс API для облачных сообщений Firebase
  • Давайте будем гением компьютера.