Modification du code pureQuery généré prenant en charge le style de programmation méthode annotée

Après avoir généré une interface qui déclare des méthodes annotées, vous pouvez éditer les instructions SQL et modifier, ajouter ou supprimer les méthodes de votre choix. Vous pouvez ensuite régénérer l'implémentation de cette interface avant d'exécuter la classe de test en vue de tester votre code. Vous pouvez aussi éditer les classes d'implémentation qui correspondent à vos interfaces.

Procédure

Pour modifier du code pureQuery généré :

  1. Pour éditer un bean que le plan de travail a généré à partir d'une table, effectuez les opérations suivantes :
    1. Dans l'explorateur de projets, cliquez deux fois sur le bean pour l'ouvrir dans l'éditeur Java.
    2. Apportez vos modifications.
    3. Régénérez l'interface associée et sa classe d'implémentation :
      1. Dans l'éditeur Java, cliquez sur le bean avec le bouton droit de la souris puis sélectionnez pureQuery > Générer le code pureQuery.
      2. Dans l'assistant Génération du code pureQuery à partir d'une table, spécifiez la génération de l'interface.
    4. Si le plan de travail n'est pas configuré pour effectuer des générations incrémentielles, sélectionnez Projet > Générer le projet afin de générer l'implémentation de l'interface. Vous pouvez configurer le plan de travail pour l'exécution de générations incrémentielles en sélectionnant Fenêtre > Préférences. Dans la fenêtre Préférences, sélectionnezGénéral > Espace de travail. Dans la page Espace de travail, sélectionnez Générer automatiquement.
  2. Pour éditer une interface générée, effectuez les opérations suivantes :
    1. Dans l'explorateur de projets, cliquez deux fois sur l'interface afin de l'ouvrir dans l'éditeur Java.
    2. Apportez vos modifications.
      • Si vous devez modifier l'instruction SQL d'une méthode :
        • Pour utiliser le même nombre de paramètres d'entrée de position et conserver le même ordre pour les paramètres, éditez l'instruction SQL mais ne modifiez pas la signature de la méthode.
        • Pour utiliser un nombre différent de paramètres d'entrée et/ou un ordre différent pour les paramètres :
          1. Modifiez l'instruction SQL.
          2. Modifiez la signature de méthode pour qu'elle corresponde au nombre de paramètres d'entrée de l'instruction SQL.
          3. Modifiez la classe de test de sorte qu'elle transmette le bon nombre de paramètres d'entrée à la méthode.
        • Si l'instruction est une instruction SELECT et que vous avez besoin d'un autre ensemble de résultats, générez un bean qui représente l'ensemble de résultats. Cliquez sur l'instruction SQL avec le bouton droit de la souris puis sélectionnez Générer le code pureQuery.
      • Modifiez le nom des méthodes. Veillez à modifier la classe de test de sorte qu'elle appelle les méthodes par leurs nouveaux noms.
      • Ajoutez les nouvelles méthodes et les instructions SQL correspondantes. Veillez à ajouter du code dans la classe de test afin que cette dernière puisse appeler les nouvelles méthodes.
    3. Régénérez l'implémentation de l'interface en utilisant l'une des deux méthodes :
      • Si le plan de travail est configuré pour l'exécution d'une génération automatique, sauvegardez les modifications apportées à l'interface.
      • Dans le cas contraire, sélectionnez Projet > Générer le projet afin de générer l'implémentation de l'interface. Vous pouvez configurer le plan de travail pour l'exécution d'une génération automatique en sélectionnant Fenêtre > Préférences. Dans la fenêtre Préférences, sélectionnezGénéral > Espace de travail. Dans la page Espace de travail, sélectionnez Générer automatiquement.
  3. Pour éditer une classe d'implémentation générée pour une interface, effectuez les opérations ci-après.

    Par défaut, le plan de travail traite les classes d'implémentation générées comme du code utilisateur. Lorsque vous éditez une interface, sauvegardez les modifications et régénérez votre projet Java, le plan de travail régénère la classe d'implémentation mais ne supprime pas les modifications que vous avez apportées à la classe d'implémentation, à condition toutefois que vous ayez respecté certaines conventions lors de l'édition. Ces conventions sont exposées ci-dessous.

    Avertissement : N'éditez pas une classe d'implémentation si elle contient le commentaire suivant :
    // This generated code should not be modified. Any changes should be made to the Interface source
    // file and this implementation code regenerated.

    Pour éditer une classe d'implémentation :

    1. Cliquez deux fois sur la classe d'implémentation afin de l'ouvrir dans l'éditeur Java.
    2. Respectez ces conventions lorsque vous procédez aux modifications.
      • Supprimez l'annotation @generated dans le commentaire qui se trouve au-dessus des définitions de méthode ou de propriété que vous modifiez. Ainsi, le plan de travail conservera vos modifications.
      • Si vous ajoutez des commentaires, placez-les entre les balises suivantes :
        <\!-\- begin-user-doc \-->
        <\!-\- end-user-doc \-->
        Supposons par exemple que le plan de travail génère une implémentation avec la définition suivante pour une propriété :
        /**   
        * @generated   
        */ 
        public static final String identifier = "ActInterface";
        Vous devez placer votre commentaire entre les balises spéciales, comme suit :
        /**   
        * <\!-\- begin-user-doc \-->
        * Ceci est mon commentaire.
        * <\!-\- end-user-doc \-->
        * @generated   
        */ 
        public static final String identifier = "ActInterface";
    Pour que le plan de travail ne traite pas les classes d'implémentation générées comme du code utilisateur, effectuez les opérations suivantes :
    1. Cliquez sur votre projet Java avec le bouton droit de la souris puis sélectionnez Propriétés.
    2. Dans la page pureQuery > Générateur, désélectionnez la case Traiter les implémentations générées comme du code utilisateur.
    A partir de maintenant, le plan de travail ignorera les modifications que vous avez apportées aux classes d'implémentation générées. Lors de la régénération de la classe d'implémentation, vos modifications seront effacées.

Commentaires