2
我想在eclipse JPQL查詢中編寫這條SQL語句。它在SQL中工作,但我不確定如何在eclipse中編寫它。將SQL語句'LIKE'轉換爲JPQL語句
SELECT *
FROM hardware h
WHERE h.`Staffid` LIKE '%150%'
我在硬件表中的staffid是員工表的staffid主鍵的外鍵。所以在硬件表中的工作人員是
private Staff staff;
這是我寫的運行我的搜索:
@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;
}
}
但它顯示
javax.servlet.ServletException: java.lang.IllegalStateException:
Exception Description: Transaction is currently active
當我運行搜索。
任何人都可以幫我改正嗎?