org.hibernate.HibernateException: /hibernate.cfg.xml no encontrado

Intento usar hibernate con la spring 3 mvc pero en este momento me sale esta excepción. Creo que necesito definir mi hibernate.cfg.xml algún lugar, pero no estoy seguro de dónde?

Básicamente, seguí este ejemplo aquí http://www.nabeelalimemon.com/blog/2010/05/spring-3-integrated-with-hibernate-part-a/ Y en particular vi esta línea de código allí que supone que “mágicamente “encuentre mi archivo hibernate.cfg usando esto:

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

Supongo que eso no es correcto? Actualmente tengo mi archivo hibernate.cfg dentro de src/com/jr/hibernate/

a continuación está mi archivo 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     

mi clase 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); } } } 

que se llama bu esta clase abstracta:

 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); } 

Y aquí está el controlador que originalmente hace algunas cosas de hibernación:

 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"; } } 

Saludos de antemano. También tengo todas mis asignaciones hibvernate xml de tabla en la misma ubicación que mi archivo hibernate.cfg.xml

En lugar de colocar el archivo hibernate.cfg.xml directorio src/com/jr/hibernate/ , colóquelo en el directorio src . Aparecerá automáticamente en el directorio WEB-INF/classes , tal como lo mencionaron aquí.

hibernate.cfg.xml debe encontrarse en la raíz del classpath cuando se inicia la aplicación web.

Si está utilizando maven para comstackr el proyecto, coloque hibernate.cfg.xml en el directorio src/main/resources para que cuando construya el paquete war se ubique automáticamente en /WEB-INF/classes .

Si no usa maven, coloque el archivo directamente en su directorio WEB-INF/classes .

hibernate.cfg.xml debe estar en WEB-INF/classes . Alternativamente, puede cargarlo desde una ubicación personalizada pasando el argumento correspondiente al método configure(..) .

Si usa Maven, debe colocar el archivo hibernate.cfg.xml en la siguiente ruta /src/main/java/resources/hibernate.cfg.xml en Intellij IDEA. Luego, en su clase de aplicación de ejecución simplemente inserte la línea:

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

En IntelliJ, vaya a “Abrir configuración del proyecto” >> Módulos >> Hibernar y seleccione el archivo hibernate.cfg.xml utilizado en su proyecto.

Tengo el mismo problema y moví hibernate.cfg.xml al directorio src / main / resources resuelto, se colocará automáticamente en / WEB-INF / classes.

Incluso si tuviera hibernate.cfg.xml en la carpeta src , obtengo

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

después de ejecutar mvn clean install . Con Try and Error pude resolverlo quitando hibernate.cfg.xml de src fold y add to to somewhere else. Ejecuta la aplicación (es una clase principal en mi caso). Durante esto sigo teniendo el error. y agréguelo a la carpeta src y rum la clase principal. It worked!