0

我有 2 个有OneToMany关系的实体。此外,我有一个 jsp,我在其中使用 DAO 获取一些相关值,它用一个键返回我的列表。

例如:

大学

学生a,学生b。

我不需要在 DAO 中编写另一个方法来获取相关的学生。在大学里只有一种方法,我可以从学生那里得到所有的价值观,因为OneToMany关系。没关系。但我想按一些东西对学生进行排序。这就是麻烦。大学实体没有学生专栏。我怎样才能解决这个问题?我可以在 mysql 中对我的表(学生)进行排序并从已经排序的数据库中获取它吗?这是我的jsp:

<c:forEach items="${spyList}" var="spy">
        <c:forEach items="${spy.spyPath}" var="spyPath">
            <table style="width: 800px; border-collapse: collapse;" width=""
                align="">
                <tbody>
                    <tr>

                        <td
                            style="width: 450px; letter-spacing: 0px; word-spacing: 0px; vertical-align: top;"><strong>

                                <strong> <a
                                    href="${pageContext.request.contextPath}${spyPath.url}">${spyPath.title}</a>
                            </strong>
                        </strong><br></td>
                        <td style="width: 20px; letter-spacing: 0px; word-spacing: 0px;"><br></td>
                        <td
                            style="vertical-align: top; letter-spacing: 0px; word-spacing: 0px;"><div
                                id='date'>
                                <small>${spyPath.time}</small>
                            </div> <br></td>
                    </tr>
                </tbody>
            </table>
        </c:forEach>
    </c:forEach>

这是我的间谍:

@OneToMany(mappedBy = "spy")
    private List<SpyPath> spyPath = new ArrayList<SpyPath>();

    public List<SpyPath> getSpyPath() {
        return this.spyPath;
    }

    public void setSpyPath(List<SpyPath> spyPath) {
        this.spyPath = spyPath;
    }

和 SpyPath:

@ManyToOne
    @JoinColumn(name = "ID")
    private Spy spy;

    public Spy getSpy() {
        return this.spy;
    }

    public void setSpy(Spy spy) {
        this.spy = spy;
    }
4

1 回答 1

1
public List<SpyPath> getSpyPath()

这将返回您要排序和显示的列表。因此,在将其显示在 JSP 中之前,使用比较器对其进行排序。

Java 教程有一整章解释了如何对集合进行排序。

于 2013-08-18T18:03:53.703 回答