Issue
とIssue_Tracker
の2つのエンティティがあります。 Hibernate3.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"
Hibernate Criteriaを使用してこれを実現する方法、そして最も重要なのは、ページ付けに使用する必要があることです。
そして私のDaoはjqgridの問題のリストを表示するために次のとおりです
パブリックリストshowHelpDeskIssues(DetachedCriteria dc、int from、int size){
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で2つのテーブルデータを表示する方法-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();
ここで、親はIssues.Java
のプロパティ名であり、子はIssueTracker.Java
のプロパティです。
上手、
1つのサンプルに従ってください...
Criteria crit = session.createCriteria(Issues.class);
crit.createAlias("otherClass", "otherClass");
crit.add(Restrictions.eq("otherClass.status", "Escalate To"));
List result = crit.list();
これが役立つと思います!!
これは私のために働いたのでこれを試してみてください
Criteria criteria = sessionFactory.getCurrentSession().createCriteria(Issues.class, "issues");
criteria.setFetchMode("issues.issuetracker", FetchMode.JOIN);
criteria.createAlias("issues.issuetracker", "issuetracker");
criteria.add(Restrictions.eq("status","Escalate To"));
List list = criteria.list();
return list;