JoSQL – SQL for Java Objects

Už jste někdy psali komparátor, který vám umožní seřadit kolekci podle tří položek (např. podle příjmení, jména a rodného čísla)? To je vždy chvíle, kdy vzpomínám na SQL a závidím uživatelům .NET jejich LINQ.

Teď jsem ovšem objevil program JoSQL   SQL for Java Objects, který dělá přesně to samé. Nepoužívá k tomu ovšem změnu syntaxe jazyka jako C# (zaplaťpánbůh), ale přesto se s ním pracuje celkem příjemně.

Sestavíte JoSQL dotaz, přidáte kolekci objektů nad kterou chcete provádět operace a dostanete výsledek. Můžete použít přístup k proměnným (property) a vše je prováděno pomocí reflection API.

Query q = new Query ();
q.parse ("select * from Subject order by surname, firstname, birthNum");
QueryResults qr = q.execute (getAllPeople());

Podporuje distinct, order by, where, group by a další. Můžete také samozřejmě použít dotaz typu:

select * from Subject where postalAddress.city = 'Pilsen'
select distinct postalAddress.city from Subject

Myslím si, že se jedná o povedený nástroj pro chvíle, kdy není možné použít řazení v databázi (třeba proto, že data v databázi prostě nemáte). Pro příště už nebudu psát složitý komparátor pro řazení dle více položek, ale použiji JoSQL.

1 komentář u „JoSQL – SQL for Java Objects“

  1. Este som o tom nepocul a vyzera to na velmi napomocny nastroj. Verme, ze je efektivne implementovany. Vdaka za tento prispevok, naozaj, premna zase nieco nove.

Napsat komentář

Vaše emailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *