【发布时间】:2016-04-24 17:37:51
【问题描述】:
所以我想实现一个允许我自动准备测试的方法 测试是一组问题,必须自动准备测试 所以问题会以随机方式从数据库中显示出来。
我知道sql query是这样的:
SELECT q FROM Question ORDER BY RAND() LIMIT ...;
这个包涉及 Class Test 提供的所有服务
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();
【问题讨论】:
标签: java jpa jakarta-ee