1

我正在尝试将休眠与 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)
4

1 回答 1

1

根据Oracle TimesTen 文档

请注意,此配置使用包含的 Hibernate 方言,称为 TimesTenDialect1122。当前版本的 Hibernate 发行版中不包含这种方言。TimesTenDialect1122 类被编译并打包到这个应用程序中。这是 TimesTen 11.2.2 应用程序推荐的 Hibernate 方言。

因此,您可能没有将包含方言的 jar 包含到您的项目类路径中:

确保属性 timesten.jdbc.driver.jar 和 ORM 安装的 home.dir 在文件 build.properties 中正确设置

于 2014-12-17T11:19:22.140 回答