Модераторы: LSD, AntonSaburov
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Spring + Hibernate, many-to-many association 
V
    Опции темы
ratzko
Дата 17.2.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 79
Регистрация: 5.7.2007
Где: Estonia, Tallinn

Репутация: нет
Всего: нет



Есть 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;
    }

}


Как правильно написать этот запрос и вывести данные на странитсу?
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Java"
LSD   AntonSaburov
powerOn   tux
  • Прежде, чем задать вопрос, прочтите это!
  • Книги по Java собираются здесь.
  • Документация и ресурсы по Java находятся здесь.
  • Используйте теги [code=java][/code] для подсветки кода. Используйтe чекбокс "транслит", если у Вас нет русских шрифтов.
  • Помечайте свой вопрос как решённый, если на него получен ответ. Ссылка "Пометить как решённый" находится над первым постом.
  • Действия модераторов можно обсудить здесь.
  • FAQ раздела лежит здесь.

Если Вам помогли, и атмосфера форума Вам понравилась, то заходите к нам чаще! С уважением, LSD, AntonSaburov, powerOn, tux.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Java EE (J2EE) и Spring | Следующая тема »


 




[ Время генерации скрипта: 0.0570 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.