0

这是我的 HibernateDaoImpl,用于从 Emp 和 Org 表中获取价值,例如 ORG_ID、ORG_NAME、ID、ORG_ID、EMP_ID、EMP_NAME、CARD_NUM、ORG_PAY、EMP_PAY。

我如何使用 java 代码对它们进行迭代以检查这些值是或不是我想要得到的?

public List<Emp> findByOrgId(String orgId) throws Exception {
    SessionFactory sf = HibernateSessionFactory.getSessionFactory();
    Session session = sf.openSession();
    String hql = "select o.orgId,o.orgName,e.empId,e.empName,e.cardNum,e.orgPay,e.empPay from Org o,Emp e where e.orgId=o.orgId and o.orgId=?";
    Query query = session.createQuery(hql);
    query.setString(0,orgId);
    List list = query.list();
    return list;
4

1 回答 1

0

您的查询需要一个参数( 的值o.orgId),但您没有传递任何参数。

代码应该看起来像

Query query = session.createQuery(hql);
List<Emp> empList = (List<Emp>) query.setInteger(orgId).list();

查看查询,看起来 Emp 实体应该与 Org 实体有关联,而不是有它的 ID。我还将实体命名为 Employee 和 Organization。您的代码将比使用这些 3 个字母的名称更具可读性。

于 2012-11-16T07:21:26.020 回答