我正在使用基于第二个表id值的hibernate标准比较两个表,但我需要在单个列表中使用第二个表值。这是我的代码
DetachedCriteria subquery = DetachedCriteria.forClass(
Users.class).setProjection(
Projections.property("empCd"));
Criteria criteria = session.createCriteria(Employee.class);
criteria.add(Property.forName(YRLBatchConstants.EMP_CODE)
.in(subquery));
lstEmpMaster = criteria.list();
我正在比较User和Employee字段员工代码并在列表中生成一些数据,但我只获得了Employee对象,但我还需要User表中的更多字段。
任何人都可以帮我解决。
答案 0 :(得分:0)
据我所知,Hibernate Criteria不支持theta-style joins。因此,您可以改为使用HQL查询:
List<Object[]> properties = session.createQuery(
"select e.name, u.name
from Employee e, Users u
where e.empCd = u.empCd")
.list();