【发布时间】:2011-10-18 19:54:18
【问题描述】:
我想在 Eclipse JPQL 查询中编写这个 SQL 语句。它可以在 SQL 中运行,但我不确定如何在 eclipse 中编写它。
SELECT *
FROM hardware h
WHERE h.`Staffid` LIKE '%150%'
我在hardware 表中的staffid 是staff 表的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
当我运行搜索时。
谁能帮我改正?
【问题讨论】:
标签: sql foreign-keys jpql