J'ai des questions simples. Comment puis-je donner un nom aux relations clés étrangères qui découlent de l'annotation @ MétéoTone? P>
4 Réponses :
Si vous souhaitez nommer la colonne utilisée dans la clé étrangère, on peut spécifier le nom de la colonne utilisée pour créer la clé étrangère à l'aide de l'annotation Cependant, le nom de la contrainte de clé étrangère créée elle-même ne peut pas être configuré. Au moment de la rédaction de cela, il n'est pas possible de spécifier le nom de la contrainte de clé étrangère à l'aide d'un paramètre d'annotation ou de configuration JPA dans les fichiers ou de mappage. Si vous devez modifier le nom de la contrainte de clé étrangère, vous devez créer vous-même la déclaration DDL, au lieu de compter sur le fournisseur de la JPA pour le faire. P> @JOINCOLUN code> avec le
@Manytoone code> Annotation. La valeur du nom code> attribut de l'annotation code> @JOINCOLUMN code> est utilisée par le fournisseur JPA pour mapper le nom de la colonne dans la table de l'attribut de l'entité. P>
Bien que la mise en œuvre des solutions spécifiques puisse exister, par exemple, Hibernate a l'annotation @Forignkey.
Vérifiez @borjab Réponse, il y a une alternative maintenant.
A partir de JPA 2.1 Il est possible de définir des clés étrangères via @Forignkey annotation. p>
Malheureusement, il n'est pas très utile si vous n'avez besoin que de changer le nom. Si vous spécifiez le nom personnalisé du FK, vous devez également spécifier la définition SQL du FK. C'est au moins la façon dont il fonctionne dans Eclipselink 2.5.0. P>
avec jpa 2.1 Vous pouvez simplement faire cela avec le Annotation de l'entreprise : ne confondez pas avec le équivalent hibernate obsolète p> p>
C'est la réponse que j'ai recherchée, merci beaucoup, je n'ai pas pu faire fonctionner dans des relations de plustoManany, mais à MétéoOne ça marche comme un charme.
Je pense que @Forignkey ne fonctionne pas avec @jointables ou je ne sais pas comment définir des noms personnalisés par cela, je l'ai essayé sur @ jointabe-> ForeyKey et @ Joincolumn-> Foreykey P>
Peut-être que ce n'était pas clair dans la question?