java - 无法在休眠状态下连接到服务器数据库
问题描述
我可以使用 连接到我的本地数据库hibernate
,但我无法连接到我的远程服务器数据库mysql
。我收到此错误:
Initial SessionFactory creation
failed.org.hibernate.service.spi.ServiceException: Unable to create
requested service
[org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
org.hibernate.service.spi.ServiceException: Unable to create requested
service [org.hibernate.engine.jdbc.connections.spi.ConnectionProvider]
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:261)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:225)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
at
org.hibernate.engine.jdbc.internal.JdbcServicesImpl.buildJdbcConnectionAccess(JdbcServicesImpl.java:260)
at
org.hibernate.engine.jdbc.internal.JdbcServicesImpl.configure(JdbcServicesImpl.java:94)
at
org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.configureService(StandardServiceRegistryImpl.java:111)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.initializeService(AbstractServiceRegistryImpl.java:234)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.getService(AbstractServiceRegistryImpl.java:206)
at
org.hibernate.cfg.Configuration.buildTypeRegistrations(Configuration.java:1885)
at
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1843)
at
org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1928)
at
com.axelta.util.HibernateUtil.buildSessionFactory(HibernateUtil.java:31)
at com.axelta.util.HibernateUtil.<clinit>(HibernateUtil.java:15) at
com.axelta.service.AxServiceImpl.getHeartbeatEnabledDevicesList(AxServiceImpl.java:26)
at com.axelta.Scheduler.heartBeatMainService(Scheduler.java:19) at
com.axelta.Scheduler.main(Scheduler.java:38) Caused by:
org.hibernate.HibernateException: Could not instantiate connection
provider [org.hibernate.connection.C3P0ConnectionProvider] at
org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:197)
at
org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:120)
at
org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.initiateService(ConnectionProviderInitiator.java:55)
at
org.hibernate.boot.registry.internal.StandardServiceRegistryImpl.initiateService(StandardServiceRegistryImpl.java:105)
at
org.hibernate.service.internal.AbstractServiceRegistryImpl.createService(AbstractServiceRegistryImpl.java:251)
... 15 more Caused by:
org.hibernate.boot.registry.selector.spi.StrategySelectionException:
Unable to resolve name
[org.hibernate.connection.C3P0ConnectionProvider] as strategy
[org.hibernate.engine.jdbc.connections.spi.ConnectionProvider] at
org.hibernate.boot.registry.selector.internal.StrategySelectorImpl.selectStrategyImplementor(StrategySelectorImpl.java:128)
at
org.hibernate.engine.jdbc.connections.internal.ConnectionProviderInitiator.instantiateExplicitConnectionProvider(ConnectionProviderInitiator.java:194)
... 19 more
解决方案
<!-- Database Settings -->
<property name="hibernate.connection.driver_class">com.mysql.jdbc.Driver</property>
<!-- for org.hibernate.dialect -->
<property name="hibernate.dialect">org.hibernate.dialect.MySQLDialect</property>
<property name="show_sql">false</property>
<property name="hibernate.hbm2ddl.auto">update</property>
<property name="hibernate.connection.isolation">2</property>
<property name = "hibernate.jdbc.batch_size">10 </property>
<mapping class="com.axelta.model.AxDeviceDetails"/>
<mapping class="com.axelta.model.AxAlarm"/>
<mapping class="com.axelta.model.AxAlarmType"/>
<mapping class="com.axelta.model.AxClient"/>
<mapping class="com.axelta.model.AxClientGroup"/>
<mapping class="com.axelta.model.AxDeviceMaster"/>
<mapping class="com.axelta.model.AxNodeAlarm"/>
<mapping class="com.axelta.model.AxNodeAlarmUsers"/>
<mapping class="com.axelta.model.AxNodeDetails"/>
<mapping class="com.axelta.model.AxNodeMetadataDefinition"/>
<mapping class="com.axelta.model.AxRules"/>
<mapping class="com.axelta.model.AxUser"/>
<mapping class="com.axelta.model.HeartBeat"/>
<mapping class="com.axelta.model.Sim"/>
</session-factory>
推荐阅读
- reactjs - 导入反应密码强度
- greenplum - 如何在 GreenPlum 上放置计划任务?
- rest - 带有特定 ZIP 内容的 HTTP Accept 标头
- java - Redis 键命令未显示所有键
- c# - c# 从哈希集中删除最旧的项目
- c# - 输出元组列表
到没有 [,] (括号)出现的字符串 - android - 如何在 Compose Jetpack 中创建回收站视图?
- c# - Visual Studio 2019:C# 部署
- android - TouchAnchorId 不完全是 MotionLayout android 中的 OnSwipe
- javascript - 谷歌地图动态标记位置不正确 - 纬度和经度是准确的