Puis-je fournir un algorithme pour générer des informations à partir de FK030HF9840303 par exemple?Comment pouvons-nous changer de méthode pour générer des noms PK et FK en hibernation?
Répondre
Vous devez implémenter votre propre NamingStrategy (org.hibernate.cfg.NamingStrategy). Peut-être que le sous-classement de celui que vous utilisez actuellement est le plus simple (par défaut, hibernate utilise DefaultNamingStrategy).
Configurez ensuite le sessionFactory avec votre stratégie de nommage:
SessionFactory sf = new Configuration()
.setNamingStrategy(new YourNamingStrategy())
.addFile(...)
.buildSessionFactory();
ou par injection de dépendance ressort sur l'usine de session, si vous l'utilisez:
<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
...
<property name="namingStrategy">
<ref bean="namingStrategy" />
</property>
...
aussi, si vous avez un particulier La stratégie de nommage NON PROGRAMMATIQUE que vous souhaitez utiliser peut simplement changer le mappage de clé étrangère du fichier hbm.xml. C'est un attribut de tous les ensembles pertinents, etc.
Vous ne pouvez pas remplacer quoi que ce soit avec une annotation ou une stratégie de dénomination. FK de tables jointes par exemple ne peut pas être spécifié en utilisant la stratégie de nommage et est une douleur en utilisant l'annotation.
Si vous êtes prêt à tout configurer de la même manière, vous pouvez modifier la configuration d'annotation avant d'exporter le schéma de la base de données
AnnotationConfiguration configuration = ...;
Iterator<Table> tables = configuration.getTableMappings();
...
Iterator<ForeignKey> keys = table.getForeignKeyIterator();
while (keys.hasNext()) {
ForeignKey key = keys.next();
key.setName(...);
}
...
SchemaExport schemaExport = new SchemaExport(configuration);
schemaExport.setHaltOnError(true);
schemaExport.execute(false, true, false, true);
List exceptions = schemaExport.getExceptions();
...
- 1. Hibernate. Comment pouvons-nous définir le nom de PK/FK en utilisant des annotations?
- 2. Code Premier CTP: plusieurs PK ou FK
- 3. Comment faire pour INSERT/UPDATE à Linking (Join) table qui a des FK à PK d'identité
- 4. lorsque nhibernate génère un schéma, qu'en est-il des autres index en plus de PK et FK?
- 5. Générer dynamiquement des noms de méthode dans les rails
- 6. Utilisation de l'importateur sql, comment puis-je importer des détails de schéma comme PK/FK?
- 7. Extension du fournisseur d'appartenance ASP.NET, PK == FK == OK?
- 8. Trouver un enregistrement de la table ayant PK unique et en double FK
- 9. Générer des noms uniques?
- 10. Quel est le moyen le plus rapide de convertir toutes les colonnes et relations GUID PK et FK en int?
- 11. Linq to Sql et Non-PK, problèmes de relation FK uniques
- 12. fonction pour générer des noms pour les utilisateurs non registerd
- 13. Générer des noms itérativement dans R pour stocker des graphiques
- 14. Meilleure méthode pour générer des noms de fichiers uniques lors du téléchargement de fichiers PHP
- 15. SQL dynamique pour générer des noms de colonnes?
- 16. générer des noms de variables à la volée en python
- 17. Comment mapper une "Carte" en hibernation en utilisant des annotations?
- 18. Générer dynamiquement une expression pour appeler la méthode LINQ Where
- 19. Regroupement en mode hibernation
- 20. Comment changer l'espace de noms de jQuery?
- 21. Comment annuler le mode Veille et Hibernation?
- 22. Datetime en java et mappage datetime par défaut en hibernation
- 23. génération de séquence en hibernation?
- 24. Perdu avec JPA @OneToMany et composite PK
- 25. Vaut-il mieux interroger le FK ou le PK dans une requête de jointure?
- 26. Dans Visual Studio, existe-t-il un moyen de générer automatiquement des noms de méthode uniques?
- 27. Oracle ajouter manuellement une contrainte FK
- 28. Comment générer des noms de fichiers courts pour les photos téléchargées?
- 29. Mise en veille prolongée: relations multiples FK
- 30. motif de conception en hibernation?