Je continue à obtenir une erreur lors du démarrage de l'application de Grails après avoir mis à jour des greils 2.4.3 à 2.4.4. L'erreur complète peut être lue ici: http://pastebin.com/uxq34jkd IT montre Un Il ne dis pas de quelle classe de domaine ou une information vraiment utile. J'ai essayé de supprimer des classes de domaine et d'essayer de comprendre quelle est la cause, mais c'est une application importante et j'ai été infructueuse. P> Quelqu'un peut-il me diriger dans la bonne direction pour déterminer où cela est déclenché Et comment le réparer? p> p> Références associatives de classement Mapappé: java.util.list code> p>
3 Réponses :
La première chose à faire est de savoir quel (s) champ (s) cause (s). Probablement ce sera n'importe quel champ dans une classe de domaine em> déclarée comme une liste Dans mon cas, il était facile de les trouver, car le projet est sur un stade très précoce et il n'y a pas trop de domaines. p> Cependant, j'ai trouvé un solution possible pour réduire le jeu de câlins possibles. p> La partie intéressante est la suivante: P> Qu'est-ce qui suce la seule bonne façon de comprendre où ils sont consiste à définir un point d'arrêt sur la ligne 436 de AbstractGarailDomainbindin et regardez l'état des choses p>
blockQuote> Lorsque vous trouvez les champs inappropriés, il est temps de mettre en œuvre une solution de contournement. P> Supposons que notre coupable était Nous devons nous débarrasser de la liste, bien sûr, la solution serait donc quelque chose comme: p> code>. P>
Fixation du problème h2>
List Auteurs dans une classe de domaine comme: p>
def book = new Book()
book.setAuthors([1, 2, 3])
Eh bien, je ne considère pas vraiment une solution de contournement. Je ne pense tout simplement pas qu'u la liste code> en tant que champ d'une classe de domaine est une bonne pratique du tout. Mais bien sûr, je suis ouvert à toutes les suggestions. S'il vous plaît, fournissez le vôtre.
Pourquoi est-ce une solution de contournement si Grails dit qu'il prend en charge la liste des types primitifs? greils.github.io/gails-doc/latest/Guide/ ...
Eh bien, GRAVES fournit quelques fonctionnalités qui ne sont en fait pas les meilleures de l'utilisation du monde réel, e.x. Hasmany (en raison de la performance) ou des paramètres de demande de liaison directs aux objets de domaine (en raison de la sécurité). Le fait que c'est soutenu ne signifie pas que c'est la meilleure pratique ...
Essayez de remplacer l'interface problématique code> avec quelque chose qui est une classe réelle, par exemple
ArrayList code> P>
Vous aussi Vous devez également au moins cela fonctionne pour moi. < / p> p> list
J'ai déjà vu cette erreur avec des versions plus anciennes de Grails ...