1

Struts 2.3.7、struts2-jquery-grid-plugin-3.5.0、休止状態 3.6 を使用しています。jqgrid2 つの異なるテーブルからのデータを表示したいと考えています。

私の問題は、2 つのテーブル データを 1 つに表示する必要があることです。jqgrid最初の 3 つのjqgrid列はテーブルで埋められIssue、最後の列name="assignedTo"Issue_Trackerテーブルで埋められます。最後の列にデータを表示する方法assignedTo。任意のヘルプが割り当てられます。

私のjqgridは

<sjg:grid
    id="gridtable"
    caption="Issue-Summary"
    dataType="json"
    href="%{remoteurl}"
    pager="true"
    gridModel="gridModel"
    rowList="10,15,20"
    rowNum="15"
    rownumbers="true"
    reloadTopics="reloadGrid"
>
    <sjg:gridColumn name="issue_id"  id="issueId"  index="id" title="Issue-ID" formatter="integer"  sortable="false"/>
    <sjg:gridColumn name="issue_description" index="id" title="Issue-Details"  sortable="false"/>
    <sjg:gridColumn name="issue_raised_date" index="date" title="Issue-Date"  formatter="date"  sortable="false"/>

    <sjg:gridColumn name="assignedTo"  index="assigned" title="Assigned To"  sortable="false"/>
</sjg:grid>

私はポジョを持っています:

問題.java

public class Issue implements Serializable
{
private Integer issue_id;
private String  issue_description;
private Date issue_raised_date;

getters and setters

別のポジョは

Issue_Tracker.java

public class Issue_Tracker implements Serializable
{  
     private Integer issue_id;
     private String assignedTo;

My Daoは次のようになり、jqgridの問題のリストが表示されます

public List<Issue> 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;
      }
}
4

2 に答える 2

0

このようなpojoで別の別のpojoのセットを作成できます

public class Issue implements Serializable
{
private Integer issue_id;
private String  issue_description;
private Date issue_raised_date;
private Set<Issue_Tracker> issue_Tracker;

public Set<Issue_Tracker> getIssue_Tracker() {
  return issue_Tracker;
}
public void setIssue_Tracker(Set<Issue_Tracker> issue_Tracker) {
  this.sidUserSites = issue_Tracker;
 }
}

これで、Issue pojo から Issue_Tracker pojo にアクセスできるようになりました。結合クエリを使用する必要があります

于 2013-01-08T10:22:18.387 に答える
0

2 つのテーブルの列を組み合わせて DB にビューを作成できます。そのビューの PoJo と Mapping クラスを作成し、簡単に実行できます。

于 2013-02-19T10:56:04.187 に答える