Есть 2 таблицы, bussiliin и bussipeatus, между ними связь many-to-many (ввдена 3-я таблица). Надо выбрать все записи из bussiliin и все записи из bussipeatus и отобразить их на странитсе. | Код | public class Bussiliin {
private Long id; private int liiniNumber; private String soiduKestus; private Set peatused; public Bussiliin() {} public Long getId() { return id; } public void setId(Long id) { this.id = id; } public int getLiiniNumber() { return liiniNumber; } public void setLiiniNumber(int liiniNumber) { this.liiniNumber = liiniNumber; } public String getSoiduKestus() { return soiduKestus; } public void setSoiduKestus(String soiduKestus) { this.soiduKestus = soiduKestus; } public Set getPeatused() { return peatused; } public void setPeatused(Set peatused) { this.peatused = peatused; } }
|
| Код | <hibernate-mapping> <class name="domain.Bussiliin" table="bussiliin"> <id name="id" column="id"> <generator class="native"/> </id> <property name="liiniNumber" type="int" column="number"/> <property name="soiduKestus" column="kestus"/> <set name="peatused" table="bussid"> <key column="bussiliin_id"/> <many-to-many column="bussipeatus_id" class="domain.Bussipeatus"/> </set> </class> </hibernate-mapping>
|
| Код | public class HibernateBussiDao extends HibernateDaoSupport implements BussiDao{
private static String BUSSIPEATUS = Bussipeatus.class.getName(); private static String BUSSILIIN = Bussiliin.class.getName(); public List<Bussiliin> getAllLiinid() { return getHibernateTemplate().find("from " + BUSSILIIN); }
public List<Bussipeatus> getAllPeatusi() { return getHibernateTemplate().find("from " + BUSSIPEATUS); }
public Bussipeatus getPeatusById(Long id) { List results = getHibernateTemplate().find("from " + BUSSIPEATUS + " where id=?", id); if(results.size() > 0) { return (Bussipeatus)results.get(0); } return null; }
public List<Bussiliin> getBussiliinById(Long id) { return getHibernateTemplate().find("select bussiliin.liinid from " + BUSSIPEATUS + " as bussiliin where bussiliin.id=" + id); } }
|
| Код | <%@ page contentType="text/html" %> <%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Bussiliin</title> </head> <body>
<form name="myForm" action="" method="post"> <h2 align=center>Bussiliinid</h2> <br> <br> <table border="1" width="100%"> <th width="5%" align=center>Select</th> <th width="25%" align=center>Liin ID</th> <th width="25%" align=center>Liini number</th> <th width="25%" align=center>Liini kestus</th> <th width="25%" align=center>Bussipeatused</th> <c:forEach items="${liinid}" var="liin"> <tr> <td align=center><input type=radio name=data_i alt="Select to Modify or Delete" align="middle" onClick="javascript: setId(${liin.id})"></td> <td align=center><c:out value="${liin.id}"/></td> <td align=center><c:out value="${liin.liiniNumber}"/></td> <td align=center><c:out value="${liin.soiduKestus}"/></td> <td align="center"><c:out value="${liin.liinid}"/></td> </tr> </c:forEach> <input type="hidden" name="entryID" value=""> </table> <br> <br> <table align=center> <!-- The row containing command buttons --> <tr align=center> <td><input type=submit name="Add" value="Add an Entry" onClick="javascript:goToAddEntryPage()"></td> <td><input type=button name="Modify" value="Modify Selected Entry" onClick="javascript:goToModifyEntryPage()"></td> <td><input type=button name="Delete" value="Delete Selected Entry" onClick="javascript:deleteEntry()"></td> </tr> </table> </form> </body> </html>
|
| Код | public class VisitorPageController extends AbstractController{ public VisitorPageController() {} public ModelAndView handleRequestInternal(HttpServletRequest request, HttpServletResponse response) throws Exception { List liinid = bussService.getRecentLiin(); return new ModelAndView("visitor", "liinid", liinid); } private BussService bussService; public void setBussService(BussService bussService) { this.bussService = bussService; }
}
|
Как правильно написать этот запрос и вывести данные на странитсу?
|