Hibernate 如何在SpringBoot项目中用文件配置(使用XML)替换注释
我想用一个配置文件(也是存储库文件中的查询)替换JPA和hibernate的注释(@Entity、@Table、@Id、@GenratedValue,…),但我不知道怎么做,我知道的是我需要另一个XML格式的配置文件(application.properties除外),我的问题是我在哪里创建这个文件?它的内容是什么Hibernate 如何在SpringBoot项目中用文件配置(使用XML)替换注释,hibernate,jpa,spring-boot,Hibernate,Jpa,Spring Boot,我想用一个配置文件(也是存储库文件中的查询)替换JPA和hibernate的注释(@Entity、@Table、@Id、@GenratedValue,…),但我不知道怎么做,我知道的是我需要另一个XML格式的配置文件(application.properties除外),我的问题是我在哪里创建这个文件?它的内容是什么 非常感谢你回复我 现在,我的项目如下所示: 这是我的orm.xml文件: <entity-mappings> <entity class="org.si
非常感谢你回复我 现在,我的项目如下所示: 这是我的orm.xml文件:
<entity-mappings>
<entity class="org.sid.dao.entity.Etudiant">
<table name="etudiants">
<attributes>
<id name="id">
<genrated-value strategy="AUTO"></genrated-value>
</id>
<basic name="nom"></basic>
<basic name="prenom"></basic>
<many-to-one>
<Join-column name="id_formation">
<basic name="formation"></basic>
</Join-column>
</many-to-one>
</attributes>
</table>
</entity>
<entity class="org.sid.dao.entity.Formation">
<table name="formations">
<attributes>
<id name="id">
<genrated-value strategy="AUTO"></genrated-value>
</id>
<basic name="nom"></basic>
<basic name="duree"></basic>
<one-to-many mappedby="formation" fetch="lazy">
<basic name="etudiants"></basic>
</one-to-many>
</attributes>
</table>
</entity>
</entity-mappings>
但是JPA不会在数据库中创建表,我应该怎么做?JPA规范要求XML映射位于类路径上: 可以指定名为orm.XML的对象/关系映射XML文件 在持久化单元根目录的META-INF目录中或 用户引用的任何jar文件的META-INF目录 persistence.xml 或者,或者另外,可以创建一个或多个映射文件 由持久性单元的映射文件元素引用 元素。这些映射文件可能存在于类的任何位置 路径。-JPA 2.1规范第8.2.1.6.2节 请查看Hibernate文档:
当您已经使用Spring Boot时,您为什么要这样做?请不要这样做。我只想知道一个新的方法来做,而且当我们将配置从类中分离出来,看起来很容易维护时,有人知道如何做吗?JPA文档广泛可用,有些人给出了注释的等效XML示例,比如这个问题是:在spring boot项目中没有一个名为META-INF的目录我知道在JAR或WAR文件中有一个名为META-INF的目录,但orm.XML文件是在构建时调用的,在生成JAR/WAR之后,无法复制META-INF目录中的文件,所以我现在可以做什么??谢谢您的回复。只需将此目录添加到src/main/resources即可