Question

i inverser la classe d'entités à moteur, mais la clé primaire est anottaed avec GeneratedValue . ma table est créée sur Oracle. dois-je ajouter sur la clé contraint primaire de table pour incrémentation automatique?

rightn OW i modifier manuellement l'entité et ajouter GeneratedValue. la recherche d'une meilleure solution. Je pense que lorsque le moteur inverse, il suppose que pour générer les anotation

Était-ce utile?

La solution

Netbeans ne fait un travail assez agréable de générer rapidement une structure squelette de vos classes d'entités d'une structure de base de données déjà en place. Cela étant dit, il faut se rappeler qu'il est toujours juste assez pour vous faire courir et il serait stupide de considérer le code de qualité de production. Vous devrez affiner davantage.

En Java ce que je trouve souvent moi-même faire est soigneusement mon modèle d'artisanat de données en utilisant toute une variété d'outils (je vais essayer d'éviter de faire ici un argumentaire de vente). Une fois que je pense qu'il est assez étoffée, je générons le DDL, jette la base de données, puis faire l'ingénierie inverse à l'aide d'un outil. Mais je toujours suite à cela en passant par le code et la correction nécessaire. A partir de ce moment je fais généralement des changements à mes entités d'abord, puis les propage manuellement des modifications équivalentes à la base de données.

Il a été un moment que je l'ai fait tout développement sérieux Java / DB simplement parce que le grand projet, je travaille sur dispose d'une équipe dédiée DB, donc il peut y avoir quelques bons outils maintenant qui peut à la fois générer votre DDL et entités une très grande précision et en synchronisation. Cependant, même si tel était le cas, je serais encore sans doute suivre la pratique ci-dessus pour tout petit au projet de taille moyenne.

Autres conseils

Je ne l'ai jamais vu un outil JPA que l'ingénierie inverse correctement une base de données Oracle. J'ai toujours dû apporter de nombreuses modifications au code inverse enginneered. En général, je l'ingénierie inverse une fois et après propageraient tous les nouveaux changements du code à la DB.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top