MySQL的Hibernate问题:'无法创建请求的服务'

时间:2015-11-08 19:52:26

标签: eclipse hibernate jdbc jar

我刚刚开始使用Hibernate(使用在source-forge上找到的Hibernate 5.0.2)。

我使用MySQL作为我的数据库。我刚刚开始,我正在关注this course to start learning Hibernate。我相信我已经完成了每一步。在我发现的几乎所有hibernate示例中,我都看到org.hibernate.service.ServiceRegistryBuilder已弃用,因此教程已过时。

所以我导入org.hibernate.boot.registry.StandardServiceRegistryBuilder并使用它,并且没有编译器问题。我的步骤:我启动了本地服务器,然后创建了Java Project,并将必要的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)

以下是它给我的错误:

  

无法创建请求的服务[org.hibernate.engine.jdbc.env.spi.JdbcEnvironment

这就是所有的信息,没有“原因”,就像我有时会在堆栈跟踪中看到的那样。

可以在我上面发布的网站上找到类和xml文件。我完全复制和粘贴(除了密码,我注意到StandardServiceRegistryBuilder)。

如果您希望我发布我的实际课程和文件,我也会很开心,但请注意它与网站相同。这是我第一次使用Hibernate,我不明白为什么它不起作用。如果您有任何问题,请询问。

1 个答案:

答案 0 :(得分:0)

哇,没关系。对不起,打扰你。该教程声明我不需要在MySQl中创建hibernatedb数据库,但事实证明我需要做的就是在MySQL中创建hibernatedb。我以前做过这个,但它必须是一个不同于以前使用过的配置,因为我从来没有让它工作过。我想发布这个并深入研究它对我有帮助。谢谢!