Je migre mon application vers Hibernate 5 depuis Hibernate 3. Nous utilisons la classe DatabaseMetadata
pour obtenir TableMetadata
. Par conséquent, en utilisant l'objet TableMetadata
pour obtenir des informations sur les colonnes de la table DB, comme la taille de la colonne, tapez..etc. Il semble que dans Hibernate 5 DatabaseMetadata
devienne obsolète (enlevé!). Y a-t-il des alternatives pour la classe DatabaseMetadata
de Hibernate 5? Ou alors comment obtenir TableMetadata
dans Hibernate 5 env?Migration vers Hibernate 5.x
Répondre
Il a été supprimé en 5.0 alors que nous adoptons une nouvelle approche de l'outillage de schéma. DatabaseMetadata représentait les informations de catalogue/schéma existantes de la base de données sous-jacente. Dans 5.0 ce rôle est servi par org.hibernate.tool.schema.extract.spi.DatabaseInformation
. Cela (et DatabaseMetadata avant cela) sont vraiment pris en charge juste pour l'utilisation dans le code de validation de schéma et de migration de schéma (mise à jour). Il est passé dans ces appels. Je suppose que vous utilisez ceci d'une manière différente. Ce n'est pas forcément supporté, mais si vous voulez continuer de toute façon, installez simplement une instance org.hibernate.tool.schema.extract.internal.DatabaseInformationImpl
.
Merci Steve Ça marche – Sydubabu
Bonjour @Sydubabu, j'essaie désespérément d'intégrer mes scripts DB dans la mise à jour du schéma d'Hibernate. Pourriez-vous donner un exemple d'utilisation de org.hibernate.tool.schema.extract.spi.DatabaseInformation? Je viens d'Hibernate 3.2.3-ga. Passer à 5.1.0-Final – prageeth
Les classes et méthodes obsolètes sont listées ici avec leurs alternatives. https://docs.jboss.org/hibernate/orm/4.3/javadocs/deprecated-list.html –
Alan, Il est supprimé de 5.x. Il est disponible en 4.x – Sydubabu