Osobne do zblbnuti delam toto.

    /**
     * get index tables list
     */
    public ResultList getIndexTablesList(IndexTableAF form) {
        ResultList result = new ResultList();
        Session session = null;

        try {
            session = this.sessionFactory.openSession();

            // zjisti a nastavi paging control object
Criteria criteriasCount = session.createCriteria(IndexTable.class)
                .setProjection(Projections.count("oid"));
Integer count = ((Integer) criteriasCount.uniqueResult()).intValue();
            result.getPagingControl().setCount(count.longValue());
            result.getPagingControl().setSelectedPage(form.getSelectedPage());
            result.getPagingControl().setInterval(form.getInterval());
            result.getPagingControl().recount();

ArrayList list = (ArrayList) session.createCriteria(IndexTable.class) .setFirstResult((((int) form.getSelectedPage() - 1) * (int) form.getInterval()))
                .setMaxResults((int) form.getInterval())
                .list();

            if(list != null) result.setResultList(list);

        } catch (Exception ex) {
logger.error("getIndexTablesList [Exception]: " + ex.getLocalizedMessage());
        } finally {
            session.close();
        }

        return result;
    }


Muj ResultList obsahuje paging control ktery na zaklade poctu objektu celkem implementuje strankovani. zjisti ktera je predchozi, nasledujici stranka, prvni a posledni, ... Tim jsem se okamzite zbavil urcite casti kodu.

Pouzivam spring a hibernate. Tedy ne klasicke JDBC, ale Tvuj kod ze zmineneho clanku je presnou odpovedi.

Diky za "nakopnuti"

Pet






On Thu, 18 Jan 2007 10:45:48 +0100, Petr Burdik <[EMAIL PROTECTED]> wrote:

Zrovna jsem aniz bych tento konkretni blog cetl premyslel o tomto reseni. Kazdopadne podle blogu davas prednost asi AspectJ, je to tak?

Pet

On Thu, 18 Jan 2007 10:41:43 +0100, Roman Pichlik <[EMAIL PROTECTED]> wrote:

aha, repetivni kod se resi pres navrhovy vzor Template method viz clanek Návrhový vzor Template method a jeho aplikace v prostředí JDBC
http://www.sweb.cz/pichlik/archive/2006_01_08_archive.html#113713436036810797

AOP by melo smysl napriklad pro kontrolu, ze vsechny casti aplikace pouzivaji jednu vrstvu pro prisup k DB a zadna nejde oklikou napriklad pres JDBC.


Petr Burdik napsal(a):
Sveho casu jsme to tu propirali :)
 Vysel z toho podobny paskvil jako tento ( v naznaku )
 try {
    sql dotaz
} catch (Exception ex) {
 } finally {
    try {
        close connection
    } catch (Exception ex) {
     } finally {
        tusim ze jeste jednou close
    }
 }
Presne takto to nepouzivam, nemam ten vnoreny try/catch blok, ale situace me donutila ze tam asi bude muset byt. ale nebavi me to psat porad dokola tak hledam zpusob jak si praci ulehcit :) a napadlo me aspektove programovani. Pokud najdete lepsi zpusob budu rad. Ale je to fakt pruda t tady tusim jedno z mist kde to pouzit.
 Pet
On Thu, 18 Jan 2007 10:17:53 +0100, Roman Pichlik <[EMAIL PROTECTED]> wrote:

aktualne jsem hooodne nastvany na zkusob jak se pracuje s obsluhou connection i u tahani dat pres hibernate. asi vime vsichni o co jde :).

tak to teda netusim :), muzete se podelit?

--Using Opera's revolutionary e-mail client: http://www.opera.com/mail/







--
Using Opera's revolutionary e-mail client: http://www.opera.com/mail/

Odpovedet emailem