Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 找不到hibernate映射资源_Java_Hibernate - Fatal编程技术网

Java 找不到hibernate映射资源

Java 找不到hibernate映射资源,java,hibernate,Java,Hibernate,我有一个MappingNotFoundException:未找到资源:TradFileRecord.hbm.xml 这是一个核心配置 该文件类似于hibernate.cfg.xml文件,位于src/main/resources中 hibernate文件的内容 <?xml version="1.0" encoding="utf-8"?> <!DOCTYPE hibernate-configuration SYSTEM "http://www.hibernate.org

我有一个MappingNotFoundException:未找到资源:TradFileRecord.hbm.xml

这是一个核心配置

该文件类似于hibernate.cfg.xml文件,位于src/main/resources中

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>

org.hibernate.dialogue.PostgreSqlDialogue
org.postgresql.Driver
jdbc:postgresql://localhost:5432/Subtitlor
博士后
1234
真的
以及映射文件的内容

<?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>

此类包含TradFileRecord详细信息。
对于注释配置,我还有另一个错误:无法加载注释

你能帮我吗

我忘了我的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>

org.hibernate
冬眠核心
4.0.1.最终版本
org.hibernate
休眠验证器
4.0.1.最终版本
org.hibernate.javax.persistence
hibernate-jpa-2.0-api
1.0.1.最终版本
org.hibernate
休眠实体管理器
4.0.1.最终版本
javax.validation
验证api
1.0.0.GA
假如
org.hibernate
休眠搜索orm
5.5.2.最终版本

您需要确保Maven知道它是一个资源,所以将它放在src/main/resources目录中,然后Maven知道将它复制到适当的位置,然后它将成为一个资源

除了构建一个sources jar,Maven将使用src/main/java进行构建,但不会将源代码复制到目标目录,因此它不在已完成的jar中


就个人而言,我会将映射文件与类放在同一个包中,这样src/main/resources/com/subtitlor/bean/TradFileRecord.hbm.xml。

您需要确保Maven知道它是一个资源,所以将它放在src/main/resources目录中,然后Maven知道将它复制到适当的位置,然后它将成为一个资源

除了构建一个sources jar,Maven将使用src/main/java进行构建,但不会将源代码复制到目标目录,因此它不在已完成的jar中


就我个人而言,我将映射文件与类放在同一个包中,因此src/main/resources/com/subtitlor/bean/TradFileRecord.hbm.xml。

这两个配置文件位于src/main/resources中,这是maven项目的默认资源文件夹。将映射资源文件放在类文件夹中似乎不是最佳做法,我将尝试将这2个配置文件放在src/main/resources中,这是maven项目的默认资源文件夹。并且把一个映射资源文件放在一个类文件夹中似乎不是一个最佳做法,我要试试