Je suis nouveau à JPA et en utilisant la persistance en Java de toute façon et j'ai deux questions que je ne peux pas travailler tout à fait: je l'ai généré des tags comme:Utilisation de Java constructeurs dans des entités persistantes
@JoinColumn(name = "UserName", referencedColumnName = "UserName")
@ManyToOne(optional = false)
private User userName;
@JoinColumn(name = "DatasetNo", referencedColumnName = "DatasetNo")
@ManyToOne(optional = false)
private Dataset datasetNo;
Mais l'un des constructeurs de la classe, aucune référence n'est faite aux colonnes UserName ou DatasetNo alors que toutes les autres colonnes de la classe sont référencées dans le constructeur.
Quelqu'un peut-il me dire pourquoi? Les deux colonnes UserName et DatasetNo sont des «clés étrangères» sur l'entité Visualization qui correspond à une table de base de données du même nom. Je ne peux pas vraiment travailler sur l'ORM.
Et lors de l'utilisation des classes d'entités ou POJO, est-il préférable d'avoir des variables de classe comme:
privé userName utilisateur;
Lorsqu'une instance d'une classe est spécifiée ou simplement la clé de cette instance de classe comme:
private String userName;
Remerciements
Mr Morgan.
Merci pour les réponses. Je suis heureux de laisser les références d'objet en place, c'est-à-dire un ensemble de données Dataset privé; Mais j'utiliserai probablement les POJO plutôt que les tags JPA, même si cela signifie que je dois écrire moi-même une partie de l'ORM - j'ai déjà eu de la malchance avec JPA auparavant. C'est un petit système de quelque 20 tables de base dans tout ce que l'écriture manuscrite ORM utilisant des instructions préparées ne sera pas une tâche si onéreuse. D'autres tables système seront créées dynamiquement avec un nombre variable d'attributs, de sorte que l'utilisation de JPA pour celles-ci ne sera pas possible de toute façon. –