Re: hibernate substr nebo position
Diky moc. Zatim jsem nepouzival criteria, ale dnes rano jsem na ne narazil. Pouziju je. Pekny den Pet Lukas Barton wrote: Burdik Petr wrote: Ahojda, pouzivam hibernate a potrebuji udelat dotaz: dej mi vsechny zaznamy ktere obsahuji 'Petr'. Jen nevim jak spravne zadat dotaz v hibernate. Pouzivam konkretne postgresql, ale budu delat vrstvu i pro mysql, ... Date mi prosim nekdo tip? Viz druhy priklad na http://www.hibernate.org/hib_docs/v3/reference/en/html/querycriteria.html Lukas
Re: RUP - Design layoutu, software, způsoby
Používáme Visio, HTML (celkem libovolné editory) a Photoshop - a jejich kombinace... :-) Pavel Pola Josef Petrák - KYBERIE wrote: Dobrý den, trochu se zajímám o různé metodiky vývoje - nejvíce o Rational Unified Process. Během fáze Elaboration dochází k tvorbě mnoha dokumentů popisujích budoucí systém. Jedním z nich jsou i případy užití, které by měly obsahovat návrh layoutu okna / stránky aplikace. Zajímají mne teď web aplikace a chtěl bych se zeptat, jaké nástroje a způsoby vytváření návhru rozložení používáte - myslím tím spíš ukázku rozložení prvků (widgets), ne grafiku. Já zatím zkoušel jen modelování v surovém XHTML bez stylů a kreslení v OpenOffice.org Předem děkuji za jakékoliv rady a náměty S přáním hezkého dne Josef Petrák, JAVA programátor Email: [EMAIL PROTECTED] Mobil: +420603254189 ICQ: 179271149 Jabber: [EMAIL PROTECTED] Skype: jspetrak KYBERIE Web: http://www.kyberie.cz Tel: +420226002016
Re: hibernate substr nebo position
Ahoj, doted jsem pouzival klasicky query. mam vzdy dva dotazy. Jeden na pocet objektu vyhovujicich kriteriim a druhy na seznam objektu. Jenom nevim jak nahradit ten stary count pomoci criteria. Nemate napad? tech kriterii muze byt vice. // stary count String selectCount = select count(*) from Article article where article.artIdSupplier like ?; Integer count = (Integer) session.createQuery(selectCount) .setParameter(0,% + artIdSupplier + %) .uniqueResult(); Pet Lukas Barton wrote: Burdik Petr wrote: Ahojda, pouzivam hibernate a potrebuji udelat dotaz: dej mi vsechny zaznamy ktere obsahuji 'Petr'. Jen nevim jak spravne zadat dotaz v hibernate. Pouzivam konkretne postgresql, ale budu delat vrstvu i pro mysql, ... Date mi prosim nekdo tip? Viz druhy priklad na http://www.hibernate.org/hib_docs/v3/reference/en/html/querycriteria.html Lukas
Re: JPA a Hibernate
Dobry den, Suhlasim s vami ze JPA je pohodlnejsie avsak pre Hibernate v sucasnosti existuje uz vela toolov (pluginov) ktore zjednodusuju aj tvorbu hbm.xml. Tiez by sa dalo pisat o tom co je lepsie ci anotacie alebo xml deployment descriptory. Podla mna to zavisi od tipu projektu, aky pristup zvolite. Pre male projekty na ktorych pracuje malo ludi sa hodia anotacie. Pre velke projekty by som volil xml aby bolo vsetko na jednom mieste a nie rozhadzane po kode. Na JPA sa mne paci ze je to standard a tak ako pod hibernate mozete relativne jednoducho zmenit databazu tak pod JPA mozete zmenit perzistencneho vendora. Martin Krajci Tomáš Procházka wrote: Ahoj, odpovídám na zprávu z pondělka, 18. září 2006, kterou Roman Pichlik napsal(a) v 16:06:33: No, mě se právě model JPA líbí daleko více, možná to je jen můj chybný dojem. Do Hibernate jsem se snažil proniknout už delší dobu a nikdy se mi do toho moc nechtělo, přišlo mi to zbytečně složité, zatímco JPA je až dětinský snadné, hlavně když Netbeans vygeneruje jak samotné entitní třídy tak i samotné volání EntityManageru. Hlavně se mi u hibernate nelíbí ty XML mapping file. Musím tak vytvářet Entitní třídy a ještě udržovat MML mapping file. Anotace mi přijdou daleko lepší, je to vše pohromadě a navíc k tomu Netbeans zobrazuje dokumentaci a obsahuje autocomolete, takže jen napíšu @ a mrku co vše s tím lze dělat a nemusím nikde polízat dokumentaci. Nemluvě o tom,že rovnou kontroluje syntaxi. V XML je to vždy problematičtější. Nechci se tedy o JPA připravit, jen bych občas rád použil (v nutných případě) něco co má Hibernate navíc. Navíc v případě nutnosti přejít na něco jiného bude nutné přepsat jen těch pár případů, kde JPA nestačilo. To přetypování jak psal Michal P. vidím jako dobré řešení. --- Původní zpráva --- Odesilatel: Roman Pichlik [EMAIL PROTECTED] Předmět: JPA a Hibernate Datum: 18. září 2006, 16:06:33 (GMT +0200) Přílohy: none msgid:[EMAIL PROTECTED] nevim presne, jak se dostat k SessionFactory, ale v demo CaveatEmptor je pouzito pretypovani javax.persistence.EntityManager na org.hibernate.ejb.HibernateEntityManager, odkud se jiz lze dostat napr. na objekt org.hibernate.Session. S tim uz pak muzete podnikat ruzne Hibernate-dependent kousky... R takze vyznam pouziti JPA je nulovy, kdyz se takhle svazete s Hibernate R API. Pokud Vma Hibernate prinasi neco navic, tak neni duvod neuvazovat o R jeho primem vyuziti, nota bene kdyz umi vsechno co vyzaduje JPA specifikace. Konec původní zprávy __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __
Re: JPA a Hibernate
Martin Krajci wrote: Dobry den, Suhlasim s vami ze JPA je pohodlnejsie avsak pre Hibernate v sucasnosti existuje uz vela toolov (pluginov) ktore zjednodusuju aj tvorbu hbm.xml. Tiez by sa dalo pisat o tom co je lepsie ci anotacie alebo xml deployment descriptory. Podla mna to zavisi od tipu projektu, aky pristup zvolite. Pre male projekty na ktorych pracuje malo ludi sa hodia anotacie. Pre velke projekty by som volil xml aby bolo vsetko na jednom mieste a nie rozhadzane po kode. Na JPA sa mne paci ze je to standard a tak ako pod hibernate mozete relativne jednoducho zmenit databazu tak pod JPA mozete zmenit perzistencneho vendora. Pokud vim, tak Hibernate 3.2 umi take fungovat s anotacemi. Viz: http://www.hibernate.org/247.html Lukas
Re: hibernate substr nebo position
No to jde i u query. Tam je to uplne shodne. Podle me jejich hlavni teziste je v tom ze kdyz mate formular pro vyhledavani podle spousty kriterii, nemusite davat dohromady zadny select, pocitat pozice parametru v dotazu, ... Alespon proto ho chci pouzit ja. .setFirstResultint) selectedPage - 1) * (int) interval)) .setMaxResults((int) interval) To funguje u obou. Jak query, tak criteria. Pet Lukas Barton wrote: Burdik Petr wrote: Ahoj, doted jsem pouzival klasicky query. mam vzdy dva dotazy. Jeden na pocet objektu vyhovujicich kriteriim a druhy na seznam objektu. Jenom nevim jak nahradit ten stary count pomoci criteria. Nemate napad? tech kriterii muze byt vice. // stary count String selectCount = select count(*) from Article article where article.artIdSupplier like ?; Integer count = (Integer) session.createQuery(selectCount) .setParameter(0,% + artIdSupplier + %) .uniqueResult(); Predpokladam, ze bude fungovat neco jako: .createCriteria(Cat.class) .setProjection( Projections.projectionList().add( Projections.rowCount() ).setProjection( Projections.projectionList() .add( Projections.rowCount() ) Vyhodou Criterii potom je, ze se da pouzit ||*setFirstResult http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html#setFirstResult%28int%29 a *||*setFetchSize http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html#setFetchSize%28int%29 pro snadne strankovani (teda pokud to umi databaze). Lukas*
Re: hibernate substr nebo position
Burdik Petr wrote: No to jde i u query. Tam je to uplne shodne. Podle me jejich hlavni teziste je v tom ze kdyz mate formular pro vyhledavani podle spousty kriterii, nemusite davat dohromady zadny select, pocitat pozice parametru v dotazu, ... Alespon proto ho chci pouzit ja. Tak to pouzivam. A taky se s tim dobre dela slozite zavorkovani - pouziti vice urovni zavorek, OR a AND najednou. Staci pouzit zasobnik :-) .setFirstResultint) selectedPage - 1) * (int) interval)) .setMaxResults((int) interval) To funguje u obou. Jak query, tak criteria. U query jsem si toho, kdyz jsem to potreboval, nevsiml :-)
Re: hibernate substr nebo position
Ahojda, a posledni spek, v count sestavuju prakticky stejny dotaz jako v samotnem strankovanem query. Premyslim jak nasazet vsechna criteria jednou a pak zavolat jenom dva ruzne dotazy. Nebyl by to problem kdybych nepotreboval napred ten count. Jde samozrejme napsat potomek criteria ktery bude implementovat klonovani. Takze seberu prvni klon, vytvorim jeden dotaz, druhy klon pak na query. Ale mozna ma nekdo nejake pekne reseni tak si dam poradit :) Pet Jaroslav Hurdes wrote: Jde to i takto Criteria c = ...; c.setProjection(Projections.count(id)); Integer count = (Integer) c.uniqueResult(); kde id je jmeno sloupce s primarnim klicem. Jaroslav Hurdes Burdik Petr wrote: No to jde i u query. Tam je to uplne shodne. Podle me jejich hlavni teziste je v tom ze kdyz mate formular pro vyhledavani podle spousty kriterii, nemusite davat dohromady zadny select, pocitat pozice parametru v dotazu, ... Alespon proto ho chci pouzit ja. .setFirstResultint) selectedPage - 1) * (int) interval)) .setMaxResults((int) interval) To funguje u obou. Jak query, tak criteria. Pet Lukas Barton wrote: Burdik Petr wrote: Ahoj, doted jsem pouzival klasicky query. mam vzdy dva dotazy. Jeden na pocet objektu vyhovujicich kriteriim a druhy na seznam objektu. Jenom nevim jak nahradit ten stary count pomoci criteria. Nemate napad? tech kriterii muze byt vice. // stary count String selectCount = select count(*) from Article article where article.artIdSupplier like ?; Integer count = (Integer) session.createQuery(selectCount) .setParameter(0,% + artIdSupplier + %) .uniqueResult(); Predpokladam, ze bude fungovat neco jako: .createCriteria(Cat.class) .setProjection( Projections.projectionList().add( Projections.rowCount() ).setProjection( Projections.projectionList() .add( Projections.rowCount() ) Vyhodou Criterii potom je, ze se da pouzit ||*setFirstResult http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html#setFirstResult%28int%29 a *||*setFetchSize http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.html#setFetchSize%28int%29 pro snadne strankovani (teda pokud to umi databaze). Lukas*
RE: hibernate substr nebo position
Dobry den, jeste je moznost to udelat takto: (1) Vyberu dle kriteria primarni klice vyhovujicich zaznamu. (2) Count spocitam v Jave. (3) Konkretni objekty pak ziskavam na zaklade prve nactene kolekce klicu priblizne takto from Cat c where c.id in (keys). Podminku vyberu specifikuji jen poprve, kdyz nacitam klice. Nacitani objektu po strankach je v podstate stale stejne. mp. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Burdik Petr Sent: Tuesday, September 19, 2006 9:52 AM To: Java Subject: Re: hibernate substr nebo position Ahojda, a posledni spek, v count sestavuju prakticky stejny dotaz jako v samotnem strankovanem query. Premyslim jak nasazet vsechna criteria jednou a pak zavolat jenom dva ruzne dotazy. Nebyl by to problem kdybych nepotreboval napred ten count. Jde samozrejme napsat potomek criteria ktery bude implementovat klonovani. Takze seberu prvni klon, vytvorim jeden dotaz, druhy klon pak na query. Ale mozna ma nekdo nejake pekne reseni tak si dam poradit :) Pet Jaroslav Hurdes wrote: Jde to i takto Criteria c = ...; c.setProjection(Projections.count(id)); Integer count = (Integer) c.uniqueResult(); kde id je jmeno sloupce s primarnim klicem. Jaroslav Hurdes Burdik Petr wrote: No to jde i u query. Tam je to uplne shodne. Podle me jejich hlavni teziste je v tom ze kdyz mate formular pro vyhledavani podle spousty kriterii, nemusite davat dohromady zadny select, pocitat pozice parametru v dotazu, ... Alespon proto ho chci pouzit ja. .setFirstResultint) selectedPage - 1) * (int) interval)) .setMaxResults((int) interval) To funguje u obou. Jak query, tak criteria. Pet Lukas Barton wrote: Burdik Petr wrote: Ahoj, doted jsem pouzival klasicky query. mam vzdy dva dotazy. Jeden na pocet objektu vyhovujicich kriteriim a druhy na seznam objektu. Jenom nevim jak nahradit ten stary count pomoci criteria. Nemate napad? tech kriterii muze byt vice. // stary count String selectCount = select count(*) from Article article where article.artIdSupplier like ?; Integer count = (Integer) session.createQuery(selectCount) .setParameter(0,% + artIdSupplier + %) .uniqueResult(); Predpokladam, ze bude fungovat neco jako: .createCriteria(Cat.class) .setProjection( Projections.projectionList().add( Projections.rowCount() ).setProjection( Projections.projectionList() .add( Projections.rowCount() ) Vyhodou Criterii potom je, ze se da pouzit ||*setFirstResult http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm l#setFirstResult%28int%29 a *||*setFetchSize http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm l#setFetchSize%28int%29 pro snadne strankovani (teda pokud to umi databaze). Lukas*
RE: RMI za firewalem
Rýchle riešenie - odinštalovať záplatu ;-) Rastislav Bedo Siekel P.S. Sorry, viem, že to nie je riešenie, ale nedalo mi ;-)) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jan Medek Sent: 19. septembra 2006 15:25 To: Java Subject: RMI za firewalem Dobry den, zakaznik upgradovat Windows2003 server nejakou bezpecnosti zaplatou (nevim, jakou) a od te doby se nemohou nase klientske aplikace pripojit k nasi serverove strane pres RMI. nevite nelkdo reseni? Zda se, ze se jedna o nejake zvysene zabezpeceni firewallu. Kdyz vypnou firewall, tak to bezi. Omlouvam se, ze pisu predtim, nez zacnu googlovat. Situace vyzaduje rychle reseni. Dekuji. Honza
Re: RMI za firewalem
Ale pobavil jste mne. :-) Rastislav Siekel napsal(a): Rýchle riešenie - odinštalovať záplatu ;-) Rastislav Bedo Siekel P.S. Sorry, viem, že to nie je riešenie, ale nedalo mi ;-)) -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Jan Medek Sent: 19. septembra 2006 15:25 To: Java Subject: RMI za firewalem Dobry den, zakaznik upgradovat Windows2003 server nejakou bezpecnosti zaplatou (nevim, jakou) a od te doby se nemohou nase klientske aplikace pripojit k nasi serverove strane pres RMI. nevite nelkdo reseni? Zda se, ze se jedna o nejake zvysene zabezpeceni firewallu. Kdyz vypnou firewall, tak to bezi. Omlouvam se, ze pisu predtim, nez zacnu googlovat. Situace vyzaduje rychle reseni. Dekuji. Honza
Re: RMI za firewalem
Jan Medek wrote: Ale pobavil jste mne. :-) A co spravne nastavit firewall? Lukas
Re: RMI za firewalem
RMI si dynamicky alokuje porty. Lukas Barton napsal(a): Jan Medek wrote: Ale pobavil jste mne. :-) A co spravne nastavit firewall? Lukas
Re: RMI za firewalem
RMI může být nakonfigurováno přes http tunel. V. On 19.9.2006, at 15:32, Jan Medek wrote: RMI si dynamicky alokuje porty. Lukas Barton napsal(a): Jan Medek wrote: Ale pobavil jste mne. :-) A co spravne nastavit firewall? Lukas
Re: OT: Craig McClanahan v CR
http://conferences.oreillynet.com/presentations/os2005/mcclanahan.pdfTo je ono ?
Re: RMI za firewalem
To prave ctu a nejsem z toho nejak moudry. Poradite? :-) Vladimír Lahoda napsal(a): RMI může být nakonfigurováno přes http tunel. V.
Re: RMI za firewalem
Nebo: UnicastRemoteObject bere v konstruktoru take port, kde ma byt poveseny. Defaultne je to 0, to znamena hod se nekam nahoru (32000?), nezajima me presne kam. Muzete si ale pouzitim jineho konstruktoru vynutit konkretni cislo, pak budete na FW potrebovat povolit dva porty - jeden pro komunikaci s registrem, jeden pro komunikaci s objekty. Pri startu vaseho serveru to bude jeste chtit: -Djava.rmi.server.hostname=firewall.pres.ktery.se.de Lukas Barton wrote: Jan Medek wrote: RMI si dynamicky alokuje porty. Tak ho nastavte podle destinace. Predpokladam, ze server mate jen jeden. Lukas -- S pozdravem, Tomas Zverina Multimedia atelier s.r.o. Na Dolinách 4 147 00 Praha 4 IČO: 25127071 tel.: 241 433 120 e-mail: [EMAIL PROTECTED] http://www.m-atelier.cz/ Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v Praze, oddíl C, vložka 51961.
RMI za firewalem
Dobry den, zakaznik upgradovat Windows2003 server nejakou bezpecnosti zaplatou (nevim, jakou) a od te doby se nemohou nase klientske aplikace pripojit k nasi serverove strane pres RMI. nevite nelkdo reseni? Zda se, ze se jedna o nejake zvysene zabezpeceni firewallu. Kdyz vypnou firewall, tak to bezi. Omlouvam se, ze pisu predtim, nez zacnu googlovat. Situace vyzaduje rychle reseni. Dekuji. Honza
Re: RMI za firewalem
Presne tak, porty pouzivane RMI zkrotit lze. Dale bych doporucil se jeste podivat na RMI Doves, treba to bude k necemu uzitecne (nam bylo, i kdyz zejmena k poznani, jak to vsechno funguje ;-)): http://ca.geocities.com/rmi_doves/index.html Roman - Original Message - From: Tomas Zverina [EMAIL PROTECTED] To: Java konference@java.cz Sent: Tuesday, September 19, 2006 3:55 PM Subject: Re: RMI za firewalem Nebo: UnicastRemoteObject bere v konstruktoru take port, kde ma byt poveseny. Defaultne je to 0, to znamena hod se nekam nahoru (32000?), nezajima me presne kam. Muzete si ale pouzitim jineho konstruktoru vynutit konkretni cislo, pak budete na FW potrebovat povolit dva porty - jeden pro komunikaci s registrem, jeden pro komunikaci s objekty. Pri startu vaseho serveru to bude jeste chtit: -Djava.rmi.server.hostname=firewall.pres.ktery.se.de Lukas Barton wrote: Jan Medek wrote: RMI si dynamicky alokuje porty. Tak ho nastavte podle destinace. Predpokladam, ze server mate jen jeden. Lukas -- S pozdravem, Tomas Zverina Multimedia atelier s.r.o. Na Dolinách 4 147 00 Praha 4 IČO: 25127071 tel.: 241 433 120 e-mail: [EMAIL PROTECTED] http://www.m-atelier.cz/ Společnost Multimedia atelier s.r.o. je zapsána u rejstříkového soudu v Praze, oddíl C, vložka 51961.
RE: hibernate substr nebo position
Title: Message Ja to robím takto /** Create criteria. */ private DetachedCriteria getCriteriaTp412(...) { DetachedCriteria crit = DetachedCriteria.forClass(Tp412TO.class, "t"); crit.add( Subqueries.propertyEq("t." + Tp412TO.COL_tp412aSaveTime, subselect) ); ... return crit; } /** Load List. */ public List loadList(...) { DetachedCriteria crit = getCriteriaTp412(...); HibernateTemplate template = getHibernateTemplate(); return template.findByCriteria(crit, aFirstResult, aMaxResult); } /** Load only count of total records. */ public int loadListTotalCount(...) { DetachedCriteria crit = getCriteriaTp412(...); crit.setProjection( Projections.rowCount() ); HibernateTemplate template = getHibernateTemplate(); List list = template.findByCriteria(crit); Number count = (Number)list.get(0); return count.intValue(); } Čiže doplnením zvýrazneného riadku do normálneho kritéria, dostanem len jeho COUNT(*) Rastislav "Bedo" Siekel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Michal Palička Sent: 19. septembra 2006 10:04 To: Java Subject: RE: hibernate substr nebo position Dobry den, jeste je moznost to udelat takto: (1) Vyberu dle kriteria primarni klice vyhovujicich zaznamu. (2) Count spocitam v Jave. (3) Konkretni objekty pak ziskavam na zaklade prve nactene kolekce klicu priblizne takto "from Cat c where c.id in (keys)". Podminku vyberu specifikuji jen poprve, kdyz nacitam klice. Nacitani objektu po strankach je v podstate stale stejne. mp. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]] On Behalf Of Burdik Petr Sent: Tuesday, September 19, 2006 9:52 AM To: Java Subject: Re: hibernate substr nebo position Ahojda, a posledni spek, v count sestavuju prakticky stejny dotaz jako v samotnem strankovanem query. Premyslim jak nasazet vsechna criteria jednou a pak zavolat jenom dva ruzne dotazy. Nebyl by to problem kdybych nepotreboval napred ten count. Jde samozrejme napsat potomek criteria ktery bude implementovat klonovani. Takze seberu prvni klon, vytvorim jeden dotaz, druhy klon pak na query. Ale mozna ma nekdo nejake pekne reseni tak si dam poradit :) Pet Jaroslav Hurdes wrote: Jde to i takto Criteria c = ...; c.setProjection(Projections.count("id")); Integer count = (Integer) c.uniqueResult(); kde id je jmeno sloupce s primarnim klicem. Jaroslav Hurdes Burdik Petr wrote: No to jde i u query. Tam je to uplne shodne. Podle me jejich hlavni teziste je v tom ze kdyz mate formular pro vyhledavani podle spousty kriterii, nemusite davat dohromady zadny select, pocitat pozice parametru v dotazu, ... Alespon proto ho chci pouzit ja. .setFirstResultint) selectedPage - 1) * (int) interval)) .setMaxResults((int) interval) To funguje u obou. Jak query, tak criteria. Pet Lukas Barton wrote: Burdik Petr wrote: Ahoj, doted jsem pouzival klasicky query. mam vzdy dva dotazy. Jeden na pocet objektu vyhovujicich kriteriim a druhy na seznam objektu. Jenom nevim jak nahradit ten stary count pomoci criteria. Nemate napad? tech kriterii muze byt vice. // stary count String selectCount = "select count(*) from Article article where article.artIdSupplier like ?"; Integer count = (Integer) session.createQuery(selectCount) .setParameter(0,"%" + artIdSupplier + "%") .uniqueResult(); Predpokladam, ze bude fungovat neco jako: .createCriteria(Cat.class) .setProjection( Projections.projectionList().add( Projections.rowCount() ).setProjection( Projections.projectionList() .add( Projections.rowCount() ) Vyhodou Criterii potom je, ze se da pouzit ||*setFirstResult http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm l#setFirstResult%28int%29 a *||*setFetchSize http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm l#setFetchSize%28int%29 pro snadne strankovani (teda pokud to umi databaze). Lukas*
Re: JPA a autoincrement
Nevíte někdo, zda jde Java Persistance API donutit, aby používaloautoincrementaci primárního klíče? Respektive to umí databáze sama, Oracle nevie AUTO_INCREMENT takze musite zvolit iny sposob vytvarania primary key. Napriklad Sequencer:@Id @GeneratedValue(strategy=GenerationType.SEQUENCE)
Re: hibernate substr nebo position
Nekdy si pripadam uplne divny. Nekdy hledam slozitejsi reseni nez by bylo potreba. Diky za tento kousek kodu. Je to parada. Pet Rastislav Siekel wrote: Ja to robím takto /** Create criteria. */ private DetachedCriteria getCriteriaTp412(...) { DetachedCriteria crit = DetachedCriteria.forClass(Tp412TO.class, t); crit.add( Subqueries.propertyEq(t. + Tp412TO.COL_tp412aSaveTime, subselect) ); ... return crit; } /** Load List. */ public List loadList(...) { DetachedCriteria crit = getCriteriaTp412(...); HibernateTemplate template = getHibernateTemplate(); return template.findByCriteria(crit, aFirstResult, aMaxResult); } /** Load only count of total records. */ public int loadListTotalCount(...) { DetachedCriteria crit = getCriteriaTp412(...); *crit.setProjection( Projections.rowCount() ); *HibernateTemplate template = getHibernateTemplate(); List list = template.findByCriteria(crit); Number count = (Number)list.get(0); return count.intValue(); } Čiže doplnením zvýrazneného riadku do normálneho kritéria, dostanem len jeho COUNT(*) Rastislav Bedo Siekel -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Michal Palička Sent: 19. septembra 2006 10:04 To: Java Subject: RE: hibernate substr nebo position Dobry den, jeste je moznost to udelat takto: (1) Vyberu dle kriteria primarni klice vyhovujicich zaznamu. (2) Count spocitam v Jave. (3) Konkretni objekty pak ziskavam na zaklade prve nactene kolekce klicu priblizne takto from Cat c where c.id in (keys). Podminku vyberu specifikuji jen poprve, kdyz nacitam klice. Nacitani objektu po strankach je v podstate stale stejne. mp. -Original Message- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Burdik Petr Sent: Tuesday, September 19, 2006 9:52 AM To: Java Subject: Re: hibernate substr nebo position Ahojda, a posledni spek, v count sestavuju prakticky stejny dotaz jako v samotnem strankovanem query. Premyslim jak nasazet vsechna criteria jednou a pak zavolat jenom dva ruzne dotazy. Nebyl by to problem kdybych nepotreboval napred ten count. Jde samozrejme napsat potomek criteria ktery bude implementovat klonovani. Takze seberu prvni klon, vytvorim jeden dotaz, druhy klon pak na query. Ale mozna ma nekdo nejake pekne reseni tak si dam poradit :) Pet Jaroslav Hurdes wrote: Jde to i takto Criteria c = ...; c.setProjection(Projections.count(id)); Integer count = (Integer) c.uniqueResult(); kde id je jmeno sloupce s primarnim klicem. Jaroslav Hurdes Burdik Petr wrote: No to jde i u query. Tam je to uplne shodne. Podle me jejich hlavni teziste je v tom ze kdyz mate formular pro vyhledavani podle spousty kriterii, nemusite davat dohromady zadny select, pocitat pozice parametru v dotazu, ... Alespon proto ho chci pouzit ja. .setFirstResultint) selectedPage - 1) * (int) interval)) .setMaxResults((int) interval) To funguje u obou. Jak query, tak criteria. Pet Lukas Barton wrote: Burdik Petr wrote: Ahoj, doted jsem pouzival klasicky query. mam vzdy dva dotazy. Jeden na pocet objektu vyhovujicich kriteriim a druhy na seznam objektu. Jenom nevim jak nahradit ten stary count pomoci criteria. Nemate napad? tech kriterii muze byt vice. // stary count String selectCount = select count(*) from Article article where article.artIdSupplier like ?; Integer count = (Integer) session.createQuery(selectCount) .setParameter(0,% + artIdSupplier + %) .uniqueResult(); Predpokladam, ze bude fungovat neco jako: .createCriteria(Cat.class) .setProjection( Projections.projectionList().add( Projections.rowCount() ).setProjection( Projections.projectionList() .add( Projections.rowCount() ) Vyhodou Criterii potom je, ze se da pouzit ||*setFirstResult http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm l#setFirstResult%28int%29 a *||*setFetchSize http://www.hibernate.org/hib_docs/v3/api/org/hibernate/Criteria.htm l#setFetchSize%28int%29 pro snadne strankovani (teda pokud to umi databaze). Lukas*
Re: JDBC+mysql
Ja mam v jednej tabulke 26 000 000 zaznamov. Nepresiel som na InnoDB pretoze by mal byt MyISAM v mojom pripade lepsi (velmi vela selectov a relativne malo insertov a ziadne update) a ale hlavne, pretoze som (pomerne pracne) vyriesil problem s prerusenymi transakciami. Ked ale teraz robime na novej aplikacii (pocitame asi tak 50GB zaznamov) tak sme sa rozhodli pre MySQL (zakaznik nechce Oracle) a pre InnoDB, pretoze tam budu dlhe a komplikovane transakcie. Může se taky připtat na něco malinko mimo.Zajímá mě ten přechod na InnoDB. Je to výkonově lepší? Mě velmi chybínepodpora cizích klíčů u MyISAM a tím i celkově složitá režie rušenírušení záznamů o které by se jinak starala DB automaticky. Ale admin nechce na MyISAM přejít z výkonových důvodů. Navíc se vymlouvá na to,že vývoj InndoDB je stejně ukončen, protože to odkoupil Oracle.