讓我們說,我們有兩個表:部門和EMP如何使用Hibernate的選擇標準只有父表中的列,而不是子表
現在我需要使用Hibernate的標準,這樣的語句:
select d. from dept d, emp e
where d.id=e.dept_id
and d.name='HR' and e.age>25;
我嘗試以下操作:
Session session = (Session) getEntityManager().getDelegate();
Criteria criteria = session.createCriteria(Dept.class, "d");
criteria.createAlias("emp", "e");
criteria.add(Restrictions.like("d.name", name));
criteria.add(Restrictions.ge("e.age", age));
List<Dept> results = criteria.list();
但是這給了我這個查詢輸出:
select d.* ,e.* from
(而不是d.*
)
任何人都可以提供幫助嗎?
你可以通過使用'setProjection()'方法來設置投影,從'Dept'中選擇列。所以你的查詢將是'select d.id,d.name from ...' – Amogh
父表有許多列。應該有一個很好的方法來做到這一點。我找不到一個,但可能應該有一個。預測可以選擇幾列。 – Ankush