如何在Spring启动项目中用文件配置(使用XML)替换注释

时间:2018-01-24 21:53:08

标签: hibernate jpa spring-boot

我正在寻找替换JPA的注释(@ Entity,@ Table,@ Id,@ GenValue,...)和hibernate的配置文件(也是存储库文件中的查询),但我不知道知道怎么做,我知道我需要另一个(除了application.properties)XML格式的配置文件,我的问题是我在哪里创建这个文件?它的内容是什么?

非常感谢你回复我。

现在我的项目看起来像这样: spring boot project

这是我的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不会在数据库中创建表,我应该怎么做?

1 个答案:

答案 0 :(得分:0)

JPA规范要求XML映射位于类路径上:

  

可以指定名为orm.xml的对象/关系映射XML文件   在持久性单元的根目录中的META-INF目录中   由...引用的任何jar文件的META-INF目录   persistence.xml中。

     

或者,或另外,可以是一个或多个映射文件   由持久性单元的mapping-file元素引用   元件。这些映射文件可能出现在类的任何位置   路径。 - JPA 2.1规范的第8.2.1.6.2节

查看Hibernate文档:

https://docs.jboss.org/hibernate/orm/5.2/userguide/html_single/Hibernate_User_Guide.html#bootstrap-jpa-xml-files