-1
私はテストを自動的に準備する方法を実装したい テストは一組の質問であり、テストは自動的に準備されなければならない 質問データベースからランダムに表示されます。私はテストを準備する方法を実装したい
私はsql query
は次のようにあることを知っている:
SELECT q FROM Question ORDER BY RAND() LIMIT ...;
このクラスのテストが提供するすべてのサービスを懸念パッケージ
package tn.esen.services.gestion.test;
@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();