2017-07-18 22 views
0

私のJava Webアプリケーションを、すべての依存関係やその他のものを含むzipファイルにパッケージしています.Mavenアセンブリプラグインを使用して、バッチスクリプトを作成して、日食を開かずにそれを実行してください...hibernate.cfg.xmlをwar.mavenから外部化する

私はこのバッチファイルを他の人に実行したいです他のコンピュータのデータベース、ここで私はhibernate.cfgを外部化する方法があるかどうか教えてください.xmlを使用して、アプリケーションがリンクされるデータベースを直接設定します。あなたがhibernate.cfg.xmlを外部化のためのpropertyファイルを設定する必要があり、事前

答えて

0

私は(ユーザー名接続プロパティを指定しなければならないことを発見しました、パスワード、connection.url、dialect ...)をhibernate.propertiesに入力します。 クラスマッピングはhibernate.cfg.xmlファイルに残る必要があります。 そして、それらを両方ともresourcesに置くことによって、Hibernateは両方を探し出し、彼が必要とするものを抽出します:D

0

感謝。クラスパスにhibernate.propertiesを作成し、hibernateの設定用の変数と値を設定します。あなたはそれのために怒鳴るのサンプルコードを参照することができます。

はhibernate.cfg.xml:

<bean id="sessionFactory" class="org.springframework.orm.hibernate4.LocalSessionFactoryBean"> 
    <property name="hibernateProperties"> 
     <map> 
      <entry key="connection.driver_class" value="${hibernate.connection.driver_class}" /> 
      <entry key="connection.username" value="${hibernate.connection.username}" /> 
      <entry key="connection.password" value="${hibernate.connection.password}" /> 
      <entry key="transaction.factory_class" value="org.hibernate.transaction.JDBCTransactionFactory" /> 
     </map> 
    <property> 
</bean> 

hibernate.properties:

hibernate.connection.driver_class = com.mysql.jdbc.Driver 
hibernate.connection.url = jdbc:mysql://localhost:3306/test 
hibernate.connection.username = root 
hibernate.connection.password = root 
hibernate.dialect = org.hibernate.dialect.MySQLDialect 
hibernate.current_session_context_class=thread 
+0

春を含まないでこれを行う方法はありますか?それとも必須ですか? – ZiOS

+0

いいえ..これは必須ではありません。適切な設定をするには、このリンクを参照することができます:https://stackoverflow.com/questions/45173127/externalize-hibernate-cfg-xml-from-war-maven/45173364?noredirect = 1#comment77316235_45173364、このリンクでは設定について。 ansはこの設定をプロパティファイルに使用します。 – Sharma

関連する問題