Entité JPA pour une table sans clé primaire
J'ai une table MySQL sans clé primaire, et j'ai à la carte dans une entité JPA. Je ne peux pas modifier la table.
Car des entités doit avoir une clé primaire, je le préciser. Si je suis certain que le terrain j'utilise comme clé primaire de l'entité (ou les champs, devrais-je opter pour l'utilisation de la clé primaire composite) sera toujours unique (et non nul) dans le tableau, le fait que la table n'a pas une clé primaire spécifié dans CREATE TABLE causer des problèmes?
source d'informationauteur tputkonen
Vous devez vous connecter pour publier un commentaire.
C'est correct. JPA a aucun moyen de savoir si la colonne(s), c'est à l'aide en tant que PK est en réalité un vrai PK dans la base de données. Si ceux de la colonne(s) sont, dans la pratique, un penalty, il devrait être bon.
Vous pouvez potentiellement obtenir certains problèmes de performances si le pseudo-PK colonnes ne sont pas correctement indexé, bien - JPA va exécuter des requêtes sur le PK sur l'hypothèse qu'il fonctionnera bien.
JPA lui-même n'a pas d'analyser votre base de données. Il suffit de ne pas utiliser les méthodes courantes à l'aide de la clé primaire (trouver/fusionner/...) au lieu d'utiliser des requêtes nommées, par exemple à l'aide de jpql mise à jour de la syntaxe.
Il n'a pas d'importance si l'identifiant de connexion est clé primaire