arv*_*unk 8 java mysql hibernate hibernate-criteria
我有两个实体:Issue和Issue_Tracker.我正在使用Hibernate 3.6.
SELECT `issues`.`issue_id`,
`issues`.`issue_raised_date`,
`issues`.`issue_description`,
`issue_tracker`.`tracker_status`
FROM `issues`
LEFT JOIN `issue_tracker` ON `issues`.`issue_id` = `issue_tracker`.`issue_id`
WHERE `issues`.`status`="Escalate To"
Run Code Online (Sandbox Code Playgroud)
如何使用Hibernate Criteria实现这一点,最重要的是,我必须将它用于分页.
和My Dao如下显示jqgrid中的问题列表
public List showHelpDeskIssues(DetachedCriteria dc,int from,int size){
Run Code Online (Sandbox Code Playgroud)Session session = HibernateUtil.getSessionFactory().getCurrentSession(); try { Criteria criteria = dc.getExecutableCriteria(session); criteria.setFirstResult(from); criteria.setMaxResults(size); criteria.add(Restrictions.eq("status","Escalate To")); return criteria.list(); } catch (HibernateException e) { e.printStackTrace(); throw e; } }
有关简要说明请参考此问题如何使用struts2在jqgrid中显示两个表数据 - jqgrid插件和hibernate 任何帮助都会很棒.
你可以试试以下
Criteria criteria = session.createCriteria(Issues.class);
criteria.setFirstResult(from);
criteria.setMaxResults(size);
criteria.setFetchMode('parent.child', FetchMode.JOIN);
criteria.add(Restrictions.eq("status", "Escalate To");
List<Issues> list= criteria.list();
Run Code Online (Sandbox Code Playgroud)
这里parent是属性名称in Issues.java,child是属性IssueTracker.java.
好,
按照一个样本...
Criteria crit = session.createCriteria(Issues.class);
crit.createAlias("otherClass", "otherClass");
crit.add(Restrictions.eq("otherClass.status", "Escalate To"));
List result = crit.list();
Run Code Online (Sandbox Code Playgroud)
我想是的,这可以帮助!!
| 归档时间: |
|
| 查看次数: |
32795 次 |
| 最近记录: |