2016-04-16 18 views
1

ich eine MappingNotFoundException haben: Ressource: TradFileRecord.hbm.xml nichtHibernate Mapping-Ressource nicht gefunden

gefunden

und dies in einem Kern configuratioon

Diese Datei wie hibernate.cfg.xml Datei ares in src gelegen/main/resources

der Inhalt der Datei Hibernate

 <?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-configuration SYSTEM 
"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.url"> 
     jdbc:postgresql://localhost:5432/Subtitlor 
    </property> 
    <property name="hibernate.connection.username"> 
     postgres 
    </property> 
    <property name="hibernate.connection.password"> 
     1234 
    </property> 

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

     <!-- mapping files --> 
     <mapping resource="TradFileRecord.hbm.xml"/> 

     <!-- cache settings --> 
     <class-cache class="com.subtitlor.bean.TradFileRecord" usage="read-write"/> 


<!-- <mapping resource="src/main/resources/TradFileRecord.hbm.xml"/> --> 
<!-- <mapping class="com/subtitlor/bean/TradFileRecord"/> --> 
</session-factory> 
</hibernate-configuration> 

und der Inhalt der Zuordnungsdatei

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE hibernate-mapping PUBLIC 
"-//Hibernate/Hibernate Mapping DTD//EN" 
"http://www.hibernate.org/dtd/hibernate-mapping-3.0.dtd"> 

<hibernate-mapping> 
    <class name="com.subtitlor.bean.TradFileRecord" table="tradfilerecord"> 
     <meta attribute="class-description"> 
     This class contains the TradFileRecord detail. 
     </meta> 
     <id name="idLigne" type="int" column="idline"> 
     <generator class="native"/> 
     </id> 
     <property name="timeValues" column="timevalues" type="string"/> 
     <property name="originalLine1" column="text1" type="string"/> 
     <property name="originalLine2" column="text2" type="int"/> 
     <property name="TranslatedLine1" column="translatedtext1" type="string"/> 
     <property name="TranslatedLine2" column="translatedtext2" type="string"/> 
     <property name="fileName" column="filename" type="string"/> 
     <property name="descriptionFile" column="descriptionfile" type="string"/> 
    </class> 
</hibernate-mapping> 

und Anmerkungen Konfiguration ich einen anderen Fehler haben: could Könnten Sie mir nicht

Anmerkungen laden helfen

ich meine pom.xml

<dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-core</artifactId> 
      <version>4.0.1.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-validator</artifactId> 
      <version>4.0.1.Final</version> 
     </dependency> 
    <!-- <dependency> 
      <groupId>org.hibernate.common</groupId> 
      <artifactId>hibernate-commons-annotations</artifactId> 
      <version>4.0.1.Final</version> 
      <classifier>tests</classifier> 
     </dependency> --> 
    <!-- <dependency> 
      <groupId>hibernate-annotations</groupId> 
      <artifactId>hibernate-annotations</artifactId> 
      <version>3.3.0.GA</version> 
     </dependency> --> 
     <!-- <dependency> 
      <groupId>hibernate-commons-annotations</groupId> 
      <artifactId>hibernate-commons-annotations</artifactId> 
      <version>3.0.0.GA</version> 
     </dependency> --> 
     <dependency> 
      <groupId>org.hibernate.javax.persistence</groupId> 
      <artifactId>hibernate-jpa-2.0-api</artifactId> 
      <version>1.0.1.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>org.hibernate</groupId> 
      <artifactId>hibernate-entitymanager</artifactId> 
      <version>4.0.1.Final</version> 
     </dependency> 
     <dependency> 
      <groupId>javax.validation</groupId> 
      <artifactId>validation-api</artifactId> 
      <version>1.0.0.GA</version> 
      <scope>provided</scope> 
     </dependency> 
     <dependency> 
    <groupId>org.hibernate</groupId> 
    <artifactId>hibernate-search-orm</artifactId> 
    <version>5.5.2.Final</version> 
</dependency> 
sicher bitte

Antwort

0

Sie müssen dafür vergessen dass Maven weiß, dass es eine Ressource ist, also lege es in das Verzeichnis src/main/resources und dann weiß Maven, dass es in Position kopiert wird, und dann wird es eine Ressource sein.

Neben dem Erstellen eines Quellen-Jar wird Maven src/main/java verwenden, um daraus zu erstellen, aber wird die Quelle nicht in das Zielverzeichnis kopieren, und daher ist es nicht im fertigen Jar enthalten.

Persönlich würde ich die Mapping-Datei in das gleiche Paket wie die Klasse, so src/main/resources/com/subtitler/bean/TradFileRecord.hbm.xml.

+0

Diese 2 Konfigurationsdateien befinden sich in src/main/resources und sind der Standardressourcenordner für Maven-Projekte. Und legen Sie eine Mapping-Ressourcendatei in einem Klassenordner scheint keine Best Practices zu sein, werde ich versuchen –

+0

nur sagen, was für mich funktioniert –

+0

und es funktioniert nicht –

Verwandte Themen