Spgeed (/spiːd/) est une librairie Java permettant de communiquer facilement avec Postgresql au travers de JDBC. Quoi de neuf sous les tropiques me direz vous ? Pourquoi ne pas utiliser JPA (Hibernate) ?

Nous avons constaté au fil des années qu'en faisant abstraction de la base de données par l'intermédiaire d'un ORM, les développeurs ont cessé d'utiliser les possibilités de celle-ci. Par ailleurs, l'utilisation d'un ORM introduit bien souvent des soucis de performance, de lazy loading, ...

Nous souhaitions une solution permettant d'hydrater facilement des POJO tout en exploitant l'ensemble des fonctionnalités fournies par Postgresql.
Par exemple :
  • la recherche full-text mais aussi soundex
  • l'utilisation de la base de données sous forme de document (JSON)
  • la sécurité au niveau des données
  • l'import/export csv


Le principe de Spgeed est simple : on écrit les requêtes SQL en annotation des méthodes de DAO. La définition des méthodes indique à la librairie les paramètres à injecter dans la requête et le type des POJO à hydrater au retour de celle-ci.

Example :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
public interface VoyageDao {
 
    @Update(sql = "INSERT INTO voyage (name, location) VALUES (${name}, ${location})")
    int save(String name, String location);
 
    @Select(sql = "SELECT * FROM voyage")
    Voyage[] getVoyageArray();
}
Dans l'exemple précédent, la première requête insère un nouveau voyage, c'est à dire un nom désignant le voyage et une destination, dans la table voyage. La seconde requête recherche l'ensemble des voyages présents dans la table voyage. La signature de cette seconde méthode indique qu'un tableau d'objet Voyage doit être retourné. La librairie s'occupera ici de peupler les objets Voyage avec le résultat de la requête.

Pour plus d'information vous pouvez consulter le site web http://spgeed.org.