2015-11-08 1 views
0

Я только начинаю использовать Hibernate (используя Hibernate 5.0.2, найденный в исходной кузнице).Проблемы с Hibernate с MySQL: «невозможно создать запрошенную услугу»

Я использую MySQL в качестве моей базы данных. Я только начинаю, и я следую this course to start learning Hibernate. Кажется, я следил за каждым шагом к точке. Почти во всех спящих примерах, которые я нашел, я вижу, что org.hibernate.service.ServiceRegistryBuilder устарел, поэтому учебники устарели.

Так что вместо этого я импортирую org.hibernate.boot.registry.StandardServiceRegistryBuilder и использую это, и проблем с компилятором нет. Мои шаги: я запустил локальный сервер, затем создал Java-проект и добавил необходимые файлы jar в путь класса (все необходимое в hibernate 5.0.2 и MySQL connectorJ). Затем я создаю пакет в папке/src и помещаю в этот пакет как класс «Employee.java», так и «MainClass.java». Вне пакета я помещаю файл employee.hm.xml и hibernate.cfg.xml в папку/src.

Затем я запускаю файл MainClass.java, а вот трассировки стека:

Nov 08, 2015 1:30:25 PM org.hibernate.Version logVersion 
INFO: HHH000412: Hibernate Core {5.0.2.Final} 
Nov 08, 2015 1:30:25 PM org.hibernate.cfg.Environment <clinit> 
INFO: HHH000206: hibernate.properties not found 
Nov 08, 2015 1:30:25 PM org.hibernate.cfg.Environment buildBytecodeProvider 
INFO: HHH000021: Bytecode provider name : javassist 
Nov 08, 2015 1:30:25 PM org.hibernate.boot.jaxb.internal.stax.LocalXmlResourceResolver resolveEntity 
WARN: HHH90000012: Recognized obsolete hibernate namespace http://hibernate.sourceforge.net/hibernate-configuration. Use namespace http://www.hibernate.org/dtd/hibernate-configuration instead. Support for obsolete DTD/XSD namespaces may be removed at any time. 
Nov 08, 2015 1:30:25 PM org.hibernate.annotations.common.reflection.java.JavaReflectionManager <clinit> 
INFO: HCANN000001: Hibernate Commons Annotations {5.0.0.Final} 
Nov 08, 2015 1:30:25 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
WARN: HHH000402: Using Hibernate built-in connection pool (not for production use!) 
Nov 08, 2015 1:30:25 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 
INFO: HHH000401: using driver [com.mysql.jdbc.Driver] at URL [jdbc:mysql://localhost:3306/hibernatedb] 
Nov 08, 2015 1:30:25 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 
INFO: HHH000046: Connection properties: {user=root, password=****} 
Nov 08, 2015 1:30:25 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl buildCreator 
INFO: HHH000006: Autocommit mode: false 
Nov 08, 2015 1:30:25 PM org.hibernate.engine.jdbc.connections.internal.DriverManagerConnectionProviderImpl configure 
INFO: HHH000115: Hibernate connection pool size: 1 (min=1) 

А вот ошибка это дает мне:

Невозможно создать запрошенную услугу [орг .hibernate.engine.jdbc.env.spi.JdbcEnvironment

Это вся информация, нет «Причина», как я так см. в трассировке стека.

Классы и файлы xml можно найти на веб-сайте, который я разместил выше. Я буквально скопировал и вставлял (за исключением пароля, и, как я заметил, StandardServiceRegistryBuilder).

Если вы хотите, чтобы я опубликовал свои фактические классы и файлы, я был бы тоже счастлив, но просто отметьте, что он будет таким же, как на веб-сайте. Это мой первый раз, когда я использую Hibernate, и я не понимаю, почему он не работает. Если у вас есть какие либо вопросы, пожалуйста спрашивайте.

ответ

0

Ничего себе. Извините, что беспокоил вас. В учебнике указано, что мне не нужно иметь базу данных hibernatedb, созданную в MySQl, но, оказывается, все, что мне нужно было сделать, это создать hibernatedb в MySQL. Я делал это раньше, но, должно быть, это была другая конфигурация, чем раньше, потому что я никогда не получал этого, чтобы работать. Я предполагаю, что публикация этого и изучение в нем более подробно помогла мне. Благодаря!