[JAVA] Comment définir plusieurs orm.xml dans Spring4, JPA2.1

introduction

La méthode de définition lors de la gestion de plusieurs orm.xml (user.xml, userImage.xml) est décrite ci-dessous. Orm.xml dans cet article signifie un fichier qui définit les mappages d'entités tels que entity et native-sql. Si vous effectuez une recherche, il existe de nombreuses informations sur la manière de définir META-INF / persistence.xml et META-INF / orm.xml. Il s'agit de la définition lors de l'utilisation de JPA seul, une définition différente est donc requise lors de son utilisation en combinaison avec Spring4.

Configuration du package


-Java
-Ressources
     |
     |_conf
     | |_☓☓☓
     | |_☓☓☓
     |
     |_sql
     | |_user.xml
     | |_userImage.xml
     |
     |_applicationContext.xml

supposition

Cette fois, nous utiliserons la version suivante. spring-data-jpa: 1.10.5.RELEASE hibernate-entitymanager: 5.1.0.Final

--maven définition

        <dependency>
            <groupId>org.springframework.data</groupId>
            <artifactId>spring-data-jpa</artifactId>
            <version>1.10.5RELEASE</version>
        </dependency>
        <!-- JPA -provider(Hibernate) -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>5.1.0.Final</version>
        </dependency>

définition applicationContext.xml

Voici un exemple de définition de applicationContext.xml. Vous pouvez également créer un fichier tel que dataSource.xml et l'importer pour tous les paramètres de connexion à la base de données. La méthode de définition de plusieurs orm.xml utilise mappingResources de propriété. Définissez le chemin sous la racine du fichier orm.xml créé (user.xml, userImage.xml cette fois). Si vous souhaitez augmenter orm.xml, vous devez l'ajouter ci-dessous.

En passant, si vous n'utilisez qu'un seul orm.xml, vous pouvez définir le nom de fichier orm.xml directement sous le répertoire META-INF. , Il peut être lu sans la définition de mappingResource ci-dessous.

Exemple de définition


<jpa:repositories base-package="com.sample.orm.dao"/>
<context:property-placeholder
        location="classpath:dataSource.properties"/>
<!-- mysql -->
<bean id="dataSource" class="org.apache.commons.dbcp.BasicDataSource">
    <property name="driverClassName" value="${jdbc.driver.class}"/>
    <property name="url">
        <value>${jdbc.connect}://${jdbc.host.port}/${jdbc.schema}?useUnicode=true&amp;characterEncoding=UTF-8&amp;connectionCollation=utf8mb4_general_ci</value>
    </property>
    <property name="username" value="${jdbc.user}"/>
    <property name="password" value="${jdbc.pass}"/>
    <property name="maxActive" value="20"/>
    <property name="maxIdle" value="1"/>
</bean>

<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
    <property name="entityManagerFactory" ref="entityManagerFactory"/>
</bean>

<bean id="entityManagerFactory"
      class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
    <!--définition du répertoire d'entités-->
    <property name="packagesToScan" value="com.sample.orm.entity"/>
    <property name="dataSource" ref="dataSource"/>
    <property name="jpaVendorAdapter">
        <bean class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
            <property name="showSql" value="false"/>
            <property name="generateDdl" value="false"/>
            <property name="database" value="MYSQL"/>
        </bean>
    </property>
    <property name="jpaProperties">
        <props>
            <prop key="hibernate.dialect">org.hibernate.dialect.MySQL5Dialect</prop>
        </props>
    </property>
    <!--Définir le chemin de mappage-->
    <property name="mappingResources">
        <list>
            <value>sql/user.xml</value>
            <value>Sql/userImage.xml</value>
        </list>
    </property>
</bean>    

Recommended Posts

Comment définir plusieurs orm.xml dans Spring4, JPA2.1
Comment utiliser Lombok au printemps
[Comment installer Spring Data Jpa]
Comment ajouter un chemin de classe dans Spring Boot
Comment créer un projet Spring Boot dans IntelliJ
Comment utiliser CommandLineRunner dans Spring Batch of Spring Boot
Comment tester l'écran de téléchargement de fichiers avec Spring + Selenium
Comment utiliser le référentiel de jobs en mémoire avec Spring Batch
Comment modifier la valeur de paramètre de application.properties au moment du démarrage dans Spring Boot
Comment appeler et utiliser l'API en Java (Spring Boot)
Comment contrôler les transactions dans Spring Boot sans utiliser @Transactional
Comment faire un test unitaire de Spring AOP
Comment exécuter JUnit dans Eclipse
Comment itérer indéfiniment en Ruby
Remarques sur l'utilisation de Spring Data JDBC
Comment exécuter Ant dans Gradle
Comment maîtriser la programmation en 3 mois
Comment configurer Spring Boot + PostgreSQL
Comment apprendre JAVA en 7 jours
Comment obtenir des paramètres dans Spark
Comment installer Bootstrap dans Ruby
Comment utiliser ModelMapper (Spring boot)
Comment installer jQuery dans Rails 6
Comment utiliser les classes en Java?
Comment nommer des variables en Java
Comment définir Lombok dans Eclipse
[Swift] Comment remplacer plusieurs chaînes
Comment concaténer des chaînes avec Java
Comment installer Swiper in Rails
Comment définir et utiliser un profil avec une configuration basée sur des annotations dans le framework Spring
Comment appeler plusieurs noms à la fois dans la même catégorie
[swift5] Comment spécifier la couleur en hexadécimal
Comment implémenter la fonctionnalité de recherche dans Rails
Comment implémenter le filtre de Kalman par Java
Comment changer le nom de l'application dans les rails
Comment lire le corps de la requête plusieurs fois avec Spring Boot + Spring Security
Comment mettre en œuvre un diaporama en utilisant Slick in Rails (un par un et plusieurs par un)
Mémo pour avoir plusieurs valeurs dans HashMap
Comment utiliser le volume nommé dans docker-compose.yml
Comment filtrer JUnit Test dans Gradle
Convertir les paramètres de demande en Enum au printemps
Comment insérer une vidéo dans Rails
Comment normaliser le pied de page d'en-tête dans Thymeleaf
Existe en utilisant la spécification dans Spring Data JPA
Comment ajouter un fichier jar dans ScalaIDE
Comment utiliser Docker dans VSCode DevContainer
Comment utiliser MySQL dans le didacticiel Rails
Fonctionnement du servlet Dispatcher dans Spring MVC
Comment définir un bean de classe interne
Comment intégrer Janus Graph dans Java
[rails] Comment configurer le routage dans les ressources
Pour écrire des données de réponse directement dans Spring
Comment obtenir la date avec Java