Pozvánka na přednášku na UHK iBatis SqlMaps

Po relativně krátké době se chystá nová přednáška na Univerzitě Hradec Králové - tentokrát o knihovně iBatis, která řeší objektově relační mapování tak trochu jiným způsobem než jde JPA a Hibernate. A to způsobem, který vyhovuje nejen nám, ale i tisícům vývojářů po celém světě. iBatis je řešením, které leží někde mezi JDBC a JPA - na jednu...

Jak selektivně podle třídy mazat objekty z Hibernate session

Moje honba za LazyInitializationException byla úspěšná (musím se přiznat, že velkým pomocníkem mi byl Eclipse Memory Analyzer, který mi pomohl zjistit, kdo se na objekt odkazuje). Problém byl v tom, že jsem chtěl vymazat objekty ze Sessiony, ale protože jsem neznal jednotlivé instance, zavolal jsem metodu clear a znova zaasocioval to co jsem si...

Překlad výjímek z databáze při použití Hibernate

hibernate logo
Kdo používá Hibernate, ten možná již tuší, kam budu dnešním příspěvkem mířit. Jde o to, že chyby, které detekuje Hibernate se snaží do výjimky dávat jméno třídy a atributu, který chybu vyvolal. Ovšem pokud vám chybu vyhodí databáze, pak vás Hibernate nechá ve štichu a předhodí vám výjimku datábáze a dělejte si s ní co chcete.Toto chování se mi...

jOpenSpace 2008 - ORM - Hibernate a klientská aplikace

Klientské aplikace napsané v AWT, Swingu nebo SWT mají jedno velké specifikum oproti aplikacím webovým. Tím specifikem je jednovláknovost těchto knihoven. Tj. kód, který přistupuje k UI tak musí činit z UI vlákna (ve webové aplikaci má každý request své vlákno - skoro vždy). Z tohoto vlákna tedy není vhodné provádět náročné akce, protože dojde...

Optimalizujeme Hibernate

hibernate logo
Při vývoji s Hibernate můžete narazit na výkonnostní problémy. Tento fakt je způsoben především tím, že Hibernate přidává další abstraktní vrstvu a pokud Vám jeho funkčnost není zcela známa, můžete narazit na problémy.Chtěl bych zde osvětlit postupy, které my používáme při vývoji aplikací, abychom dosáhli co nejvyššího výkonu.

Generické DAO pro Hibernate/JPA

hibernate logo
Nečekejte žádnou raketovou vědu, ale jenom takový malý tip ;-). Na pár projektech jsem se setkal s tim, že pro každou entitu bylo ručně vytvořeno a nebo vygenerováno DAO. Většina těchto DAO objektů však obsahovala pouze metody pro CRUD operace (Create, Update, Delete) pro danou entitu. To vedlo k často se opakujícímu kódu, který rozhodně nebyl...

Dočasné tabulky uvnitř transakce v MySQL aneb magie implicitního commitu

Narazil jsem na zajímavý a velmi zvláštní problém. Psal jsem transakční test ve Springu, který otvírá transakci na začátku a rollbackuje ji na konci testu. První část testu prováděla kupu INSERT a UPDATE SQL příkazů a potom jsem ověřoval provedení příkazu zpětným nahráním dat zpět z databáze. Test jako takový mi procházel, nicméně když jsem jej...

Hibernate - práce s kolekcemi, ManyToMany vazba

hibernate logo
S Hibernatem dělám již celkem dlouho, ale i tak pořád narážím na nové a nové věci (to bude asi tím, že jsem manuál k Hibernate celý ještě nečetl a vždy se učím až za pochodu). Teď naposledy jsem řešil celkem intenzivně kolekce a asociace. Hibernate z pohledu kolekcí rozlišuje tři základní implementace...

Reverse Ajax s DWR, Spring, iBatis

Před nějakým časem se v Avedyi rozjížděl nový projekt. Jednalo se o klasický webový chat. Vytvořil jsem tehdy jednoduchý prototyp. Použil jsem DWR a technologii reverse ajax. Pro tento článek jsem původní prototyp trochu rozšířil a zapojil jsem Spring Framework a jako DAO vrstvu jsem vybral iBatis.

Výkonnost PreparedStatementu

Zakořeněným názorem je, že by se měly při práci s JDBC používat PreparedStatementy namísto obyčejných Statementu. Důvody jsou na bíledni, a to větší výkonnost a bezpečnost. Tyto argumenty Vám omlátí o hlavu kde kdo. Otázkou je jak je to s výkonností. Dlouhou dobu jsem si žil s názorem, že využití PreparedStatementu má opodstatnění až při...

 
strana 3/6celkem 59 položek