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 thoughts on “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 e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *