我正在尝试将休眠与TimesTen数据库一起使用。
我有正确的方言:TimesTenDialect1122.java但我不确定如何将其添加到 Eclipse 中的项目中。
文件中的包声明为:
package org.hibernate.dialect;
那么如何正确地将其添加到我的项目中。
我目前在我的资源文件夹中有它,在我的休眠配置中,我有
<property name="hibernate.dialect" >
org.hibernate.dialect.TimesTenDialect1122
</property>
但这显然不起作用,因为它找不到类。
堆栈跟踪和错误:
INFO: JDBC isolation level: READ_COMMITTED
Dec 17, 2014 10:38:41 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: using driver: com.timesten.jdbc.TimesTenDriver at URL: jdbc:timesten:client:dsn=DEV TT
Dec 17, 2014 10:38:41 AM org.hibernate.connection.DriverManagerConnectionProvider configure
INFO: connection properties: {user=USER, password=PASSWORD}
Dec 17, 2014 10:38:41 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: RDBMS: TimesTen, version: 11.02.02.0007 Oracle TimesTen IMDB version 11.2.2.7.8
Dec 17, 2014 10:38:41 AM org.hibernate.cfg.SettingsFactory buildSettings
INFO: JDBC driver: JDBC-ODBC Bridge (ttclient1122.dll), version: 11.2.2.7.4 (11.02.0002.0007)
Exception in thread "main" org.hibernate.HibernateException: Dialect class not found: org.hibernate.dialect.TimesTenDialect1122
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:81)
at org.hibernate.dialect.DialectFactory.buildDialect(DialectFactory.java:42)
at org.hibernate.cfg.SettingsFactory.determineDialect(SettingsFactory.java:426)
at org.hibernate.cfg.SettingsFactory.buildSettings(SettingsFactory.java:128)
at org.hibernate.cfg.Configuration.buildSettings(Configuration.java:2073)
at org.hibernate.cfg.Configuration.buildSessionFactory(Configuration.java:1298)
at com.fil.foras.ActAsPOC.ActAsPOC.main(ActAsPOC.java:17)
根据Oracle TimesTen文档:
请注意,此配置使用包含的 Hibernate 方言 称为时代方言1122。此方言不包括在当前 Hibernate发行版的版本。时代方言1122类 被编译并打包到此应用程序中。这是 推荐Hibernate方言用于时代十篇11.2.2应用程序。
因此,您可能没有将包含方言的 jar 包含在项目类路径中:
确保属性 timesten.jdbc.driver.jar 和 home.dir 的 ORM 安装已在文件构建中正确设置。