我有两个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;
}
答案 0 :(得分:1)
public List<SpyPath> getSpyPath()
这将返回要排序和显示的列表。因此,在将其显示在JSP中之前,使用比较器对其进行排序。
Java教程有a whole chapter解释如何对集合进行排序。