Je travaille sur le framework Grails. Je me demande que la façon dont Grails méthode de classe de domaine sont de comptage dynamique générer pour chaque classe de domaine d'application Grails commeGrails comment les méthodes créées automatiquement/dynamiquement pour la classe de domaine?
, countBy, createCriteria, supprimer, défausse, erreurs, executeQuery, executeUpdate, existe , fetchmode, trouver, findAll, findAllBy, findAllWhere, findBy, findOrCreateBy, findOrCreateWhere, findOrSaveBy, findOrSaveWhere, findWhere, premier, obtenir, getAll, getDirtyPropertyNames, getPersistentValue, hasErrors, hasMany, hasOne, ident, instanceOf, isAttached, IsDirty, dernière, liste , listOrderBy, charge, verrouillage , fusion, lecture, rafraîchissement, enregistrer, validate, où, withCriteria, withNewSession, WithSession, withTransaction
"Dans Grails 3.x aucune métaprogrammation n'est utilisée pour étendre les classes de domaine." - Ce n'est pas entièrement vrai. Nous utilisons encore la métaprogrammation d'exécution pour des choses comme les trouveurs dynamiques qui ne peuvent pas être truqués au moment de la compilation. Beaucoup d'autres choses qui étaient faites avec la métaprogrammation d'exécution ont été remplacées par des solutions basées sur les traits ou des transformations AST personnalisées, mais la métaprogrammation d'exécution est toujours utilisée dans Grails 3. –