2012-03-20 12 views
0

正規表現(または単に*)を使用して、Hibernateに指定されたディレクトリ内またはプロジェクト内のすべてのhbm.xmlファイルをピックアップするよう指示する方法はありますか?私はデータベースをリバース・エンジニアリングしただけで、<マッピング・リソース= "..."で表を100個指定する気がしません。hibernate.cfg.xmlマッピングリソース

私はhbm2javaを実行するためにMavenを使用しています。私は、私のコンポーネント構成で何かを指示する必要がありますか?

私のhibernate.cfg.xmlのは、現在、次のようになります。

<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE hibernate-configuration PUBLIC 
    "-//Hibernate/Hibernate Configuration DTD 3.0//EN" 
    "http://hibernate.sourceforge.net/hibernate-configuration-3.0.dtd"> 
<hibernate-configuration> 
    <session-factory> 
     <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property> 
     <property name="hibernate.connection.url">jdbc:oracle:thin:@....</property> 
     <property name="hibernate.connection.username">hithere</property> 
     <property name="hibernate.connection.password">shhhh</property> 
     <property name="hibernate.default_schema">foobar</property> 
     <property name="hibernate.dialect">org.hibernate.dialect.Oracle10gDialect</property> 

     <mapping resource="com/foo/bar/db/Blip.hbm.xml" /> 
     <mapping resource="com/foo/bar/db/Blap.hbm.xml" /> 
     <mapping resource="com/foo/bar/db/Blop.hbm.xml" /> 
    </session-factory> 
</hibernate-configuration> 

答えて

1

私はhibernate.cfg.xmlを選択的にリソースをインポートするには、正規表現をサポートしていないと思います。 buildSessionFactory()をと呼んでSessionFactoryをビルドする前に、正規表現を使用して休止状態にしたい場所を選択し、次にaddResource()またはaddClass()を使用してそれらを追加することができますConfigurationオブジェクトです。

それとも、実装としてHibernateでJPAを使用する場合は、hbmにプロパティhibernate.archive.autodetectionを設定することで、すべてのhbm.xmlファイルの自動検出を有効にすることができます(thisを参照)

+0

非常に便利な答えですが、残念ながら、私はそれらにhbm2javaを実行する目的のためにリソースを含めることを望んでいました(私はそれを十分に指摘することができませんでした!)そして、あなたは正規表現の使用の可能性を確認しました。それは私を直接助けてくれません。しかし、私は他の人がそれを利用することを確信しています。 – Marvo

+0

私はhibernate.cfg.xmlがこれを単にサポートしていないとあなたが正しいと思います。そして、しばらくすると、hbm.xmlファイルのリスト全体をファイルにロードするのは面倒な作業でしたが、これは一度だけのことでした。結局のところ、その大したことではありません。ご協力いただきありがとうございます! – Marvo