Zwischen der Flexibilität reinen SQLs und der Mächtigkeit ausgewachsener O/R-Mapper existiert eine kleine Bibliothek, die es beinahe in das JDK 6 geschafft hätte: EoD SQL (Ease of Development SQL). Die Idee hinter EoD SQL ist so genial wie einfach: Der Nutzer annotiert ein Java-Interface mit SQL-Statements und die Bibliothek liefert mittels eines Java-Reflection-Proxys eine Implementierung dieses Interfaces zur Benutzung:
public interface NutzerMgmt extends BaseQuery {
@Select("SELECT COUNT(*) FROM USER")
long ermittleNutzerAnzahl();
}
Folglich die Benutzung :
Connection c = … ;
NutzerMgmt nutzerMgmt = QueryTool.getQuery(c, NutzerMgmt.class);
try {
long anzahl = nutzerMgmt.ermittleNutzerAnzahl();
} finally {
nutzerMgmt.close(); // schließt ebenfalls die Connection
}
Möchte man das Gleiche mit reinem SQL erreichen, so ist der Code ungleich komplizierter:


