GORM pour Hibernate dans un script Groovy
GORM (Grails Object Relational Mapping) est une librairie d'accès aux données utilisée par le framework web Grails et qui, dès sa première version, s'est appuyée sur Hibernate pour faciliter le mapping entre le modèle objet et le modèle relationnel d'une application.
Aujourd'hui, GORM se décline en plusieurs implémentations pour MongoDB, Cassadra et Neo4j.
Mais on peut également tirer profit de GORM en dehors de Grails, par exemple dans une application riche ou un script Groovy.
A titre d'exemple, voici un exemple simple de script Groovy qui utilise GORM for Hibernate, et tire les librairies dépendantes grâce au système Grape. L'intérêt est ici de fournir un exemple de script complet que l'on peut exécuter grâce à Groovy, et dont les dépendances seront téléchargées automatiquement.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
|
Que fait ce script ?
Utilisant un objet HibernateDatastore
pour l'accès aux données, il crée simplement un objet métier dont le type Person
est annoté avec @grails.gorm.annotation.Entity
, puis le persiste dans une base de données H2 en mémoire, au moyen de la méthode save()
injectée par GORM. Ensuile, il affiche le nombre total d'entités Person
en base de données, grâce à la méthode static
Personn.count()
, elle aussi injectée par GORM.
De plus, en coulisses, et en tenant compte de la valeur du paramètre de configuration hibernate.hbm2ddl.auto
passé au datastore, GORM se charge de générer le schéma de la base de données (par convention on y trouvera une table PERSON
).
Il est bien sûr possible d'utiliser une base de données H2 en fichier, ou bien un autre type de base de données, comme PosgreSQL par exemple, à condition de spécifier la bonne dépendance, et de modifier la valeur de paramètre dataSource.url
de manière appropriée.
Vous voici maintenant prêts à expérimenter GORM beaucoup plus en profondeur, avec des scripts Groovy !