Hibernate无视我的方言

时间:2013-12-23 18:23:36

标签: java hibernate

我想将hibernate用于postreSQL但它不起作用。 我将.xml放到'resources'文件夹中。

这是我的hibernate.cfg.xml:

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE hibernate-configuration PUBLIC
        "-//Hibernate/Hibernate Configuration DTD//EN"
        "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd">
<hibernate-configuration>
    <session-factory>
        <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/postgres</property>
        <property name="hibernate.connection.driver_class">org.postgresql.Driver</property>
        <property name="hibernate.connection.username">postgres</property>
        <property name="hibernate.connection.password">123</property>
        <!-- DB schema will be updated if needed -->
        <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property>
        <property name="hibernate.hbm2ddl.auto">create</property>
        <mapping class="ru.systemprom.example.testClass"/>

    </session-factory>
</hibernate-configuration>

在开始时我得到错误信息:

22:09:43,646 INFO  [org.hibernate.cfg.SettingsFactory] Database ->
       name : HSQL Database Engine
    version : 1.8.0
      major : 1
      minor : 8
22:09:43,646 INFO  [org.hibernate.cfg.SettingsFactory] Driver ->
       name : HSQL Database Engine Driver
    version : 1.8.0
      major : 1
      minor : 8
22:09:43,692 INFO  [org.hibernate.dialect.Dialect] Using dialect: org.hibernate.dialect.HSQLDialect // !? i setted up posgresSQL dialect not hsql =(
22:09:43,719 INFO  [org.hibernate.engine.jdbc.JdbcSupportLoader] Disabling contextual LOB creation as JDBC driver reported JDBC version [3] less than 4

我认为Hibernate因为发生此错误而无法正常工作。 为什么忽略我的设置以及如何让它工作?

注意:我听说Maven从'资源'文件夹中获取所有内容,所以我认为问题不是因为它

1 个答案:

答案 0 :(得分:1)

您创建会话工厂的代码是什么?确保您将配置文件传递给它... configure()可以接受字符串,文档,文件,URL等。

new Configuration().configure("hibernate.cfg.xml")