2013-05-15 7 views
56

空のSpring MVCプロジェクトがあり、Mavenを使ってHibernateとPostgreSQLドライバをインストールしました。PostgreSQL 9.2.1とHibernateの接続

私は、PostgreSQLとHibernateを接続する方法を示す完全なチュートリアルを載せていません。

ここにヘルプがありますか?

答えて

101

これは、posgresqlのhibernate.cfg.xmlで、posgresqlの基本的な休止状態の設定に役立ちます。このプロジェクトは、Mavenのは、パッケージの段階で、src/main/resourcesにそれを置いている場合

<!DOCTYPE hibernate-configuration PUBLIC 
     "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 

<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 
     <property name="hibernate.connection.driver_class">org.postgresql.Driver</property> 
     <property name="hibernate.connection.username">postgres</property> 
     <property name="hibernate.connection.password">password</property> 
     <property name="hibernate.connection.url">jdbc:postgresql://localhost:5432/hibernatedb</property> 



     <property name="connection_pool_size">1</property> 

     <property name="hbm2ddl.auto">create</property> 

     <property name="show_sql">true</property> 



     <mapping class="org.javabrains.sanjaya.dto.UserDetails"/> 

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

これは素晴らしいですが、私はこのファイルをどこに置くのですか? WEB-INFでは? –

+1

@HrishikeshChoudhariそれはあなたのビルドパスのどこかにあるはずです。私はWEB-INFがうまくいくと思います。私はウェブプロジェクトについてあまり理解していませんが、WEB-INFがビルドパスにあると感じます。 –

+9

org.hibernate.dialect.PostgreSQLDialectは推奨されていません。 org.hibernate.dialect.PostgreSQL82Dialect の代わりに – long

5

それはこれは、PostgreSQL 9.5を接続するためのhibernate.cfg.xmlファイルである../WEB-INF/classes/hibernate.cfg.xml

1

にそれをコピーし、これがするのに役立ちありますあなたは基本的な設定です。

<?xml version='1.0' encoding='utf-8'?> 

<!-- 
    ~ Hibernate, Relational Persistence for Idiomatic Java 
    ~ 
    ~ License: GNU Lesser General Public License (LGPL), version 2.1 or later. 
    ~ See the lgpl.txt file in the root directory or <http://www.gnu.org/licenses/lgpl-2.1.html>. 
    --> 
<!DOCTYPE hibernate-configuration SYSTEM 
     "http://www.hibernate.org/dtd/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration 
> 
    <session-factory> 
     <!-- Database connection settings --> 
     <property name="connection.driver_class">org.postgresql.Driver</property> 
     <property name="connection.url">jdbc:postgresql://localhost:5433/hibernatedb</property> 
     <property name="connection.username">postgres</property> 
     <property name="connection.password">password</property> 

     <!-- JDBC connection pool (use the built-in) --> 
     <property name="connection.pool_size">1</property> 

     <!-- SQL dialect --> 
     <property name="hibernate.dialect">org.hibernate.dialect.PostgreSQLDialect</property> 

     <!-- Enable Hibernate's automatic session context management --> 
     <property name="current_session_context_class">thread</property> 

     <!-- Disable the second-level cache --> 
     <property name="cache.provider_class">org.hibernate.cache.internal.NoCacheProvider</property> 

     <!-- Echo all executed SQL to stdout --> 
     <property name="show_sql">true</property> 

     <!-- Drop and re-create the database schema on startup --> 
     <property name="hbm2ddl.auto">create</property> 
     <mapping class="com.waseem.UserDetails"/> 
    </session-factory> 
</hibernate-configuration> 

必ずファイルの場所は、我々はデータを永続化することができますHibernate設定ファイルで春ブートを使用してのsrc /メイン/リソース/ hibernate.cfg.xmlの

0

はいの下でなければなりませんしてくださいデータベースに転送します。 データベースに関連する設定を読み込むには、src/main/resourcesフォルダーに.cfg.xmlをハイバネートしておいてください。

enter image description here

+1

**あなたの投稿を**編集し**実際のコード/ XMLをスクリーンショットの代わりにテキストとして表示してください。他の人は画像からコピー&ペーストすることはできません。 [詳細はこちら](https://meta.stackoverflow.com/a/285557/1402846)を参照してください。ありがとうございました。 – Pang