2012-12-10 2 views
0

Salut J'ai une classe de domaine que j'ai définie comme int userID. Cela affectera-t-il quand le numéro automatique devient très grand et que User.findById() génère une erreur? Si je change à Long maintenant (les gens utilisent déjà l'application) affectera-t-il le findById()?L'ID de domaine grails comme int ou Long

Répondre

1

findById() fonctionnera très bien. Le vrai problème sera lors de l'insertion de nouvelles données dans une table, si l'identifiant est généré automatiquement, il redémarrera très probablement à l'atteinte de la valeur max qui peut entraîner des doublons, et donc des erreurs.

En général, il n'est pas si simple de modifier la définition de schéma lorsque l'application est déjà en production et que la base de données est remplie. Et si vous essayez de le faire dans Grails, vous risquez de perdre des informations dans la base de données. Alors s'il vous plaît, faites une sauvegarde, avant d'essayer quoi que ce soit.