2016-12-06 7 views
0

Interbase DBに接続するときにHibernateセッションを動作させるのが難しいです。 JDBCを使用してデータベースに接続できますが、Interbaseに接続しようとしたときにセッションがインスタンス化できない理由がわかりません。私のhibernate.cfg.xmlのInterbase DB:要求されたサービスを作成できません:Hibernateセッション

database connection: 
URL configLoc = this.getClass().getResource("/resources/hibernate.cfg.xml"); 
Properties props = new Properties(); 
try { 
    databaseName = "jdbc:interbase://v-ib/e:/db/44june.gdb"; 
    configuration = new Configuration().configure(configLoc); 
    configuration.setProperty("hibernate.connection.url", databaseName); 
    configuration.setProperty("hibernate.connection.username", "HOST"); 
    configuration.setProperty("hibernate.connection.password", "HOST"); 
    try{ 
     sessionFactory = configuration.buildSessionFactory(); 
    } catch (Exception e2){ 
    System.out.println(e2.getMessage()); 
    } 
    } 
} 
database = sessionFactory.createEntityManager(); 

...とここにある:ここで

は、InterBaseに接続するために私の方法のエキスです

Hibernate.cfg.xml : 

<hibernate-configuration> 
<session-factory> 
    <property  
    name="hibernate.dialect">org.hibernate.dialect.InterbaseDialect</property> 
    <property 
name="hibernate.connection.driver_class">interbase.interclient.Driver</property> 
<property name="hibernate.show_sql">true</property> 
<property name="hibernate.connection.pool_size">1</property> 
<property name="hibernate.jdbc.use_scrollable_resultset">true</property>  

私は実行コードを作成しようとする行に例外がスローされます。sessionFactory:

configuration.buildSessionFactory();ここ

とは例外です:

Unable to create requested service [org.hibernate.engine.jdbc.env.spi.JdbcEnvironment]

答えて

0

私は、これが失敗した理由は、レガシーコードから残されたいくつかの設定をしたと思われます。 Interbaseクラスと方言がhibernate.cfg.xmlから適切にロードされていないことが、私が収集できる最良のものです。 try {}ブロックに次の行を追加すると、そのトリックが行われたようです。

String dialect = "org.hibernate.dialect.InterbaseDialect"; 
String driverClass = "interbase.interclient.Driver"; 
configuration.setProperty("hibernate.connection.dialect", dialect); 
configuration.setProperty("hibernate.connection.driver_class", 
    driverClass); 
関連する問題