Je veux écrire cette instruction SQL dans une requête JPQL d'Eclipse. Cela fonctionne en SQL mais je ne suis pas sûr de savoir comment l'écrire dans eclipse.
SELECT *
FROM hardware h
WHERE h.`Staffid` LIKE '%150%'
Mon staffid dans la table hardware est une clé étrangère à la clé primaire staffid de la table staff. Donc le personnel dans la table hardware est
private Staff staff;
C'est ce que j'écris pour lancer ma recherche :
@SuppressWarnings("unchecked")
public List<Hardware> searchstaff(Staff a) {
try {
entityManager.getTransaction().begin();
Query query = entityManager
.createQuery("SELECT st from Hardware st where st.staff LIKE :x");
query.setParameter("x", a);
List<Hardware> list = query.getResultList();
entityManager.getTransaction().commit();
return list;
} catch (Exception e) {
return null;
}
}
Mais cela montre
javax.servlet.ServletException: java.lang.IllegalStateException:
Exception Description: Transaction is currently active
quand je lance la recherche.
Quelqu'un peut-il m'aider à corriger ?