Pages

Affichage des articles dont le libellé est spring. Afficher tous les articles
Affichage des articles dont le libellé est spring. Afficher tous les articles

[Spring] Plusieurs fichiers de contexte WAR / JAR sujet

mardi 8 avril 2014




Bonjour,

Je me pose des questions sur la configuration des projets. projets utilisant Maven + annotation Spring + BD

J'ai une application A : application WEB (Spring) liée une base de donnée BD1. => livraison war
J'ai une application B : application WEB (Spring) liée une base de donnée BD2. => livraison war

Ses deux applications doivent utiliser le même moteur de calcul Application C. Celui ci a sa propre configuration (Spring) liée une base de donnée BD3. => livraison jar

La question que je me pose, comment dois je configurer Spring pour que chaque application ait sa propre configuration Spring ?

Merci pour votre aide.




[Framework] Architecture Java EE vs Architecture Spring sujet




Bonjour,
Je souhaite savoir quelles sont les faiblesses de l'architecture Java EE qui nous pousse à penser à l'utilisation de Spring?
Merci d'avance




Spring DATA - JPQL sujet




Bonjour,

j'ai hérité d'un projet qui utilise Spring data, jpa, hibernate avec différents fichiers de config comme celui-ci


Code:


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24

<tx:annotation-driven transaction-manager="transactionManager" />

<!-- Activate Spring Data JPA repository support -->
<jpa:repositories base-package="com.mc.appcontacts.repository" />


<!-- Declare a JPA entityManagerFactory -->
<bean id="entityManagerFactory" class="org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean">
<property name="persistenceXmlLocation" value="classpath:META-INF/contacts/hibernate/persistence.xml" />
<property name="persistenceUnitName" value="hibernatePersistenceUnit" />
<!-- <property name="dataSource" ref="dataSource" /> -->
<property name="jpaVendorAdapter" ref="hibernateVendor" />
</bean>

<!-- Specify our ORM vendor -->
<bean id="hibernateVendor" class="org.springframework.orm.jpa.vendor.HibernateJpaVendorAdapter">
<property name="showSql" value="${hibernate.showSql}" />
</bean>

<!-- Declare a transaction manager-->
<bean id="transactionManager" class="org.springframework.orm.jpa.JpaTransactionManager">
<property name="entityManagerFactory" ref="entityManagerFactory" />
</bean>


et des classes comme celles là :



Code:


1
2
3
4
5
6
7
8
9
10
11
12
13

public interface ContactRepository extends JpaRepository<Contact, Integer> {


List<Contact> findByid(int id);

List<Contact> findByname(String name );

@Query("SELECT c from Contact c WHERE LOWER(c.name) = LOWER(:name)")
String find(@Param("name") String name);


}



ça fonctionne très bien !

Seulement maintenant je dois constituer des requêtes dynamiques de manière à récupérer une donnée d'un enregistrement et non tout le contenu, exemple:
récupérer uniquement le nom du contact ou son téléphone ou autre chose...en tout cas un seul attribut.

J'ai vu sur le net que l'on pouvait utiliser JPQL qui permet de constituer sa requête ex :

Code:


String jpql = "select c." + property + " from ...";

Seulement voila, si j'ai bien compris, il faut déclarer une instance de la classe entitymanager pour utiliser la méthode createQuery :


Code:


1
2
3
4
5

EntityManagerFactory factory = Persistence.createEntityManagerFactory();
EntityManager em = factory.createEntityManager();
String jpql = "select c." + property + " from Contact...";
Query jQuery = em.createQuery(jpql);


Question :

Est ce que jpql est le meilleur choix ?
Si oui, est-il possible d'utiliser l'entity manager défini dans le fichier de conf, plutôt que de le déclarer à nouveau dans la classe ?
Si non, est ce que Spring data jpa permet de résoudre ma problématique (sélectionner un seul attribut) ?

Merci d'avance