Académique Documents
Professionnel Documents
Culture Documents
Nom : Prénom :
Indiquer les 12 erreurs de ce bout de code, extrait du fameux jeu Komepon Og...
@Entity
public class Dresseur {
private int idD;
private String nomD;
@ManyToOne(mappedBy="dresseurs")
private ArrayList<Komepon> bestioles;
@ManyToOne
private List<Dresseur> adversaires;
@ManyToOne
private Equipe equ ;
@Entity
public class Komepon {
@Id
@GeneratedValue
int idK;
String nomK;
Komepon evolution;
@Service
public class PoGo {
@Persistence
EntityManager em;
// etc.
}
Deuxième Partie : QCM (3 points)
V F
1. Les entities doivent explicitement avoir un constructeur vide
(c’est-à-dire sans paramètres).......................................................................□ □
2. L’information « mapped_by » indique sous quel nom est mappé un
attribut d’un entity dans la table correspondante dans la BD ......................□ □
3. Quand un objet entity est attaché à l’entity manager, cela signifie
que la synchro avec la BD se fait à intervalle de temps régulier..................□ □
4. Dans une requête JPQL, il faut respecter la casse
(majuscule/minuscule) des classes et attributs utilisée dans les EJB entity..□ □
5. On ne peut faire au maximum qu’une seule injection par autowired
dans un objet ................................................................................................□ □
6. On peut utiliser Spring en dehors d’une application
web................................................................................................................□ □
Quel concept vous a semblé le plus compliqué dans ce module ? Citez aussi un concept que vous
avez découvert ou redécouvert.
Avantages et inconvénients de l’utilisation de JPA (entities et entity manager) par rapport à une
accès direct par jdbc.
Quatrième Partie : Modélisation (7 points)
Une école d‘ingénieurs souhaite bâtir son système d’évaluation par compétences (en parallèle à
l’attribution des notes on valide le fait que les étudiants aient plus ou moins acquis diverses
compétences).
La première étape consiste à saisir la liste des filières et des responsables pédagogiques (un par
filière). Cette saisie est faite par le superutilisateur de l’application.
Ensuite chaque responsable pédagogique saisit la liste des membres de son équipe pédagogique,
puis la liste des matières de la filière, organisées en semestre (une matière = un code, un intitulé, un
nombre d’heures (CM/TD/TP) et un nombre de crédits).
Le responsable et les membres peuvent alors accéder à une liste globale de compétences (globale à
la formation) et en ajouter à la liste. Les compétences peuvent être reliées aux modules (en relation
N-N), avec une explication (en quoi le module est lié à la compétence).
Le responsable pédagogique peut aussi inscrire des membres extérieurs. Les membres extérieurs et
l’équipe pédagogique ont accès à l’autre facette : définir une liste de métiers et les compétences
nécessaires. Les membres extérieurs peuvent créer des métiers. Ils ne peuvent pas créer de
nouvelles compétences.
Donner la liste :
• des entities et des liens existant entre eux (on peut faire un diagramme de classe UML ou
une liste d’entities en java mais sans les constructeurs ni les getters/settters)
• des interfaces des façades* (une ou plusieurs, à justifier). Comme il s’agit d’interface, on ne
donnera que la signature des méthodes, pas leur code.
* par façade on entend ici la ou les classes (services spring) qui se placent entre le contrôleur
et les entities (ou leurs DAO).