Créer une méthode qui permet de préparer un test de manière auto

dalitobs Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -  
dalitobs Messages postés 3 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,

Bonjour je veux créer une méthode qui permet de préparer un test automatiquement:
un test se compose d'un ensemble de question je veux créer un test ou les question seront affiché de manière aléatoire (extraite de la base de donnée)
voici le code(la base de donnée est prête)
package tn.esen.services.gestion.test;

import java.util.List;

import javax.ejb.Stateless;
import javax.persistence.EntityManager;
import javax.persistence.PersistenceContext;
import javax.persistence.Query;

import tn.esen.entities.Candidat;
import tn.esen.entities.Resultat;
import tn.esen.entities.Test;

/**


* Session Bean implementation class GestionTest

*/
@Stateless
public class GestionTest implements GestionTestRemote, GestionTestLocal {
 @PersistenceContext
 private EntityManager entityManager;
    /**


* Default constructor. 

*/
    public GestionTest() {
        // TODO Auto-generated constructor stub
    }
 @Override
 public boolean addTest(Test test) {
  try {
   entityManager.persist(test);
   return true;
  } catch (Exception e) {
   System.err.println("Impossible de créer un Test");
  }  return false;
 }
 @Override
 public boolean updateTest(Test test) {
  try {
   entityManager.merge(test);
   return true;
  } catch (Exception e) {
   System.err.println("Impossible de mettre à jour un test");
  }  return false;
 }
 @Override
 public boolean deleteTest(Test test) {
  
  try {
   entityManager.remove(entityManager.merge(test));
   return true;
  } catch (Exception e) {
   System.err.println("Impossible de supprimer un test");
  }  return false;
 }
 @Override
 public List<Test> readAllTest() {
  String jpql = "select t from Test t ";
  Query query = entityManager.createQuery(jpql);
  return query.getResultList();  
 }
 @Override
 public Test findTestById(Integer id) {
  return (Test) entityManager.find(Test.class, id);
 }
 @Override
 public List<Test> findAllTestByCandidat(Candidat candidat) {
    Query query=entityManager.createQuery("select distinct t from Test t join t.resultats r where r.candidat=:cand");
    query.setParameter("cand", candidat);
    return query.getResultList();

A voir également:

1 réponse

KX Messages postés 16761 Date d'inscription   Statut Modérateur Dernière intervention   3 020
 
Bonjour,

Un System.err.println ça ne suffit pas pour corriger les erreurs, il faudrait que tu affiches e.printStackTrace ou mieux que tu utilises des logs pour conserver la cause de l'erreur et la corriger.

De plus, est-ce que ton EJB est vraiment Remote+Local ?
Si oui, il vaudrait mieux faire deux EJB différents l'un pour le local et le second pour le remote... on met rarement les deux dans le même.
Voir : Deciding on Remote or Local Access

Quant à ta question elle n'est pas claire. Que veux tu faire ? En quoi le code que tu nous montre est en rapport avec ta question ?
0
dalitobs Messages postés 3 Date d'inscription   Statut Membre Dernière intervention  
 
la méthode sera évidemment insérer dans la classe DAO du test c'est pour cela j'ai copié le code de cette classe.
Bon je veux devéloppé une methode qui permet de préparer un test (qui est un ensemble de question) de maniére automatique c'est à dire les questions seront généré de maniére automatique.
la requéte:SELECT q FROM Question ORDER BY RAND() LIMIT
0