org.hibernate.MappingException: An AnnotationConfiguration instance is required

421
02 февраля 2017, 00:34

В общем получаю данную ошибку при попытке получить данные из БД mySql в сервлете.

@WebServlet(name = "PatientServlet", urlPatterns = "/patient")
 public class PatientServlet extends HttpServlet {
protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
}
protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException {
    Session session = HibernateUtill.getSessionFactory().openSession();
    PatientDAOImpl patientDAO = new PatientDAOImpl();
    patientDAO.setSession(session);
    try {
        request.setAttribute("patients", patientDAO.findAll());
    } catch (Exception e) {
        e.printStackTrace();
    }
    request.getRequestDispatcher("WEB-INF/patient.jsp").forward(request, response);
}

}

Использую maven, все зависимости удовлетворены. Если я пытаюсь подключиться к БД из обычного класса, не сервлета, и просто вывожу какие-то данные из БД в консоль, все работает.

org.hibernate.MappingException: An AnnotationConfiguration instance is required to use <mapping class="com.likhanov.model.dao.entities.Patient"/>
at org.hibernate.cfg.Configuration.parseMappingElement(Configuration.java:1597)
at org.hibernate.cfg.Configuration.parseSessionFactory(Configuration.java:1552)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1531)
at org.hibernate.cfg.Configuration.doConfigure(Configuration.java:1505)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1425)
at org.hibernate.cfg.Configuration.configure(Configuration.java:1411)
at com.likhanov.model.HibernateUtill.<clinit>(HibernateUtill.java:11)
at com.likhanov.controllers.PatientServlet.doGet(PatientServlet.java:25)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)
SEVERE: Servlet.service() for servlet [PatientServlet] in context with path [] threw exception [Servlet execution threw an exception] with root cause
java.lang.ExceptionInInitializerError
at com.likhanov.model.HibernateUtill.<clinit>(HibernateUtill.java:15)
at com.likhanov.controllers.PatientServlet.doGet(PatientServlet.java:25)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:624)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:731)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:218)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:122)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:505)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:958)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:452)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1087)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:318)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:745)

Полный код в репозиторие.

Ошибка, кстати, указывает на класс HibernateUtill. Я подозреваю, что tomcat не видит файл hibernate.cfg.xml.

В war файл упаковал все доступные либы, что подтащил maven. Понимаю, что возможно это излишне, так как сама idea ничего об этом не предупреждала (fix не загорался), но думал хоть так заработает. Еще закинул конфиг. файл от hibernate.

Просто запускаю и перехожу по нужному адресу. По идее сервлет, отвечающий за этот адрес, должен вытянуть из бд нужные данные, но падает, и указывает на HibernateUtill. Извиняюсь, если что, только начал работать с вебом.

READ ALSO
Узнать окончание воспроизведения MediaPlayer

Узнать окончание воспроизведения MediaPlayer

Как узнать, что MediaPlayer завершил проигрывать аудио и начать воспроизведение другого аудио?

376
восстановление пароля от jks

восстановление пароля от jks

У меня ест jks файл, который используется для подписи android приложенияТак вот проблема в том как получить пароль (пароли) от сертификата, т

614
Перенаправление лога slf4j

Перенаправление лога slf4j

Использую библиотеку Parallec, которая в свою очередь ведет логи в slf4jСкажите можно ли перенаправить сообщения заданного уровня (WARN и страшнее)...

409
Как перемешать 2 строки

Как перемешать 2 строки

Почему массив arrayC запоминает только по одному элементу из каждого массива? Я планировал перемешать 2 строки

409